blob: 5da7d15181d6a0fe632c2cadede80f533263052c [file] [log] [blame]
<?xml version="1.0" ?>
<!-- EXPERIMENTAL - JUST AN EXAMPLE ON HOW TO USE GCJ TASK -->
<!-- MAY REQUIRE SMALL/TRIVIAL MODIFICATION IN SOURCES -->
<!-- REQUIRES GCJ FROM CVS - 3.0.1 DOESN'T WORK -->
<project name="tomcat_gcj" default="main" basedir=".">
<description>Native build for tomcat</description>
<property file="${user.home}/.ant.properties" />
<property file="${user.home}/build.properties" />
<property file="build.properties" />
<property name="LIB" value="/opt/java" />
<property name="tomcat.src" value="/ws/33" />
<property name="ant.src" value="/ws/jakarta/jakarta-ant" />
<property name="crimson.src" value="/ws/jakarta/xml-crimson" />
<property name="xmlcommons.src" value="/ws/jakarta/xml-commons" />
<property name="servletapi.src" value="/ws/jakarta/jakarta-servletapi" />
<path id="jkant" >
<pathelement location="build/jkant.jar"/>
</path>
<property name="native.dir" location="." />
<property name="so.debug" value="true" />
<property name="so.optimize" value="true" />
<property name="so.profile" value="false" />
<!-- ==================== Targets ==================== -->
<target name="main" depends="all">
</target>
<target name="init" >
<taskdef resource="META-INF/ant.tasks"
classpathref="jkant" />
<mkdir dir="build"/>
<mkdir dir="build/obj"/>
</target>
<target name="all" depends="init,org-apache-crimson,javax-servlet,javax-xml,org-apache-tomcat,examples,link" />
<target name="link" >
<exec dir="build/obj" executable="gcj">
<arg value="--main=org.apache.tomcat.startup.EmbededTomcat"/>
<arg value="-Dtomcat.home=."/>
<arg value="-Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl" />
<arg value="-g"/>
<arg value="-o"/>
<arg value="tomcat"/>
<arg value="lib-org-apache-tomcat.so"/>
<arg value="lib-javax-servlet.so"/>
<arg value="lib-org-apache-crimson.so"/>
<arg value="lib-javax-xml.so"/>
<arg value="lib-examples.so"/>
</exec>
</target>
<target name="org-apache-tomcat" depends="init">
<property name="build.compiler.cc" value="gcj" />
<so sofile="lib-org-apache-tomcat"
buildDir="build/obj"
optimize="${so.optimize}"
debug="${so.debug}"
profile="${so.profile}"
taskDebug="0"
>
<src dir="${tomcat.src}/src/share">
<include name="**/*.java" />
<include name="**/*.properties" />
<include name="**/*.dtd" />
<exclude name="org/apache/tomcat/util/compat/JSSECertCompat.java" />
<exclude name="org/apache/tomcat/util/net/SSLSocketFactory.java" />
<exclude name="org/apache/tomcat/util/test/**/*.java" />
<exclude name="org/apache/tomcat/modules/server/JNI*.java" />
<exclude name="org/apache/jasper/**/*.java" />
<exclude name="org/apache/jasper/compiler/CommandLineCompiler.java" />
<exclude name="org/apache/jasper/compiler/SunJavaCompiler.java" />
</src>
<src dir="${tomcat.src}/src/facade22">
<include name="**/*.java" />
<exclude name="org/apache/tomcat/facade/JspInterceptor.java" />
<exclude name="org/apache/tomcat/facade/TagPoolManagerInterceptor.java" />
</src>
<includes>
<include name="${LIB}/crimson-1.1.3/crimson.jar" />
<include name="${tomcat.src}/src/share" />
<include name="${tomcat.src}/src/facade22" />
<include name="${LIB}/jakarta-servletapi-22/lib/servlet.jar" />
</includes>
</so>
</target>
<target name="ant" depends="init">
<property name="build.compiler.cc" value="gcj" />
<so sofile="lib-org-apache-tools-ant"
buildDir="build/obj"
optimize="${so.optimize}"
debug="${so.debug}"
profile="${so.profile}"
taskDebug="0"
>
<src dir="${ant.src}/src/main">
<include name="**/*.java" />
<include name="**/*.properties" />
<include name="**/*.txt" />
<include name="**/*.dtd" />
<exclude name="org/apache/tools/ant/taskdefs/optional/**" />
<exclude name="org/apache/tools/ant/types/optional/**" />
<exclude name="org/apache/tools/ant/util/depend/**" />
<exclude name="org/apache/tools/ant/util/regexp/JakartaOroMatcher.java" />
<exclude name="org/apache/tools/ant/util/regexp/JakartaRegexpMatcher.java" />
<exclude name="org/apache/tools/ant/util/regexp/Jdk14RegexpMatcher.java" />
<exclude name="org/apache/tools/ant/util/regexp/Jdk14RegexpRegexp.java" />
<exclude name="org/apache/tools/ant/util/regexp/JakartaOroRegexp.java" />
<exclude name="org/apache/tools/ant/util/regexp/JakartaRegexpRegexp.java" />
<exclude name="org/apache/tools/ant/listener/Log4jListener.java" />
</src>
<includes>
<include name="${LIB}/crimson-1.1.3/crimson.jar" />
<include name="${ant.src}/src/main" />
</includes>
</so>
<exec dir="build/obj" executable="gcj">
<arg value="--main=org.apache.tools.ant.Main"/>
<arg value="-Dant.home=."/>
<arg value="-Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl" />
<arg value="-g"/>
<arg value="-o"/>
<arg value="ant"/>
<arg value="lib-org-apache-tools-ant.so"/>
<arg value="lib-org-apache-crimson.so"/>
<arg value="lib-javax-xml.so"/>
</exec>
</target>
<target name="examples" depends="init">
<property name="build.compiler.cc" value="gcj" />
<so sofile="lib-examples"
buildDir="build/obj"
optimize="${so.optimize}"
debug="${so.debug}"
profile="${so.profile}"
taskDebug="0"
>
<src dir="${tomcat.src}/build/tomcat/webapps/examples/WEB-INF/classes">
<include name="**/*.java" />
</src>
<includes>
<include name="${LIB}/crimson-1.1.3/crimson.jar" />
<include name="${tomcat.src}/src/share" />
<include name="${tomcat.src}/src/facade22" />
<include name="${tomcat.src}/build/tomcat/webapps/examples/WEB-INF/classes" />
<include name="${LIB}/jakarta-servletapi-22/lib/servlet.jar" />
</includes>
</so>
</target>
<target name="javax-servlet" depends="init">
<property name="build.compiler.cc" value="gcj" />
<so sofile="lib-javax-servlet"
buildDir="build/obj"
optimize="${so.optimize}"
debug="${so.debug}"
profile="${so.profile}"
taskDebug="0"
>
<src dir="${servletapi.src}/src/share">
<include name="**/*.java" />
<include name="**/*.properties" />
</src>
<includes>
<include name="${servletapi.src}/src/share" />
</includes>
</so>
</target>
<target name="org-apache-crimson" depends="init">
<property name="build.compiler.cc" value="gcj" />
<so sofile="lib-org-apache-crimson"
buildDir="build/obj"
optimize="${so.optimize}"
debug="${so.debug}"
profile="${so.profile}"
taskDebug="0"
>
<src dir="${crimson.src}/src">
<include name="**/*.java" />
<include name="**/*.properties" />
<include name="META-INF/**" />
<exclude name="org/w3c/**" />
<exclude name="org/xml/**" />
</src>
<includes>
<include name="${crimson.src}/src" />
<include name="${xmlcommons.src}/java/external/src" />
</includes>
</so>
</target>
<target name="javax-xml" depends="init">
<property name="build.compiler.cc" value="gcj" />
<so sofile="lib-javax-xml"
buildDir="build/obj"
optimize="${so.optimize}"
debug="${so.debug}"
profile="${so.profile}"
taskDebug="0"
>
<src dir="${xmlcommons.src}/java/external/src">
<include name="javax/xml/**/*.java" />
<include name="**/*.properties" />
<exclude name="org/**" />
</src>
<includes>
<include name="${crimson.src}/src" />
<include name="${xmlcommons.src}/java/external/src" />
</includes>
</so>
</target>
<target name="clean" >
<delete >
<fileset dir=".">
<include name="**/*.o"/>
<include name="**/*.so"/>
<include name="**/*.lo"/>
<include name="**/*.la"/>
<include name="**/.libs"/>
<include name="**/*.nlm"/>
<include name="**/*.map"/>
<include name="**/*.sym"/>
</fileset>
</delete>
</target>
</project>