Index: libjdic-java-0.9.5/packager/build.xml
===================================================================
--- libjdic-java-0.9.5.orig/packager/build.xml	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/packager/build.xml	2008-07-11 17:58:47.000000000 +0530
@@ -43,7 +43,7 @@
 
   <!-- <property name="dist.dir" value="dist" /> -->
 
-  <property name="jar.file" value="packager.jar" />
+  <property name="jar.file" value="jdic.jar" />
 
   <!-- the distribution version and release of this build -->
   <!-- which is only used in javadoc target -->
Index: libjdic-java-0.9.5/jdic/src/unix/native/jni/WebBrowserUtil.cpp
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/native/jni/WebBrowserUtil.cpp	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/native/jni/WebBrowserUtil.cpp	2008-07-11 17:58:47.000000000 +0530
@@ -23,6 +23,7 @@
 #include <X11/Xlib.h>
 #include "WebBrowserUtil.h"
 #include <stdlib.h>
+#include <string.h>
 #include <limits.h>
 
 #include <sys/stat.h>
Index: libjdic-java-0.9.5/jdic/src/unix/native/mozilla/Makefile
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/native/mozilla/Makefile	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/native/mozilla/Makefile	2008-07-11 17:58:47.000000000 +0530
@@ -47,8 +47,8 @@
 # For Gecko SDK 1.6 or ealier, enable USING_GECKO_SDK_1_4. Or else, enable 
 # USING_GECKO_SDK_1_7.
 #
-USING_GECKO_SDK_1_4 = 1
-#USING_GECKO_SDK_1_7 = 1
+#USING_GECKO_SDK_1_4 = 1
+USING_GECKO_SDK_1_7 = 1
 
 # set gtk version
 #
@@ -106,7 +106,7 @@
 
 # link against the version of gtkembedmoz included with a
 # mozilla distribution
-LIBS = -L$(MOZILLA_DIST) -lgtkembedmoz
+LIBS = -L$(GECKO_SDK)/lib -lxul -lplds4 -lplc4 -lnspr4 -lpthread -ldl
 
 # libembedstring.a from the 1.4.2 gecko sdk requires __ctype_tolower,
 # but for some reason that isn't available from the version of glibc
@@ -118,16 +118,16 @@
 endif
 
 ifdef MOZ_ENABLE_GTK
-CPPFLAGS += -DMOZ_WIDGET_GTK
+CPPFLAGS += -DMOZ_WIDGET_GTK -DXPCOM_GLUE_USE_NSPR
 LIBS += -lgtksuperwin
-LIBS_PROG += -L$(MOZILLA_DIST) -lgtkembedmoz -lxpcom -lgtksuperwin
+LIBS_PROG += -L$(GECKO_SDK)/lib -lxul -lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lgtksuperwin
 endif
 
 ifdef MOZ_ENABLE_GTK2
-CPPFLAGS += -DMOZ_WIDGET_GTK2
+CPPFLAGS += -DMOZ_WIDGET_GTK2 -DXPCOM_GLUE_USE_NSPR
 # XXX need to get these from pkg-config perhaps?
 LIBS += $(XLDFLAGS) $(XLIBS)
-LIBS_PROG += -L$(MOZILLA_DIST) -lgtkembedmoz -lxpcom
+LIBS_PROG += -L$(GECKO_SDK)/lib -lxul -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lxpcom
 endif
 
 CPPFLAGS += \
@@ -153,7 +153,7 @@
 	$(NULL)
 LIBS += \
 	-L$(GECKO_SDK)/embedstring/bin -lembedstring \
-	-L$(GECKO_SDK)/xpcom/bin -lxpcomglue_s -lxpcom \
+	-L$(GECKO_SDK)/xpcom/bin -lxpcomglue \
 	-L$(GECKO_SDK)/nspr/bin -lnspr4 -lplds4 -lplc4 \
 	$(NULL)
 endif
@@ -164,7 +164,7 @@
 	-I$(GECKO_SDK)/include \
 	$(NULL)
 LIBS += \
-	-L$(GECKO_SDK)/lib -lxpcomglue_s \
+	-L$(GECKO_SDK)/lib -lxpcomglue \
 	-L$(GECKO_SDK)/bin -lxpcom -lnspr4 -lplds4 -lplc4 \
 	$(NULL)
 endif
Index: libjdic-java-0.9.5/jdic/src/unix/native/mozilla/MozEmbed.cpp
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/native/mozilla/MozEmbed.cpp	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/native/mozilla/MozEmbed.cpp	2008-07-11 17:58:47.000000000 +0530
@@ -43,6 +43,7 @@
 
 // These are included from the Gecko SDK
 #include "prenv.h"
+#include "prlock.h"
 #include "prthread.h"
 #include "nsXPCOM.h"
 #include "nsEmbedString.h"
Index: libjdic-java-0.9.5/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeTrayIconService.java
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeTrayIconService.java	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/classes/org/jdesktop/jdic/tray/internal/impl/GnomeTrayIconService.java	2008-07-11 17:58:47.000000000 +0530
@@ -66,7 +66,8 @@
         
         initListeners();
         
