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]>