2002/03/21 01:19:33
[org.ibex.core.git] / src / org / xwt / plat / GCJ.xml
diff --git a/src/org/xwt/plat/GCJ.xml b/src/org/xwt/plat/GCJ.xml
new file mode 100644 (file)
index 0000000..e1cd97d
--- /dev/null
@@ -0,0 +1,72 @@
+<!-- Copyright 2002 Adam Megacz, see the COPYING file for licensing [GPL] -->
+<!--
+
+    Subclasses of org.xwt.plat.GCJ should include a .xml file which
+    sets the following properties, then invokes <ant antfile="src/org/xwt/plat/GCJ.xml"/>
+
+        gcc-target    - the gcc target name to use (for example, i686-pc-mingw32)
+        linkflags     - extra flags to pass to gcj during the link phase, if any
+        binaryname    - the name to give to the final binary
+
+-->
+
+<project name="GCJ" default="build">
+
+    <target name="build">
+
+        <echo message='extracting .class -> .h'/>
+        <taskdef name='gcjh' classname='org.xwt.tasks.GCJHTask'>
+            <classpath path='bin/'/>                                                                               
+        </taskdef>
+        <gcjh out='bin-${plat}' classpath='bin'/>
+
+        <echo message='compiling   .java -> .o'/>
+        <apply failonerror='true' executable='${gcc-path}/bin/${gcc-target}-gcj' dest='bin-${plat}'>
+            <arg value='-fCLASSPATH=${gcc-path}/share/libgcj.jar:src/'/>
+            <arg value='-O9'/>
+            <arg value='-g'/>
+            <arg value='-Isrc/'/>
+            <arg value='-c'/>
+            <srcfile/>
+            <arg value='-o'/>
+            <targetfile/>
+            <fileset dir='src/'>
+                <include name='jazz/**/*.java'/>
+                <include name='org/xwt/*.java'/>
+                <include name='org/xwt/util/*.java'/>
+                <include name='org/xwt/plat/GCJ.java'/>
+                <include name='org/xwt/plat/${plat}.java'/>
+                <include name='org/bouncycastle/**/*.java'/>
+                <include name='org/mozilla/**/*.java'/>
+            </fileset>
+            <mapper type='glob' from='*.java' to='*.o'/>
+        </apply>
+
+        <echo message='compiling     .cc -> .o'/>
+            <apply failonerror='true' executable='${gcc-path}/bin/${gcc-target}-gcj' dest='bin-${plat}/'>
+            <arg value='-g'/>
+            <arg value='-fno-rtti'/>
+            <arg value='-Ibin-${plat}'/>
+            <arg value='-c'/>
+            <srcfile/>
+            <arg value='-o'/>
+            <targetfile/>
+            <fileset dir='src/' includes='org/xwt/plat/${plat}.cc'/>
+            <mapper type='glob' from='*.cc' to='*-nat.o'/>
+        </apply>
+                                                                              
+        <echo message='linking        .o -> ${binaryname}'/>
+        <apply failonerror='true' executable='${gcc-path}/bin/${gcc-target}-gcj' parallel='true'>
+            <fileset dir='bin-${plat}/' includes='**/*.o' excludes='*.o'/>
+            <arg value='-fCLASSPATH=${gcc-path}/share/libgcj.jar'/>
+            <arg value='--main=org.xwt.Main'/>
+            <arg line='-o www/html/dist/${binaryname}'/>
+            <srcfile/>
+            <arg line='${linkflags}'/>
+       </apply>
+
+    </target>
+
+</project>
+
+