-        popupMenuParent = new JDialog(frame, "JDIC Tray Icon");
+	//popupMenuParent = new JDialog(frame, "JDIC Tray Icon");
+	popupMenuParent = new JDialog();
         popupMenuParent.setUndecorated(true);
     }
 
Index: libjdic-java-0.9.5/jdic/build.xml
===================================================================
--- libjdic-java-0.9.5.orig/jdic/build.xml	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/build.xml	2008-07-11 17:58:47.000000000 +0530
@@ -282,6 +282,11 @@
   <!-- *** Build Unix jar file *** -->
   <target name="buildunixjar" depends="init"
           description="build the classes and jar file." >
+
+    <!-- Copy NativeExtractor file -->
+    <copy file="src/share_applet/classes/org/jdesktop/jdic/init/NativeExtractor.java"
+	  todir="src/share/classes/org/jdesktop/jdic/init/" />
+
     <javac debug="${toDebug}" srcdir="${share.classes.dir}:${unix.classes.dir}"
            destdir="${dist.dir}"
            classpath="${dist.dir}"
@@ -289,6 +294,12 @@
            source="1.4"
     />
 
+    <!-- remove NativeExtractor classes -->
+    <delete failonerror="false">
+      <fileset dir="${dist.dir}" includes="org/**/NativeExtractor*.class"/>
+    </delete>
+
+
     <jar destfile="${dist.dir}/${jar.file}" update="false">
          <fileset dir="${dist.dir}" includes="org/**/*.class"/>
          <fileset dir="${unix.classes.dir}" includes="org/**/*.png" />
@@ -301,8 +312,8 @@
 
     <!-- !!! As an additional operation, copy defmailer.properties file
          defining the default mailer location to the same location !!! -->
-    <copy file="${unix.classes.defmailer.dir}/defmailer.properties"
-          todir="${dist.dir}" />
+<!--     <copy file="${unix.classes.defmailer.dir}/defmailer.properties" -->
+<!--           todir="${dist.dir}" /> -->
   </target>
 
   <!-- *** Build BSD native JNI code *** -->
Index: libjdic-java-0.9.5/jdic/src/share/native/mozilla/nsIProfileInternal.h
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/share/native/mozilla/nsIProfileInternal.h	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/share/native/mozilla/nsIProfileInternal.h	2008-07-11 17:58:47.000000000 +0530
@@ -34,7 +34,7 @@
 class NS_NO_VTABLE nsIProfileInternal : public nsIProfile {
  public: 
 
-  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IPROFILEINTERNAL_IID)
+  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPROFILEINTERNAL_IID)
 
   /**
      * Starts up the profile manager
@@ -168,6 +168,8 @@
 
 };
 
+  NS_DEFINE_STATIC_IID_ACCESSOR(nsIProfileInternal, NS_IPROFILEINTERNAL_IID)
+
 /* Use this macro when declaring classes that implement this interface. */
 #define NS_DECL_NSIPROFILEINTERNAL \
   NS_IMETHOD StartupWithArgs(nsICmdLineService *cmdLine, PRBool canInteract); \
Index: libjdic-java-0.9.5/jdic/src/share/native/mozilla/nsIProfileInternalOld.h
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/share/native/mozilla/nsIProfileInternalOld.h	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/share/native/mozilla/nsIProfileInternalOld.h	2008-07-11 17:58:47.000000000 +0530
@@ -49,7 +49,7 @@
 class NS_NO_VTABLE nsIProfileInternalOld : public nsIProfile {
  public: 
 
-  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IPROFILEINTERNAL_IID)
+  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPROFILEINTERNAL_IID)
 
   /**
      * Starts up the profile manager
@@ -180,6 +180,8 @@
 
 };
 
+  NS_DEFINE_STATIC_IID_ACCESSOR(nsIProfileInternalOld, NS_IPROFILEINTERNAL_IID)
+
 /* Use this macro when declaring classes that implement this interface. */
 #define NS_DECL_NSIPROFILEINTERNAL \
   NS_IMETHOD StartupWithArgs(nsICmdLineService *cmdLine, PRBool canInteract); \
Index: libjdic-java-0.9.5/jdic/src/share/native/mozilla/nsIProxiedProtocolHandler.h
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/share/native/mozilla/nsIProxiedProtocolHandler.h	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/share/native/mozilla/nsIProxiedProtocolHandler.h	2008-07-11 17:58:47.000000000 +0530
@@ -31,7 +31,7 @@
 class NS_NO_VTABLE nsIProxiedProtocolHandler : public nsIProtocolHandler {
  public: 
 
-  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IPROXIEDPROTOCOLHANDLER_IID)
+  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPROXIEDPROTOCOLHANDLER_IID)
 
   /** Create a new channel with the given proxyInfo
      *
@@ -41,6 +41,8 @@
 
 };
 
+  NS_DEFINE_STATIC_IID_ACCESSOR(nsIProxiedProtocolHandler, NS_IPROXIEDPROTOCOLHANDLER_IID)
+
 /* Use this macro when declaring classes that implement this interface. */
 #define NS_DECL_NSIPROXIEDPROTOCOLHANDLER \
   NS_IMETHOD NewProxiedChannel(nsIURI *uri, nsIProxyInfo *proxyInfo, nsIChannel **_retval); 
