costin 02/05/22 16:40:02
Modified: jk/native2 build.xml
Log:
Added IIS to the build targets ( if detected ). We'll look for MSVC, as the
required headers are included - you don't need IIS to compile the DLL ( and
I think it'll work with the personal web server as well, probably any ISAPI
server with a bit more work ).
Added detection for solaris and hpux.
Few more tweaks.
As soon as I have some time I'll integrate the ant types that are used
in the cc-tasks ( that would be a good first step into merging, if we
use the same DTD that's already a big step forward ). This will allow
us to specify the includes, flags, etc only once.
I got it to compile on a Windows, I still have few problems with solaris
and HPUX. More targets are wellcomed - also someone should test on netware.
After we merge the syntax with cc-tasks ( on sourceforge/ant-contrib ) we
might be able to support all the compilers they support and more
environments.
Revision Changes Path
1.28 +47 -113 jakarta-tomcat-connectors/jk/native2/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/build.xml,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- build.xml 22 May 2002 21:26:22 -0000 1.27
+++ build.xml 22 May 2002 23:40:02 -0000 1.28
@@ -63,58 +63,60 @@
<!-- ==================== Targets ==================== -->
- <target name="main" depends="init,apache20,apache13,jni">
+ <target name="main" depends="init,apache20,apache13,jni,iis">
</target>
<target name="all" depends="jkant,init,apache20,apache13,jni">
</target>
<target name="guess.env" >
- <echo message="build.properties ${os.arch}.${os.name}" />
<taskdef resource="META-INF/ant.tasks"
classpathref="jkant" />
- <available property="HAS_APR" file="${apr.include}/apr.h" />
+ <echo message="build.properties ${os.arch}.${os.name}" />
+
+ <!-- What servers do we have ? -->
<available property="apache13.detect"
file="${apache13.home}/bin/htpasswd" />
<available property="apache2.detect"
file="${apache2.home}" />
<available property="iis.detect"
- file="${iis.home}" />
+ file="${mssdk.home}" />
<available property="iplanet.detect"
file="${iplanet.home}" />
+ <echo message="Apache2 ${apache2.home} ${apache2.detect}" />
+ <echo message="Apache13 ${apache13.home} ${apache13.detect}" />
+ <echo message="IIS ${iis.home} ${iis.detect}" />
+ <echo message="Iplanet ${iplanet.home} ${iplanet.detect}" />
+ <echo message="" />
+ <!-- What OS ( it'll determine the includes ) -->
<condition property="linux">
<equals arg1="${os.name}" arg2="Linux"/>
</condition>
+ <condition property="solaris">
+ <equals arg1="${os.name}" arg2="SunOS"/>
+ </condition>
<condition property="win32">
<os family="windows"/>
</condition>
<condition property="hpux">
- <equals arg1="${os.name}" arg2="???"/>
+ <equals arg1="${os.name}" arg2="HP-UX"/>
</condition>
- <condition property="solaris">
- <equals arg1="${os.name}" arg2="???"/>
- </condition>
-
<!-- I believe they are using cross-compilation, so checking the os.name
doesn't help. We'll check if the NDK is installed instead -->
<condition property="netware">
<available file="novellndk.home" />
</condition>
- <echo message="Apache2 ${apache2.home} ${apache2.detect}" />
- <echo message="Apache13 ${apache13.home} ${apache13.detect}" />
- <echo message="IIS ${iis.home} ${iis.detect}" />
- <echo message="Iplanet ${iplanet.home} ${iplanet.detect}" />
- <echo message="" />
- <echo message="Linux:${linux} Win32:${win32} Netware:${netware}" />
+ <echo message="Linux:${linux} Win32:${win32} Netware:${netware}
Solaris:${solaris} HPUX:${hpux}" />
</target>
<target name="init.win32" if="win32" >
<property name="build.compiler.base" location="${mssdk.home}" />
<property name="build.compiler.cc" location="${mssdk.home}/bin/cl" />
<property name="build.compiler.ld" location="${mssdk.home}/bin/link" />
+ <echo message="MSDEV compiler: ${mssdk.home}" />
</target>
<target name="init.netware" if="netware" >
@@ -122,6 +124,8 @@
<property name="build.compiler.cc"
location="${build.compiler.base}/bin/mwccnlm" />
<property name="build.compiler.ld"
location="${build.compiler.base}/bin/mwldnlm" />
<property name="novelllibc.dir" location="${novellndk.home}/libc" />
+ <echo message="MWCC compiler: ${mw.home}" />
+ <echo message="NDK: ${novellndk.home}" />
</target>
<target name="init" depends="guess.env,init.win32,init.netware" >
@@ -171,6 +175,7 @@
<include name="${java.home}/../include/linux" if="linux" />
<include name="${java.home}/../include/hp-ux" if="hpux" />
<include name="${java.home}/../include/win32" if="win32" />
+ <include name="${java.home}/../include/solaris" if="solaris" />
<include name=""${mssdk.home}/include"" if="win32"/>
</includes>
<depends>
@@ -180,16 +185,18 @@
<import fileName="libhttpd.lib" if="win32" />
<import fileName="libapr.lib" if="win32" />
<import fileName="libaprutil.lib" if="win32" />
- <!-- import fileName="wsock32.lib" if="win32" />
- <import fileName="kernel32.lib" if="win32" />
+ <import fileName="advapi32.lib" if="win32" />
+ <import fileName="wsock32.lib" if="win32" />
+ <!-- <import fileName="kernel32.lib" if="win32" />
<import fileName="user32.lib" if="win32" />
<import fileName="gdi32.lib" if="win32" />
<import fileName="winspool.lib" if="win32" />
<import fileName="comdlg32.lib" if="win32" /-->
- <linkOpt value="/libpath:"${build.compiler.base}/lib"" if="win32" />
<linkOpt value="/libpath:"${apr.lib}"" if="win32" />
<linkOpt value="/libpath:"${apr-util.lib}"" if="win32" />
- <linkOpt value="/libpath:"${apache2.lib}"" if="win32" />
+ <linkOpt value="/libpath:"${apache2.home}/lib"" if="win32" />
+ <linkOpt value="/libpath:"${mssdk.home}/lib"" if="win32" />
+ <linkOpt value="/libpath:"${mssdk.home}/../Common/MSDev98/bin""
if="win32" />
</so>
</target>
@@ -223,6 +230,7 @@
<include name="${java.home}/../include/netware" if="netware" />
<include name="${java.home}/../include/win32" if="win32" />
+ <include name="${java.home}/../include/solaris" if="solaris" />
<include name="${java.home}/../include/linux" if="linux" />
</includes>
<depends>
@@ -267,7 +275,16 @@
<def name="_MBCS" if="win32" />
<def name="_USRDLL" if="win32" />
<def name="JNI_CONNECT_EXPORTS" if="win32" />
- <linkOpt value="/libpath:"${build.compiler.base}/lib"" if="win32" />
+ <import fileName="libhttpd.lib" if="win32" />
+ <import fileName="libapr.lib" if="win32" />
+ <import fileName="libaprutil.lib" if="win32" />
+ <import fileName="advapi32.lib" if="win32" />
+ <import fileName="wsock32.lib" if="win32" />
+ <linkOpt value="/libpath:"${apr.lib}"" if="win32" />
+ <linkOpt value="/libpath:"${apr-util.lib}"" if="win32" />
+ <linkOpt value="/libpath:"${apache2.home}/lib"" if="win32" />
+ <linkOpt value="/libpath:"${mssdk.home}/lib"" if="win32" />
+ <linkOpt value="/libpath:"${mssdk.home}/../Common/MSDev98/bin""
if="win32" />
</so>
</target>
@@ -307,6 +324,7 @@
<include name="${apache13.home}/os/win32" if="win32" />
<include name="${java.home}/../include/win32" if="win32" />
<include name="${native.dir}/common" if="win32" />
+ <include name="${java.home}/../include/solaris" if="solaris" />
<include name="${java.home}/../include/hp-ux" if="hpux" />
<include name="${java.home}/../include/linux" if="linux" />
</includes>
@@ -372,14 +390,13 @@
<src dir=".">
<include name="server/isapi/*.c" />
<include name="common/*.c" />
- <exclude name="common/jk_channel_apr_socket.c"/>
- <exclude name="common/jk_pool_apr.c"/>
<exclude name="jk_nwmain.c" unless="netware" />
<include name="jni/*.c" />
<exclude name="jk_apr.c" unless="netware" />
</src>
<includes>
<include name="${java.home}/../include" />
+ <include name="${apr.include}/../include" />
<include name="${native.dir}/include" />
<include name="${java.home}/../include/win32" />
<include name="${native.dir}/common" />
@@ -400,107 +417,24 @@
<def name="_MBCS" />
<def name="_USRDLL" />
<def name="ISAPI_EXPORTS" />
+ <def name="HAS_APR" />
+ <def name="HAVE_JNI"
+ info="Jni worker" />
+ <def name="MOD_JK2_EXPORTS" if="win32" />
+
<import fileName="advapi32.lib" />
<import fileName="wsock32.lib" />
+ <import fileName="libapr.lib" if="win32" />
+ <import fileName="libaprutil.lib" if="win32" />
<export symbol="HttpFilterProc"/>
<export symbol="GetFilterVersion"/>
<export symbol="GetExtensionVersion"/>
<export symbol="HttpExtensionProc"/>
<export symbol="TerminateFilter"/>
<export symbol="TerminateExtension"/>
- <!--linkOpt value="/libpath:"${build.compiler.base}/lib""
if="win32" /-->
<linkOpt value="/libpath:"${mssdk.home}/lib"" if="win32" />
<linkOpt value="/libpath:"${mssdk.home}/../Common/MSDev98/bin""
if="win32" />
- </so>
- </target>
-
- <target name="netscape" depends="init" if="iplanet.detect">
- <available property="unix" file="/etc/passwd" />
-
- <mkdir dir="netscape/obj" />
- <so sofile="nsapi_redirector"
- buildDir="netscape/obj"
- optimize="${so.optimize}"
- debug="${so.debug}"
- profile="${so.profile}">
-
- <src dir=".">
- <include name="netscape/jk_nsapi_plugin.c" />
- <include name="common/*.c" />
- <exclude name="jk_nwmain.c" unless="netware" />
- <include name="common/apr/*.c" unless="HAVE_APR" />
- <include name="jni/*.c" />
- </src>
- <includes>
- <include name="${native.dir}/common" />
- <include name="${build.compiler.base}/include" />
- <include name="${native.dir}/include" />
- <include name="${netscape.home}/include" />
- <include name="${java.home}/../include" />
-
- <!-- Platform specific includes -->
-
- <include name="${novellndk.home}/include/nlm" if="netware" />
- <include name="${novellndk.home}/include" if="netware" />
- <include name="${java.home}/../include/netware" if="netware" />
-
- <include name="${apache13.home}/os/win32" if="win32" />
- <include name="${java.home}/../include/win32" if="win32" />
- <include name="${java.home}/../include/linux" if="linux" />
- <include name="${native.dir}/common" if="win32" />
- </includes>
- <depends>
- <fileset dir="${native.dir}/common" includes="*.h" />
- </depends>
-
- <!-- Platform-specific tags -->
- <altSoFile value="nsapi_rd" if="netware" />
-
- <def name="N_PLAT_NLM" if="netware"
- info="Building for NetWare platform" />
- <def name="NETWARE" if="netware"
- info="Building for NetWare platform" />
- <def name="XP_NETWARE" if="netware"
- info="Building for NetWare platform" />
- <def name="USE_SPRINTF" if="netware"
- info="Use the sprintf function to build strings" />
-
- <def name="WIN32" if="win32" />
- <def name="NDEBUG" if="win32.release" />
- <def name="_DEBUG" if="win32.debug" />
- <def name="_WINDOWS" if="win32" />
- <def name="_MBCS" if="win32" />
- <def name="_USRDLL" if="win32" />
- <def name="XP_WIN32" if="win32" />
- <def name="NSAPI_EXPORTS" if="win32" />
-
- <def name="XP_UNIX" if="unix"
- info="Unix platform - needed for nsapi.h" />
-
- <nlmmodule value="nshttpd" if="netware" />
- <import fileName="${novellndk.home}/imports/clib.imp" if="netware" />
- <import fileName="${novellndk.home}/imports/lib0.imp" if="netware" />
- <import fileName="${novellndk.home}/imports/nlmlib.imp" if="netware" />
- <import fileName="${novellndk.home}/imports/threads.imp" if="netware" />
- <import fileName="${novellndk.home}/imports/socklib.imp" if="netware" />
- <import fileName="${netscape.home}/imports/nsapi.imp" if="netware" />
- <export symbol="jk_init" if="netware" />
- <export symbol="jk_service" if="netware" />
- <linkOpt value="-desc "Netscape Plugin for Tomcat"" if="netware" />
- <linkOpt value="-screenname "System Console"" if="netware" />
- <linkOpt value="-nlmversion 1,20,2" if="netware" />
- <linkOpt value="-threadname "NSTomcat Thread"" if="netware" />
- <linkOpt value="-stacksize 64000" if="netware" />
-
- <import fileName="ns-httpd36.lib" if="win32" />
- <import fileName="wsock32.lib" if="win32" />
- <import fileName="kernel32.lib" if="win32" />
- <import fileName="user32.lib" if="win32" />
- <import fileName="gdi32.lib" if="win32" />
- <import fileName="winspool.lib" if="win32" />
- <import fileName="comdlg32.lib" if="win32" />
- <linkOpt value="/libpath:"${build.compiler.base}/lib"" if="win32" />
- <linkOpt value="/libpath:"${netscape.home}/lib"" if="win32" />
+ <linkOpt value="/libpath:"${apr.lib}"" if="win32" />
</so>
</target>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>