diff -uprN mozilla.orig/directory/java-sdk/build.properties mozilla/directory/java-sdk/build.properties
--- mozilla.orig/directory/java-sdk/build.properties	2004-12-13 16:19:25.626622784 +0100
+++ mozilla/directory/java-sdk/build.properties	2004-12-13 16:23:48.285692536 +0100
@@ -12,6 +12,6 @@
 # place the location of this file in the following line.
 # the library may be downloaded from http://www.oroinc.com
 
-#ororegexp.jar=../lib/oroinc.jar
-
+#ororegexp.jar=
+#jss.jar=
 
diff -uprN mozilla.orig/directory/java-sdk/build.xml mozilla/directory/java-sdk/build.xml
--- mozilla.orig/directory/java-sdk/build.xml	2004-12-13 16:19:25.636621264 +0100
+++ mozilla/directory/java-sdk/build.xml	2004-12-13 16:36:40.320325432 +0100
@@ -58,8 +58,7 @@
 
     <!-- the following is to setup the correct info for sun jsse which
         is jdk dependent -->
-    <property name="ssllibs14" value="${basedir}/ldapjdk/lib/jss32_stub.jar"/>
-    <property name="ssllibs13" value="${basedir}/ldapjdk/lib/jaas.jar:${basedir}/ldapjdk/lib/jnet.jar:${basedir}/ldapjdk/lib/jsse.jar:${basedir}/ldapjdk/lib/jss32_stub.jar"/>
+	<property name="ssllibs14" value="${jss.jar}"/>
 
     <!-- we do not use the users existing classpath and instead build our own
          comment the following line out if this is not desired -->
@@ -75,7 +74,7 @@
    dist-jndi    : will build only the jndi service provider (ldapsp.jar)
    dist-docs    : will package up all the documentation (ldapdoc.zip)
 
-   build        : will compile the entire sdk but not package
+   bild        : will compile the entire sdk but not package
    build-jdk    : will compile only the ldap jdk jar
    build-filter : will compile only the filter classes
    build-beans  : will compile only the ldap beans
@@ -173,15 +172,21 @@
         <!-- Compile the java jdk code from ${src} into ${dest} -->
         <javac srcdir="${basedir}/ldapjdk/com" destdir="${jdk.dist}"
             excludes="cvs/**"
-            classpath="${jsselibs}"
+	    classpath="${jsselibs}"
+	    source="1.4"
+	    target="1.4"
         />
         <javac srcdir="${basedir}/ldapjdk/netscape" destdir="${jdk.dist}"
             excludes="cvs/**"
             classpath="${jsselibs}"
+	    source="1.4"
+	    target="1.4"
         />
         <javac srcdir="${basedir}/tools" destdir="${jdk.dist}"
             excludes="cvs/**"
             classpath="${jsselibs}"
+	    source="1.4"
+	    target="1.4"
         />
       </target>
 
@@ -191,6 +196,8 @@
         <javac srcdir="${basedir}/ldapfilter" destdir="${filter.dist}"
             excludes="cvs/**"
             classpath="${jdk.dist}:${jsselibs}:${ororegexp.jar}"
+	    source="1.4"
+	    target="1.4"
         />
       </target>
 
@@ -199,6 +206,8 @@
         <javac srcdir="${basedir}/ldapbeans" destdir="${jdk.dist}"
             excludes="cvs/**"
             classpath="${jsselibs}"
+	    source="1.4"
+	    target="1.4"
         />
       </target>
 
@@ -207,6 +216,8 @@
         <javac srcdir="${basedir}/ldapsp" destdir="${jndi.dist}"
             excludes="cvs/**"
             classpath="${jsselibs}:${basedir}/ldapsp/lib/jndi.jar"
+	    source="1.4"
+	    target="1.4"
         />
       </target>
 
@@ -221,7 +232,7 @@
                  author="true"
                  version="true"
                  use="true"
-                 classpath="${basedir}/ldapjdk:${basedir}/ldapjdk/lib/jss32_stub.jar:${basedir}/ldapbeans" >
+		 classpath="${basedir}/ldapjdk:${jss.jar}:${basedir}/ldapbeans" >
         </javadoc>
 
         <javadoc packagenames="com.netscape.jndi.ldap.controls.*"
diff -uprN mozilla.orig/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPFilterDescriptor.java mozilla/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPFilterDescriptor.java
--- mozilla.orig/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPFilterDescriptor.java	2004-12-13 16:19:25.601626584 +0100
+++ mozilla/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPFilterDescriptor.java	2004-12-13 16:19:51.198735232 +0100
@@ -24,7 +24,7 @@ package netscape.ldap.util;
 import java.io.*;
 import java.util.*;
 import java.net.*;
-import com.oroinc.text.regex.*;
+import org.apache.oro.text.regex.*;
 import netscape.ldap.*;
 
 /**
diff -uprN mozilla.orig/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPIntFilterList.java mozilla/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPIntFilterList.java
--- mozilla.orig/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPIntFilterList.java	2004-12-13 16:19:25.601626584 +0100
+++ mozilla/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPIntFilterList.java	2004-12-13 16:20:23.892764984 +0100
@@ -22,7 +22,7 @@
 package netscape.ldap.util;
 
 import java.util.*;
-import com.oroinc.text.regex.*;
+import org.apache.oro.text.regex.*;
 
 /**
  *  Represents an Internal LDAPFilterList object.  This is an internal object
diff -uprN mozilla.orig/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPIntFilterSet.java mozilla/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPIntFilterSet.java
--- mozilla.orig/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPIntFilterSet.java	2004-12-13 16:19:25.601626584 +0100
+++ mozilla/directory/java-sdk/ldapfilter/netscape/ldap/util/LDAPIntFilterSet.java	2004-12-13 16:20:11.728614216 +0100
@@ -22,7 +22,7 @@
 package netscape.ldap.util;
 
 import java.util.*;
-import com.oroinc.text.regex.*;
+import org.apache.oro.text.regex.*;
 /**
  *  Represents an LDAPIntFilterSet object.  This is an internal object that
  *  should never be instantiated directly by the developer.