Index: libjdic-java-0.9.5/jdic/src/share/native/mozilla/nsIHttpProtocolHandler.h
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/share/native/mozilla/nsIHttpProtocolHandler.h	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/share/native/mozilla/nsIHttpProtocolHandler.h	2008-07-11 17:58:47.000000000 +0530
@@ -25,7 +25,7 @@
 class NS_NO_VTABLE nsIHttpProtocolHandler : public nsIProxiedProtocolHandler {
  public: 
 
-  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IHTTPPROTOCOLHANDLER_IID)
+  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IHTTPPROTOCOLHANDLER_IID)
 
   /**
      * Get the HTTP advertised user agent string.
@@ -126,6 +126,8 @@
 
 };
 
+  NS_DEFINE_STATIC_IID_ACCESSOR(nsIHttpProtocolHandler, NS_IHTTPPROTOCOLHANDLER_IID)
+
 /* Use this macro when declaring classes that implement this interface. */
 #define NS_DECL_NSIHTTPPROTOCOLHANDLER \
   NS_IMETHOD GetUserAgent(nsACString & aUserAgent); \
Index: libjdic-java-0.9.5/jdic/src/unix/native/mozilla/nsIStringStream.h
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/native/mozilla/nsIStringStream.h	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/native/mozilla/nsIStringStream.h	2008-07-11 17:58:47.000000000 +0530
@@ -31,7 +31,7 @@
 class NS_NO_VTABLE nsIStringInputStream : public nsIInputStream {
  public: 
 
-  NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISTRINGINPUTSTREAM_IID)
+  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISTRINGINPUTSTREAM_IID)
 
   /**
      * SetData - assign data to the input stream (copied on assignment).
@@ -73,6 +73,8 @@
 
 };
 
+  NS_DEFINE_STATIC_IID_ACCESSOR(nsIStringInputStream, NS_ISTRINGINPUTSTREAM_IID)
+
 /* Use this macro when declaring classes that implement this interface. */
 #define NS_DECL_NSISTRINGINPUTSTREAM \
   NS_IMETHOD SetData(const char *data, PRInt32 dataLen); \
Index: libjdic-java-0.9.5/jdic/src/unix/native/mozilla/nsIWebNavigation.h
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/native/mozilla/nsIWebNavigation.h	2008-07-11 17:47:47.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/native/mozilla/nsIWebNavigation.h	2008-07-11 17:58:47.000000000 +0530
@@ -35,7 +35,7 @@
 class NS_NO_VTABLE nsIWebNavigation : public nsISupports {
  public: 
 
-  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IWEBNAVIGATION_IID)
+  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IWEBNAVIGATION_IID)
 
   /**
   * Indicates if the object can go back.  If true this indicates that
@@ -211,6 +211,8 @@
 
 };
 
+  NS_DEFINE_STATIC_IID_ACCESSOR(nsIWebNavigation, NS_IWEBNAVIGATION_IID)
+
 /* Use this macro when declaring classes that implement this interface. */
 #define NS_DECL_NSIWEBNAVIGATION \
   NS_IMETHOD GetCanGoBack(PRBool *aCanGoBack); \
Index: libjdic-java-0.9.5/jdic/src/unix/native/jni/Makefile
===================================================================
--- libjdic-java-0.9.5.orig/jdic/src/unix/native/jni/Makefile	2008-07-11 17:58:56.000000000 +0530
+++ libjdic-java-0.9.5/jdic/src/unix/native/jni/Makefile	2008-07-11 17:59:46.000000000 +0530
@@ -31,20 +31,20 @@
   PLATFORM = solaris
   CXX = CC
   CC = cc  
-  CXXFLAGS = -c
+  CXXFLAGS = -c -fPIC
   LDFLAGS = -G -ldl -lrt -lpthread
   X11LIB=/usr/openwin/lib
 else 
   ifeq ($(UNAME), Linux)
     PLATFORM = linux
     CXX = g++
-    CXXFLAGS = -c
+    CXXFLAGS = -c -fPIC
     LDFLAGS = -shared -fPIC -ldl -lrt -lpthread
   endif
   ifeq ($(UNAME), FreeBSD)
     PLATFORM = freebsd
     CXX = g++
-    CXXFLAGS = -c -I/usr/local/include -I/usr/X11R6/include
+    CXXFLAGS = -c -fPIC -I/usr/local/include -I/usr/X11R6/include
     LDFLAGS = -shared -fPIC -L/usr/local/lib -L/usr/X11R6/lib
   endif
   CC = gcc
