2006-07-07 07:00:32 -04:00
<project name= "LWJGL" default= "all" basedir= "." >
2002-08-11 19:38:49 -04:00
2010-04-02 14:45:19 -04:00
<property name= "build.sysclasspath" value= "last" />
2008-04-20 14:46:34 -04:00
<import file= "platform_build/build-definitions.xml" />
<import file= "platform_build/build-generator.xml" />
<import file= "platform_build/build-applet.xml" />
<import file= "platform_build/build-webstart.xml" />
2011-01-28 16:51:29 -05:00
<import file= "platform_build/build-maven.xml" />
2011-12-06 17:42:23 -05:00
<import file= "eclipse-update/org.lwjgl.build/build-updatesite.xml" />
2004-10-17 17:16:40 -04:00
<!-- ================================================================== -->
2011-05-17 12:53:57 -04:00
<!-- Everything below this line is targets. -->
<!-- Do not modify, unless you know what you're doing -->
2004-10-17 17:16:40 -04:00
<!-- ================================================================== -->
<!-- ================================================================== -->
2011-05-17 12:53:57 -04:00
<!-- Initialize build -->
2004-10-17 17:16:40 -04:00
<!-- ================================================================== -->
2004-09-06 12:36:08 -04:00
<target name= "-initialize" >
2010-09-28 17:11:35 -04:00
<mkdir dir= "${lwjgl.bin}" taskname= "initialiazing bin folder" />
<mkdir dir= "${lwjgl.bin}/lwjgl" taskname= "initialiazing native bin folder" />
2011-05-17 12:53:57 -04:00
<mkdir dir= "${lwjgl.bin}/lwjgles" taskname= "initialiazing native OpenGL ES bin folder" />
2010-09-28 17:11:35 -04:00
<mkdir dir= "${lwjgl.lib}" taskname= "initialiazing lib folder" />
<mkdir dir= "${lwjgl.dist}" taskname= "initialiazing dist folder" />
<mkdir dir= "${lwjgl.docs}/javadoc" taskname= "initialiazing docs folder" />
<mkdir dir= "${lwjgl.res}" taskname= "initialiazing res folder" />
<mkdir dir= "${lwjgl.temp}" taskname= "initialiazing temp folder" />
<mkdir dir= "${lwjgl.temp}/jar" taskname= "initialiazing temp/jar folder" />
<mkdir dir= "${lwjgl.temp}/doc" taskname= "initialiazing temp/doc folder" />
<mkdir dir= "${lwjgl.temp}/res" taskname= "initialiazing temp/res folder" />
<mkdir dir= "${lwjgl.temp}/native" taskname= "initialiazing temp/native folder" />
<mkdir dir= "${lwjgl.temp}/native/windows" taskname= "initialiazing temp/windows folder" />
<mkdir dir= "${lwjgl.temp}/native/linux" taskname= "initialiazing temp/linux folder" />
<mkdir dir= "${lwjgl.temp}/native/macosx" taskname= "initialiazing temp/macosx folder" />
<mkdir dir= "${lwjgl.temp}/native/solaris" taskname= "initialiazing temp/solaris folder" />
2005-09-29 13:13:38 -04:00
</target>
2010-09-26 19:43:24 -04:00
2005-05-18 16:27:58 -04:00
<!-- Cleans up any files created during the execution of this script -->
2010-10-02 08:19:00 -04:00
<target name= "clean" description= "Cleans all directories controlled by this ant script" depends= "clean-java, clean-native" />
2010-09-26 19:43:24 -04:00
2010-10-02 08:19:00 -04:00
<!-- Cleans up any non - native files created during the execution of this script -->
<target name= "clean-java" description= "Cleans non-native files generated by this ant script" depends= "clean-generated" >
<delete dir= "${lwjgl.temp}" quiet= "true" failonerror= "false" taskname= "cleaning temp folder" />
<delete dir= "${lwjgl.docs}/javadoc" quiet= "true" failonerror= "false" taskname= "cleaning javadoc folder" />
<!-- Delete java classes only to avoid unnecessary native recompilation -->
<delete dir= "${lwjgl.bin}/org" quiet= "true" failonerror= "false" taskname= "cleaning bin folder" />
2010-09-28 17:11:35 -04:00
</target>
2010-10-02 08:19:00 -04:00
<!-- Useful when we need to force native recompilation -->
<target name= "clean-native" description= "Cleans native files generated by this ant script" depends= "clean-generated-native" >
2010-09-28 17:11:35 -04:00
<delete dir= "${lwjgl.bin}/lwjgl" quiet= "true" failonerror= "false" taskname= "cleaning native bin folder" />
2011-05-21 06:48:05 -04:00
<delete dir= "${lwjgl.bin}/lwjgles" quiet= "true" failonerror= "false" taskname= "cleaning native OpenGL ES bin folder" />
2010-09-28 17:11:35 -04:00
</target>
2005-05-18 16:27:58 -04:00
<!-- Creates a distribution of LWJGL -->
<target name= "release" description= "Creates a distribution of LWJGL using supplied native binaries" >
<!-- Warn user -->
2009-03-17 17:50:09 -04:00
<echo message= "Before running the release target, please manually compile all platforms and place required files in ${lwjgl.lib}/windows, ${lwjgl.lib}/linux and ${lwjgl.lib}/macosx${line.separator}Missing files will result in a successfull built, but with incomplete release zips" />
2010-09-28 17:11:35 -04:00
<input
message="All data in the ${lwjgl.dist} folder will be deleted. Continue? "
validargs="yes,no"
addproperty="do.delete"
/>
<condition property= "do.abort" >
<equals arg1= "no" arg2= "${do.delete}" />
</condition>
<fail if= "do.abort" > Build aborted by user.</fail>
<!-- prepare -->
<delete dir= "${lwjgl.dist}" quiet= "true" failonerror= "false" />
2010-10-02 08:19:00 -04:00
<antcall target= "clean-java" />
2010-09-28 17:11:35 -04:00
<antcall target= "-initialize" />
<!-- compile and create debug jars -->
<antcall target= "generate-debug" />
<antcall target= "compile" />
<antcall target= "-createdebugjars" />
2010-04-02 14:45:19 -04:00
<!-- Generator will skip all templates if we don't clean -->
2010-09-28 17:11:35 -04:00
<delete dir= "${lwjgl.bin}/org" quiet= "true" failonerror= "false" taskname= "cleaning bin folder" />
<!-- compile and create jars -->
<antcall target= "generate-all" />
<antcall target= "compile" />
<antcall target= "-createjars" />
<antcall target= "-jars_NoDEP" />
<antcall target= "javadoc" />
<antcall target= "applet-release" />
<!-- copy resources to res folder -->
<copy todir= "${lwjgl.temp}/res" >
<fileset dir= "res" />
</copy>
<!-- copy docs -->
2005-05-18 16:27:58 -04:00
<copy todir= "${lwjgl.temp}/doc" >
<fileset dir= "${lwjgl.docs}" >
<patternset refid= "lwjgl-docs.fileset" />
</fileset>
2010-09-28 17:11:35 -04:00
</copy>
2010-09-26 19:43:24 -04:00
2005-05-18 16:27:58 -04:00
<!-- create distribution from files in libs/ and temp/ -->
2004-10-17 17:16:40 -04:00
<antcall target= "-distribution_javadoc" />
2006-11-19 04:04:28 -05:00
<antcall target= "-distribution_source" />
2006-02-21 17:11:49 -05:00
<antcall target= "-distribute" />
2005-05-19 11:50:47 -04:00
</target>
2006-07-07 07:00:32 -04:00
<target name= "all" description= "Creates the Java archives and the natives for the current platform" depends= "jars, compile_native" />
2005-05-19 11:50:47 -04:00
<!-- Create ONLY the jar archives -->
2007-06-20 04:58:26 -04:00
<target name= "jars" description= "Creates the Java archives ONLY and places them in libs/" depends= "-initialize, generate-all, compile, -createjars" >
2010-04-02 14:45:19 -04:00
<antcall target= "-jars_NoDEP" />
</target>
2011-05-17 12:53:57 -04:00
<!-- Create ONLY the jar archives for the ES build -->
<target name= "jars_es" description= "Creates the Java archives ONLY for the ES build and places them in libs/"
depends="-initialize, generate-all, compile, -createjars_es">
<antcall target= "-jars_NoDEP" />
</target>
2010-04-02 14:45:19 -04:00
<target name= "-jars_NoDEP" >
2005-05-19 11:50:47 -04:00
<move todir= "libs/" >
<fileset dir= "${lwjgl.temp}/jar" >
<include name= "*.jar" />
</fileset>
</move>
</target>
2010-09-26 19:43:24 -04:00
2009-04-10 10:27:58 -04:00
<!-- Packages the java files -->
<target name= "-createdebugjars" >
<!-- Create lwjgl.jar -->
<jar destfile= "${lwjgl.temp}/jar/lwjgl-debug.jar" taskname= "lwjgl-debug.jar" >
<fileset refid= "lwjgl.fileset" />
2011-10-11 12:06:23 -04:00
<fileset refid= "lwjgl.fileset.dependencies" />
2009-04-10 10:27:58 -04:00
<manifest >
<attribute name= "Sealed" value= "true" />
</manifest>
</jar>
2009-04-09 17:18:19 -04:00
</target>
2010-09-26 19:43:24 -04:00
2005-05-18 16:27:58 -04:00
<!-- Packages the java files -->
<target name= "-createjars" >
<!-- Create lwjgl.jar -->
<jar destfile= "${lwjgl.temp}/jar/lwjgl.jar" taskname= "lwjgl.jar" >
<fileset refid= "lwjgl.fileset" />
2011-10-11 12:06:23 -04:00
<fileset refid= "lwjgl.fileset.dependencies" />
2006-07-03 07:44:34 -04:00
<manifest >
<attribute name= "Sealed" value= "true" />
</manifest>
2005-05-18 16:27:58 -04:00
</jar>
2010-09-26 19:43:24 -04:00
2006-07-03 07:30:30 -04:00
<!-- Create lwjgl_util_applet.jar -->
<jar destfile= "${lwjgl.temp}/jar/lwjgl_util_applet.jar" taskname= "lwjgl_util_applet.jar" >
2011-01-28 16:55:16 -05:00
<fileset dir= "${lwjgl.res}" includes= "applet*" />
2006-07-03 07:30:30 -04:00
<fileset refid= "lwjgl_util_applet.fileset" />
2006-07-03 07:44:34 -04:00
<manifest >
<attribute name= "Sealed" value= "true" />
</manifest>
2006-07-03 07:30:30 -04:00
</jar>
2005-05-18 16:27:58 -04:00
<!-- Create lwjgl_test.jar -->
<jar destfile= "${lwjgl.temp}/jar/lwjgl_test.jar" taskname= "lwjgl_test.jar" >
<fileset refid= "lwjgl_test.fileset" />
2006-07-03 19:26:54 -04:00
<fileset refid= "lwjgl_test_extra.fileset" />
2005-05-18 16:27:58 -04:00
</jar>
<!-- Create lwjgl_util.jar -->
<jar destfile= "${lwjgl.temp}/jar/lwjgl_util.jar" taskname= "lwjgl_util.jar" >
<fileset refid= "lwjgl_util.fileset" />
</jar>
2006-06-27 11:41:53 -04:00
</target>
2002-08-11 19:38:49 -04:00
2011-05-17 12:53:57 -04:00
<!-- Packages the java files for the ES build -->
<target name= "-createjars_es" >
2011-10-11 12:06:23 -04:00
<!-- ================================================================== -->
<!-- Generate a list of the OpenGL extension classes -->
<!-- ================================================================== -->
<fileset id= "opengl-template-fileset" dir= "${lwjgl.src}/generated" includes= "${opengl-template-pattern}" />
<property name= "opengl-template-files" refid= "opengl-template-fileset" />
<tempfile property= "temp.file" />
<echo file= "${temp.file}" message= "${opengl-template-files}" taskname= "" />
<loadfile srcfile= "${temp.file}" property= "opengl-template-classes" >
<filterchain >
<tokenfilter delimoutput= "," >
<stringtokenizer delims= ";" />
<replaceregex pattern= "org\${file.separator}lwjgl\${file.separator}opengl\${file.separator}(.+)[.]java"
replace="org/lwjgl/opengl/\1.class"/>
</tokenfilter>
</filterchain>
</loadfile>
<delete file= "${temp.file}" />
2011-05-17 12:53:57 -04:00
<!-- Create lwjgl.jar -->
<jar destfile= "${lwjgl.temp}/jar/lwjgl.jar" taskname= "lwjgl.jar" >
2011-10-11 12:06:23 -04:00
<!-- Files to include in the lwjgl.jar file, for the ES build -->
<fileset dir= "${lwjgl.bin}" excludes= "${opengl-template-classes}" >
<patternset id= "lwjgl_es.package.pattern" >
<include name= "org/**/*" />
<exclude name= "org/lwjgl/d3d/**" />
<exclude name= "org/lwjgl/test/**" />
<exclude name= "org/lwjgl/util/**" />
<exclude name= "org/lwjgl/examples/**" />
</patternset>
</fileset>
2011-05-17 12:53:57 -04:00
<manifest >
<attribute name= "Sealed" value= "true" />
</manifest>
</jar>
<!-- Create lwjgl_test.jar -->
<jar destfile= "${lwjgl.temp}/jar/lwjgl_test.jar" taskname= "lwjgl_test.jar" >
<fileset refid= "lwjgl_test_es.fileset" />
</jar>
</target>
2006-02-21 17:11:49 -05:00
<!-- Distributes files -->
<target name= "-distribute" >
2005-05-18 16:27:58 -04:00
<delete >
<fileset dir= "${lwjgl.temp}/native/" includes= "**/*" />
2010-09-26 19:43:24 -04:00
</delete>
2006-11-19 04:04:28 -05:00
2009-05-31 06:12:19 -04:00
<copy todir= "${lwjgl.temp}/jar" >
<fileset dir= "${lwjgl.lib}/" includes= "*.jar" />
</copy>
2009-03-17 17:50:09 -04:00
<copy todir= "${lwjgl.temp}/native/windows" >
<fileset dir= "${lwjgl.lib}/windows" >
<patternset refid= "lwjgl-windows.fileset" />
2005-05-18 16:27:58 -04:00
</fileset>
</copy>
2006-02-21 17:11:49 -05:00
<copy todir= "${lwjgl.temp}/native/linux" >
2005-05-18 16:27:58 -04:00
<fileset dir= "${lwjgl.lib}/linux" >
<patternset refid= "lwjgl-linux.fileset" />
</fileset>
</copy>
2006-02-21 17:11:49 -05:00
<copy todir= "${lwjgl.temp}/native/macosx" >
2005-05-18 16:27:58 -04:00
<fileset dir= "${lwjgl.lib}/macosx" >
<patternset refid= "lwjgl-macosx.fileset" />
</fileset>
</copy>
2008-09-15 14:28:47 -04:00
<copy todir= "${lwjgl.temp}/native/solaris" >
<fileset dir= "${lwjgl.lib}/solaris" >
<patternset refid= "lwjgl-solaris.fileset" />
</fileset>
2010-09-26 19:43:24 -04:00
</copy>
2006-04-30 17:15:30 -04:00
<!-- create base package -->
2006-02-21 17:11:49 -05:00
<zip destfile= "${lwjgl.dist}/lwjgl-${lwjgl.version}.zip" >
2006-04-30 17:15:30 -04:00
<zipfileset dir= "${lwjgl.temp}" prefix= "lwjgl-${lwjgl.version}/" >
<patternset refid= "lwjgl_base" />
2010-09-26 19:43:24 -04:00
</zipfileset>
2005-05-18 16:27:58 -04:00
</zip>
2010-09-26 19:43:24 -04:00
2006-11-19 04:04:28 -05:00
<!-- create applet package -->
<zip destfile= "${lwjgl.dist}/lwjgl_applet-${lwjgl.version}.zip" >
<zipfileset dir= "." prefix= "lwjgl_applet-${lwjgl.version}/" >
<patternset refid= "lwjgl_applet" />
2010-09-26 19:43:24 -04:00
</zipfileset>
2006-11-19 04:04:28 -05:00
</zip>
2005-05-18 16:27:58 -04:00
</target>
<!-- Creates a versioned distribution of javadocs -->
<target name= "-distribution_javadoc" >
<zip destfile= "${lwjgl.dist}/lwjgl-docs-${lwjgl.version}.zip" basedir= "${lwjgl.docs}" includes= "javadoc/**" />
</target>
2010-09-26 19:43:24 -04:00
2006-11-19 04:04:28 -05:00
<!-- Creates a versioned distribution of the source code -->
<target name= "-distribution_source" >
<zip destfile= "${lwjgl.dist}/lwjgl-source-${lwjgl.version}.zip" >
<fileset refid= "lwjgl.source.fileset" />
</zip>
2010-09-26 19:43:24 -04:00
</target>
2005-05-18 16:27:58 -04:00
<!-- Generates the native headers from source files -->
<target name= "headers" description= "invokes javah on java classes" depends= "compile" >
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.native}/linux" force= "yes" >
2008-04-30 10:58:47 -04:00
<class name= "org.lwjgl.LinuxSysImplementation" />
2006-10-24 05:52:12 -04:00
<class name= "org.lwjgl.opengl.LinuxEvent" />
2006-07-03 14:07:44 -04:00
<class name= "org.lwjgl.opengl.LinuxMouse" />
2006-07-03 07:30:30 -04:00
<class name= "org.lwjgl.opengl.LinuxKeyboard" />
2005-05-18 16:27:58 -04:00
<class name= "org.lwjgl.opengl.LinuxDisplay" />
<class name= "org.lwjgl.opengl.LinuxPeerInfo" />
2011-05-17 12:53:57 -04:00
</javah>
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.native}/linux/opengl" force= "yes" >
<class name= "org.lwjgl.opengl.LinuxPbufferPeerInfo" />
<class name= "org.lwjgl.opengl.LinuxDisplayPeerInfo" />
<class name= "org.lwjgl.opengl.LinuxAWTGLCanvasPeerInfo" />
<class name= "org.lwjgl.opengl.LinuxContextImplementation" />
<class name= "org.lwjgl.opengl.LinuxCanvasImplementation" />
2005-05-18 16:27:58 -04:00
</javah>
2010-09-28 17:11:35 -04:00
2006-07-12 14:09:11 -04:00
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.native}/windows" force= "yes" >
2011-05-17 12:53:57 -04:00
<class name= "org.lwjgl.WindowsSysImplementation" />
2006-06-26 09:50:48 -04:00
<class name= "org.lwjgl.opengl.WindowsKeyboard" />
2006-07-12 14:32:58 -04:00
<class name= "org.lwjgl.opengl.WindowsRegistry" />
2011-05-17 12:53:57 -04:00
<class name= "org.lwjgl.opengl.WindowsDisplay" />
<class name= "org.lwjgl.opengl.WindowsDisplayPeerInfo" />
<class name= "org.lwjgl.opengl.WindowsAWTGLCanvasPeerInfo" />
</javah>
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.native}/windows/opengl" force= "yes" >
<class name= "org.lwjgl.opengl.WindowsPbufferPeerInfo" />
<class name= "org.lwjgl.opengl.WindowsPeerInfo" />
<class name= "org.lwjgl.opengl.WindowsContextImplementation" />
</javah>
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.native}/windows/opengles" force= "yes" >
<class name= "org.lwjgl.opengl.WindowsPeerInfo" />
2005-05-18 16:27:58 -04:00
</javah>
2010-09-28 17:11:35 -04:00
2005-05-18 16:27:58 -04:00
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.native}/macosx" force= "yes" >
2008-04-30 10:58:47 -04:00
<class name= "org.lwjgl.MacOSXSysImplementation" />
2006-10-26 16:49:07 -04:00
<class name= "org.lwjgl.opengl.MacOSXMouseEventQueue" />
2005-05-18 16:27:58 -04:00
<class name= "org.lwjgl.opengl.MacOSXCanvasPeerInfo" />
<class name= "org.lwjgl.opengl.MacOSXPeerInfo" />
<class name= "org.lwjgl.opengl.MacOSXPbufferPeerInfo" />
<class name= "org.lwjgl.opengl.MacOSXDisplay" />
<class name= "org.lwjgl.opengl.MacOSXContextImplementation" />
</javah>
2010-09-28 17:11:35 -04:00
2005-05-18 16:27:58 -04:00
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.headers}" force= "yes" >
<class name= "org.lwjgl.opengl.AWTSurfaceLock" />
<class name= "org.lwjgl.DefaultSysImplementation" />
<class name= "org.lwjgl.input.Cursor" />
<class name= "org.lwjgl.input.Keyboard" />
<class name= "org.lwjgl.input.Mouse" />
<class name= "org.lwjgl.openal.AL" />
2011-05-17 12:53:57 -04:00
<class name= "org.lwjgl.opencl.CL" />
2010-09-26 19:43:24 -04:00
<class name= "org.lwjgl.opencl.CallbackUtil" />
2011-05-17 12:53:57 -04:00
<class name= "org.lwjgl.BufferUtils" />
</javah>
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.headers}/opengl" force= "yes" >
<class name= "org.lwjgl.opengl.GLContext" />
<class name= "org.lwjgl.opengl.Pbuffer" />
<class name= "org.lwjgl.opengl.CallbackUtil" />
2011-05-21 06:48:05 -04:00
<class name= "org.lwjgl.opengl.NVPresentVideoUtil" />
<class name= "org.lwjgl.opengl.NVVideoCaptureUtil" />
2011-05-17 12:53:57 -04:00
</javah>
<javah classpath= "${lwjgl.bin}" destdir= "${lwjgl.src.headers}/opengles" force= "yes" >
<class name= "org.lwjgl.opengles.EGL" />
<class name= "org.lwjgl.opengles.EGLKHRFenceSync" />
<class name= "org.lwjgl.opengles.EGLKHRReusableSync" />
<class name= "org.lwjgl.opengles.EGLNVSync" />
<class name= "org.lwjgl.opengles.GLContext" />
2005-05-18 16:27:58 -04:00
</javah>
2003-11-13 18:16:58 -05:00
</target>
2010-09-26 19:43:24 -04:00
2010-04-12 15:04:27 -04:00
<target name= "touch-version" >
<touch file= "${lwjgl.src.native}/windows/org_lwjgl_opengl_Display.c" />
<touch file= "${lwjgl.src.native}/linux/org_lwjgl_opengl_Display.c" />
<touch file= "${lwjgl.src.native}/macosx/org_lwjgl_opengl_Display.m" />
</target>
2010-09-26 19:43:24 -04:00
2010-04-11 04:27:41 -04:00
<target name= "version-mismatch" >
<loadfile srcfile= "${lwjgl.src}/java/org/lwjgl/WindowsSysImplementation.java" property= "lwjgl.java.windows.version" >
<filterchain >
<tokenfilter >
<containsstring contains= "JNI_VERSION =" />
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile= "${lwjgl.src}/java/org/lwjgl/LinuxSysImplementation.java" property= "lwjgl.java.linux.version" >
<filterchain >
<tokenfilter >
<containsstring contains= "JNI_VERSION =" />
</tokenfilter>
</filterchain>
2010-09-26 19:43:24 -04:00
</loadfile>
2010-04-11 04:27:41 -04:00
<loadfile srcfile= "${lwjgl.src}/java/org/lwjgl/MacOSXSysImplementation.java" property= "lwjgl.java.macosx.version" >
<filterchain >
<tokenfilter >
<containsstring contains= "JNI_VERSION =" />
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile= "${lwjgl.src.native}/windows/org_lwjgl_WindowsSysImplementation.h" property= "lwjgl.native.windows.version" >
<filterchain >
<tokenfilter >
<containsstring contains= "#define org_lwjgl_WindowsSysImplementation_JNI_VERSION" />
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile= "${lwjgl.src.native}/linux/org_lwjgl_LinuxSysImplementation.h" property= "lwjgl.native.linux.version" >
<filterchain >
<tokenfilter >
<containsstring contains= "#define org_lwjgl_LinuxSysImplementation_JNI_VERSION" />
</tokenfilter>
</filterchain>
2010-09-26 19:43:24 -04:00
</loadfile>
2010-04-11 04:27:41 -04:00
<loadfile srcfile= "${lwjgl.src.native}/macosx/org_lwjgl_MacOSXSysImplementation.h" property= "lwjgl.native.macosx.version" >
<filterchain >
<tokenfilter >
<containsstring contains= "#define org_lwjgl_MacOSXSysImplementation_JNI_VERSION" />
</tokenfilter>
</filterchain>
</loadfile>
<echo >
lwjgl.java.windows.version = ${lwjgl.java.windows.version}
2010-09-26 19:43:24 -04:00
lwjgl.native.windows.version = ${lwjgl.native.windows.version}
2010-04-11 04:27:41 -04:00
lwjgl.java.linux.version = ${lwjgl.java.linux.version}
2010-09-26 19:43:24 -04:00
lwjgl.native.linux.version = ${lwjgl.native.linux.version}
2010-04-11 04:27:41 -04:00
lwjgl.java.macosx.version = ${lwjgl.java.macosx.version}
2010-09-26 19:43:24 -04:00
lwjgl.native.macosx.version = ${lwjgl.native.macosx.version}
2010-04-11 04:27:41 -04:00
</echo>
</target>
2010-09-26 19:43:24 -04:00
2010-04-12 19:22:08 -04:00
<macrodef name= "version-check" >
<attribute name= "platform" />
<sequential >
<java classname= "org.lwjgl.test.NativeTest" logError= "false" resultproperty= "nativetest.res" outputproperty= "nativetest.out" errorproperty= "nativetest.err" fork= "true" >
<jvmarg value= "-Djava.library.path=libs/@{platform}" />
2010-10-02 08:19:00 -04:00
<jvmarg value= "-Dorg.lwjgl.util.Debug=true" />
2010-04-12 19:22:08 -04:00
<classpath >
<pathelement path= "${lwjgl.bin}" />
<pathelement path= "${java.class.path}" />
</classpath>
</java>
2010-09-26 19:43:24 -04:00
2010-04-12 19:22:08 -04:00
<fail message= "Unable to load native library: ${nativetest.err}" >
<condition >
<not >
<equals arg1= "OK" arg2= "${nativetest.out}" />
</not>
</condition>
</fail>
2010-09-26 19:43:24 -04:00
2010-04-12 19:22:08 -04:00
<echo message= "Successfully executed NativeTest" />
</sequential>
</macrodef>
2010-09-26 19:43:24 -04:00
2005-02-15 06:05:36 -05:00
<!-- Compiles the Java source code -->
2008-04-20 14:46:34 -04:00
<target name= "compile" description= "Compiles the java source code" depends= "-initialize" >
2011-07-21 22:01:56 -04:00
<javac debug= "yes" destdir= "${lwjgl.bin}" source= "1.5" target= "1.5" classpath= "${lwjgl.lib}/jinput.jar:${lwjgl.lib}/AppleJavaExtensions.jar:${lwjgl.lib}/asm-debug-all.jar" taskname= "core" >
2010-09-28 17:11:35 -04:00
<!-- <compilerarg value=" - Xlint:unchecked"/> -->
2008-04-20 14:46:34 -04:00
<src path= "${lwjgl.src}/java/" />
<src path= "${lwjgl.src}/generated/" />
<include name= "org/lwjgl/*.java" />
<include name= "org/lwjgl/input/**" />
<include name= "org/lwjgl/opengl/**" />
2011-05-17 12:53:57 -04:00
<include name= "org/lwjgl/opengles/**" />
2008-04-20 14:46:34 -04:00
<include name= "org/lwjgl/openal/**" />
2010-09-26 19:43:24 -04:00
<include name= "org/lwjgl/opencl/**" />
2008-04-20 14:46:34 -04:00
<include name= "org/lwjgl/util/**" />
<exclude name= "org/lwjgl/util/generator/**" />
2005-02-15 06:05:36 -05:00
</javac>
2010-09-26 19:43:24 -04:00
<javac debug= "yes" srcdir= "${lwjgl.src}/java/" destdir= "${lwjgl.bin}" includes= "org/lwjgl/test/**" source= "1.5" target= "1.5" taskname= "test" />
<javac debug= "yes" srcdir= "${lwjgl.src}/java/" destdir= "${lwjgl.bin}" includes= "org/lwjgl/examples/**" source= "1.5" target= "1.5" taskname= "examples" />
</target>
2010-10-02 08:19:00 -04:00
<target name= "compile_native" depends= "-initialize, headers, touch-version, version-mismatch" description= "Compiles the native files" >
2004-10-17 17:16:40 -04:00
<condition property= "lwjgl.platform.windows" >
<os family= "windows" />
</condition>
<antcall target= "-compile_native_win32" />
<condition property= "lwjgl.platform.linux" >
2009-04-08 17:53:59 -04:00
<os name= "Linux" />
2004-10-17 17:16:40 -04:00
</condition>
<antcall target= "-compile_native_linux" />
2009-04-08 17:53:59 -04:00
<condition property= "lwjgl.platform.solaris" >
<os name= "SunOS" />
</condition>
<antcall target= "-compile_native_solaris" />
2006-07-07 08:41:36 -04:00
<condition property= "lwjgl.platform.macosx" >
2004-10-17 17:16:40 -04:00
<os name= "Mac OS X" />
</condition>
2006-07-07 08:41:36 -04:00
<antcall target= "-compile_native_macosx" />
2010-09-26 19:43:24 -04:00
</target>
2006-07-07 07:00:32 -04:00
2003-11-13 18:16:58 -05:00
<!-- Compiles LWJGL on Win32 platforms -->
2004-09-06 12:36:08 -04:00
<target name= "-compile_native_win32" if= "lwjgl.platform.windows" >
2006-07-08 13:20:18 -04:00
<ant antfile= "platform_build/windows_ant/build.xml" inheritAll= "false" />
2009-04-08 16:18:29 -04:00
<copy todir= "${lwjgl.lib}/windows" >
<fileset dir= "${lwjgl.bin}/lwjgl" includes= "lwjgl*.dll" />
</copy>
2010-04-12 19:22:08 -04:00
<version-check platform= "windows" />
2006-07-08 13:20:18 -04:00
</target>
2004-09-06 12:36:08 -04:00
<!-- Compiles LWJGL on Linux platforms -->
<target name= "-compile_native_linux" if= "lwjgl.platform.linux" >
2006-07-07 07:00:32 -04:00
<ant antfile= "platform_build/linux_ant/build.xml" inheritAll= "false" />
2006-07-11 16:49:28 -04:00
<copy todir= "${lwjgl.lib}/linux" >
2006-07-11 17:43:43 -04:00
<fileset dir= "${lwjgl.bin}/lwjgl" includes= "liblwjgl*.so" />
2006-07-11 16:49:28 -04:00
</copy>
2010-04-13 16:25:29 -04:00
<!-- headless issues <version - check platform="linux"/> -->
2006-07-07 07:00:32 -04:00
</target>
2005-05-18 16:27:58 -04:00
2009-04-08 17:53:59 -04:00
<!-- Compiles LWJGL on solaris platforms -->
<target name= "-compile_native_solaris" if= "lwjgl.platform.solaris" >
<!-- Reusing the linux ant task, but copy the output to solaris -->
<ant antfile= "platform_build/linux_ant/build.xml" inheritAll= "false" />
<copy todir= "${lwjgl.lib}/solaris" >
<fileset dir= "${lwjgl.bin}/lwjgl" includes= "liblwjgl*.so" />
</copy>
2010-04-12 19:22:08 -04:00
<version-check platform= "solaris" />
2009-04-08 17:53:59 -04:00
</target>
2008-04-20 14:46:34 -04:00
<!-- Compiles LWJGL on Mac platforms -->
2006-07-07 08:41:36 -04:00
<target name= "-compile_native_macosx" if= "lwjgl.platform.macosx" >
<ant antfile= "platform_build/macosx_ant/build.xml" inheritAll= "false" />
2006-08-01 10:10:17 -04:00
<copy file= "${lwjgl.bin}/lwjgl/liblwjgl.jnilib" todir= "${lwjgl.lib}/macosx" />
2010-04-12 19:22:08 -04:00
<version-check platform= "macosx" />
2006-07-07 08:41:36 -04:00
</target>
2010-09-26 19:43:24 -04:00
2011-05-17 12:53:57 -04:00
<target name= "compile_native_es" depends= "-initialize, headers, touch-version, version-mismatch" description= "Compiles the native files" >
<condition property= "lwjgl.platform.windows" >
<os family= "windows" />
</condition>
<antcall target= "-compile_native_win32_es" />
<condition property= "lwjgl.platform.linux" >
<os name= "Linux" />
</condition>
<antcall target= "-compile_native_linux_es" />
</target>
<!-- Compiles LWJGL ES on Win32 platforms -->
<target name= "-compile_native_win32_es" if= "lwjgl.platform.windows" >
<ant antfile= "platform_build/windows_ant/build_es.xml" inheritAll= "false" />
<copy todir= "${lwjgl.lib}/windows" >
<fileset dir= "${lwjgl.bin}/lwjgles" includes= "lwjgl*.dll" />
</copy>
</target>
<!-- Compiles LWJGL ES on Linux platforms -->
<target name= "-compile_native_linux_es" if= "lwjgl.platform.linux" >
<ant antfile= "platform_build/linux_ant/build_es.xml" inheritAll= "false" />
<copy todir= "${lwjgl.lib}/linux" >
<fileset dir= "${lwjgl.bin}/lwjgles" includes= "liblwjgl*.so" />
</copy>
</target>
2008-04-20 14:46:34 -04:00
<target name= "repack200" description= "Pack200-repack a jar file" >
<pack200 src= "${input}" destfile= "${output}" repack= "true" />
</target>
2006-07-07 08:41:36 -04:00
2008-04-20 14:46:34 -04:00
<target name= "pack200" description= "Pack200 a jar file" >
<pack200 src= "${input}" destfile= "${output}" />
2006-11-09 16:41:58 -05:00
</target>
2008-04-20 14:46:34 -04:00
<target name= "lzma" description= "LZMA compress a file" >
<java fork= "true" classname= "SevenZip.LzmaAlone" >
<classpath >
<pathelement location= "platform_build/JLzma.jar" />
</classpath>
<jvmarg value= "-Xmx512m" />
<arg value= "e" />
<arg value= "${input}" />
<arg value= "${output}" />
</java>
2008-04-20 16:02:02 -04:00
</target>
2010-09-26 19:43:24 -04:00
2008-04-20 16:02:02 -04:00
<target name= "compress-sign-class" >
<antcall target= "repack200" >
<param name= "input" value= "${dir}${jarfile}.jar" />
<param name= "output" value= "${dir}${jarfile}-repack.jar" />
</antcall>
<signjar jar= "${dir}${jarfile}-repack.jar" alias= "${alias}" keystore= "${keystore}" storepass= "${password}" />
<antcall target= "pack200" >
<param name= "input" value= "${dir}${jarfile}-repack.jar" />
<param name= "output" value= "${dir}${jarfile}.jar.pack" />
</antcall>
<antcall target= "lzma" >
<param name= "input" value= "${dir}${jarfile}.jar.pack" />
2010-08-28 12:39:16 -04:00
<param name= "output" value= "${outputdir}${jarfile}.jar.pack.lzma" />
2008-04-20 16:02:02 -04:00
</antcall>
2010-08-28 12:39:16 -04:00
<!-- delete file="${dir}${jarfile} - repack.jar"/ -->
2008-04-20 16:02:02 -04:00
<delete file= "${dir}${jarfile}.jar.pack" />
2010-08-28 12:39:16 -04:00
<!-- delete file="${dir}${jarfile}.jar"/ -->
<rename src= "${dir}${jarfile}-repack.jar" dest= "${dir}${jarfile}.jar" replace= "yes" />
2008-04-20 16:02:02 -04:00
</target>
2010-09-26 19:43:24 -04:00
2008-04-20 16:02:02 -04:00
<target name= "compress-resource" >
<antcall target= "lzma" >
<param name= "input" value= "${input}" />
<param name= "output" value= "${output}" />
</antcall>
</target>
2010-09-26 19:43:24 -04:00
2008-04-20 14:46:34 -04:00
<target name= "applettest" depends= "applet" >
<exec executable= "appletviewer" >
<arg value= "-J-Djava.security.policy=applet/appletviewer.policy" />
<arg path= "applet/applet.html" />
</exec>
2005-05-19 18:30:35 -04:00
</target>
2008-04-20 14:46:34 -04:00
<target name= "runtest" depends= "all" >
<fail message= "test.mainclass is not set. Use 'ant -Dtest.mainclass=<main-class> runtest'" unless= "test.mainclass" />
2009-03-17 17:50:09 -04:00
<condition property= "native_path" value= "libs/windows" >
2008-04-20 14:46:34 -04:00
<os family= "windows" />
</condition>
<condition property= "native_path" value= "libs/linux" >
2008-08-12 14:03:10 -04:00
<or >
<os name= "Linux" />
<os name= "SunOS" />
</or>
2008-04-20 14:46:34 -04:00
</condition>
<condition property= "native_path" value= "libs/macosx" >
<os name= "Mac OS X" />
</condition>
<property name= "native_path_expanded" location= "${native_path}" />
<java classname= "${test.mainclass}" classpath= "res:${lwjgl.lib}/lwjgl.jar:${lwjgl.lib}/lwjgl_util.jar:${lwjgl.lib}/lwjgl_test.jar:${lwjgl.lib}/jinput.jar" fork= "true" >
<sysproperty key= "org.lwjgl.util.Debug" value= "true" />
<sysproperty key= "java.library.path" value= "${native_path_expanded}" />
2009-08-12 09:06:11 -04:00
<arg line= "${args}" />
2008-04-20 14:46:34 -04:00
</java>
2010-09-26 19:43:24 -04:00
</target>
2008-04-20 14:46:34 -04:00
<!-- Creates the Javadoc -->
<target name= "javadoc" description= "Creates javadoc from java source code" >
2010-09-28 17:11:35 -04:00
<javadoc destdir= "${lwjgl.docs}/javadoc" classpath= "${lwjgl.lib}/jinput.jar" author= "true" version= "true" use= "true" source= "1.5" windowtitle= "LWJGL API" useexternalfile= "true" >
2008-04-20 14:46:34 -04:00
<fileset refid= "lwjgl.javadoc.fileset" />
<doctitle > <![CDATA[<h1>Lightweight Java Game Toolkit</h1>]]> </doctitle>
2009-03-17 17:50:09 -04:00
<bottom > <![CDATA[<i>Copyright © 2002-2009 lwjgl.org. All Rights Reserved.</i>]]> </bottom>
2008-04-20 14:46:34 -04:00
</javadoc>
</target>
2011-10-15 17:13:58 -04:00
<!-- get and copy nightly binaries into libs folder -->
<target name= "copy-nightly-binaries" depends= "-initialize" description= "Copies latest successful nightly binaries into appropriate libs folder" >
<delete file= "${lwjgl.temp}/lwjgl-${lwjgl.version}.zip" failonerror= "false" />
<get src= "http://www.newdawnsoftware.com/jenkins/view/LWJGL/job/LWJGL/lastSuccessfulBuild/artifact/dist/lwjgl-${lwjgl.version}.zip" dest= "${lwjgl.temp}" verbose= "true" />
<unzip src= "${lwjgl.temp}/lwjgl-${lwjgl.version}.zip" dest= "${lwjgl.lib}" overwrite= "true" >
<patternset >
<include name= "**/native/**/*lwjgl*" />
</patternset>
<globmapper from= "lwjgl-${lwjgl.version}/native/*" to= "*" />
</unzip>
</target>
2003-12-15 07:18:15 -05:00
</project>