Index: build.xml
===================================================================
RCS file: /home/cvspublic/logging-log4j/build.xml,v
retrieving revision 1.92
diff -u -r1.92 build.xml
--- build.xml	2 Feb 2004 06:12:43 -0000	1.92
+++ build.xml	1 Mar 2004 17:18:36 -0000
@@ -73,6 +73,8 @@
   <!-- Directory for temporary files. -->
   <property name="dist.tmp" value="dist/tmp"/>
 
+  <!-- Directory where java is installed. -->
+  <property name="java.home" value="/usr/local/java"/>
 
   <!-- Construct compile classpath -->
   <path id="compile.classpath">
@@ -216,6 +218,77 @@
   </target>
 
  <!-- ================================================= -->
+ <!--           Compile JNI Syslog code                 -->
+ <!-- ================================================= -->
+  <target name="build.jnisyslog.header" description="Build the JNI header file for the JniSyslogAppender"
+          depends="init, build">
+	 
+	  <javah outputFile="${java.source.dir}/${stem}/jnisyslog/log4jSyslog.h"
+	         classpath="${javac.dest}"
+	         verbose="yes" 
+		 force="yes">
+	         <class name="org.apache.log4j.jnisyslog.JniSyslogAppender"/>
+	  </javah>	        
+  </target>
+
+  <target name="check.os">
+    <condition property="thisIsSolaris">
+     <and>
+       <equals arg1="${os.name}" arg2="SunOS"/>
+       <equals arg1="${os.arch}" arg2="sparc"/>
+     </and>  
+    </condition>
+
+    <condition property="thisIsLinux">
+     <and>
+       <equals arg1="${os.name}" arg2="Linux"/>
+       <equals arg1="${os.arch}" arg2="i386"/>
+     </and>  
+    </condition> 
+  </target>
+
+
+  <target name="build.jnisyslog.linux.c" description="Build the JNI C code for the JniSyslogAppender on Linux"
+          depends="init,build,build.jnisyslog.header,check.os" if="thisIsLinux">
+	
+	 <exec dir="${java.source.dir}/${stem}/jnisyslog"
+	       executable="gcc">
+	       <arg line="-g -D_REENTRANT -D_GNU_SOURCE -I${java.home}/include -I${java.home}/include/linux -c -o shared.o log4jSyslog.c"/>
+	 </exec>
+
+	  <exec dir="${java.source.dir}/${stem}/jnisyslog"
+		executable="gcc">
+		<arg line="-shared -o libLog4jSyslog.so shared.o"/>
+	  </exec>
+	  
+	  <move file="${java.source.dir}/${stem}/jnisyslog/libLog4jSyslog.so" todir="${javac.dest}/${stem}/jnisyslog"/>
+	  <delete file="${java.source.dir}/${stem}/jnisyslog/shared.o"/>         
+  </target>
+
+  <target name="build.jnisyslog.solaris.c" description="Build the JNI C code for the JniSyslogAppender on Solaris"
+          depends="init,build,build.jnisyslog.header,check.os" if="thisIsSolaris">
+	
+	 <exec dir="${java.source.dir}/${stem}/jnisyslog"
+	       executable="gcc">
+	       <arg line="-G -I${java.home}/include -I${java.home}/include/solaris -o ${javac.dest}/${stem}/jnisyslog/libLog4jSyslog.so log4jSyslog.c"/>
+	 </exec>
+  </target>  
+
+  <target name="test.jnisyslog" description="Test the JniSyslogAppender" depends="init,build,build.jnisyslog.header,check.os,build.jnisyslog.solaris.c">
+       <java classname="org.apache.log4j.jnisyslog.test.Tester"
+             fork="yes" >
+	     <arg value="${java.source.dir}/${stem}/jnisyslog/test/test.lcf"/>
+	     <classpath>
+	          <pathelement path="${javac.dest}"/>
+	     </classpath>
+             <jvmarg value="-Djava.library.path=${javac.dest}/${stem}/jnisyslog"/>
+
+       </java>	     
+  </target>
+  <!-- End JNI Syslog build -->
+  
+    
+ <!-- ================================================= -->
  <!--           Compile LF5 classes                     -->
  <!-- ================================================= -->
  <target name="build.lf5" depends="build.core">
@@ -588,6 +661,7 @@
        org.apache.log4j.nt,
        org.apache.log4j.or,
        org.apache.log4j.jdbc,
+       org.apache.log4j.jnisyslog,
        org.apache.log4j.or.sax,
        org.apache.log4j.or.jms,
        org.apache.log4j.pattern,
