Deduplicate generator build scripts

This commit is contained in:
Michael Pfaff 2022-03-29 09:48:40 -04:00
parent 68e2ca0b76
commit 80ff887638
Signed by: michael
GPG Key ID: F1A27427218FCA77
1 changed files with 78 additions and 206 deletions

View File

@ -2,50 +2,23 @@
<import file="build-definitions.xml"/>
<!-- Compiles the Java generator source code -->
<target name="generators" description="Compiles the native method generators">
<mkdir dir="${lwjgl.target.gen.java}/"/>
<mkdir dir="${lwjgl.target.gen.native}/openal"/>
<mkdir dir="${lwjgl.target.gen.native}/opengl"/>
<mkdir dir="${lwjgl.target.gen.native}/opengles"/>
<mkdir dir="${lwjgl.target.gen.native}/opencl"/>
<mkdir dir="${lwjgl.target.gen.classes}"/>
<target name="-generate-common" description="Performs up for the generators and compiles common classes for the templates.">
<condition property="javac.args.debug" value="-Ageneratechecks" else="">
<istrue value="${enable_debug}"/>
</condition>
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" includes="org/lwjgl/util/generator/**.java" taskname="generator">
<include name="org/lwjgl/util/generator/openal/**.java"/>
<include name="org/lwjgl/util/generator/opengl/**.java"/>
<include name="org/lwjgl/util/generator/opengles/**.java"/>
<include name="org/lwjgl/util/generator/opencl/**.java"/>
<compilerarg value="-Xlint:none"/>
</javac>
<mkdir dir="${lwjgl.target.gen.java}/"/>
<mkdir dir="${lwjgl.target.gen.classes}"/>
<!-- Compile helper classes used by the templates -->
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" taskname="generator">
<include name="org/lwjgl/PointerWrapper.java"/>
<include name="org/lwjgl/PointerBuffer.java"/>
<!-- OpenGL -->
<include name="org/lwjgl/opengl/GLSync.java"/>
<include name="org/lwjgl/opengl/AMDDebugOutputCallback.java"/>
<include name="org/lwjgl/opengl/ARBDebugOutputCallback.java"/>
<include name="org/lwjgl/opengl/KHRDebugCallback.java"/>
<!-- OpenGL ES -->
<include name="org/lwjgl/opengles/EGLImageOES.java"/>
<include name="org/lwjgl/opengles/KHRDebugCallback.java"/>
<!-- OpenCL -->
<include name="org/lwjgl/opencl/CLPlatform.java"/>
<include name="org/lwjgl/opencl/CLDevice.java"/>
<include name="org/lwjgl/opencl/CLContext.java"/>
<include name="org/lwjgl/opencl/CLCommandQueue.java"/>
<include name="org/lwjgl/opencl/CLMem.java"/>
<include name="org/lwjgl/opencl/CL*Callback.java"/>
<include name="org/lwjgl/opencl/CLNativeKernel.java"/>
<include name="org/lwjgl/opencl/CLFunctionAddress.java"/>
</javac>
</target>
<!-- Proxy target to generate it all -->
<target name="generate-all" depends="generate-openal, generate-opengl, generate-opengl-capabilities, generate-opengl-references, generate-opengles, generate-opengles-capabilities, generate-opencl, generate-opencl-capabilities" description="Generates java and native source"/>
<target name="generate-debug" depends="generate-openal-debug, generate-opengl-debug, generate-opengl-capabilities-debug, generate-opengl-references, generate-opengles-debug, generate-opengles-capabilities-debug, generate-opencl-debug, generate-opencl-capabilities-debug" description="Generates java and native source with debug functionality"/>
<target name="generate-all" depends="generate-openal, generate-opengl, generate-opengles, generate-opencl" description="Generates java and native source"/>
<!-- ********************************************************************************
*********************************************************************************
@ -54,7 +27,14 @@
**************************************************************************** -->
<!-- Generate OpenAL -->
<target name="generate-openal" depends="generators" description="Generates java and native source for AL">
<target name="generate-openal" depends="-generate-common" description="Generates java and native source for AL">
<mkdir dir="${lwjgl.target.gen.native}/openal"/>
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" includes="org/lwjgl/util/generator/**.java" taskname="generator">
<include name="org/lwjgl/util/generator/openal/**.java"/>
<compilerarg value="-Xlint:none"/>
</javac>
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.al}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
@ -67,6 +47,7 @@
<compilerarg path="${lwjgl.target.gen.native}/openal"/>
<compilerarg value="-Abinpath=${lwjgl.target.gen.classes}"/>
<compilerarg value="-Atypemap=org.lwjgl.util.generator.openal.ALTypeMap"/>
<compilerarg value="${javac.args.debug}"/>
<src>
<fileset dir="${lwjgl.src.templates.al}">
<include name="${openal-template-pattern}"/>
@ -75,29 +56,6 @@
</javac>
</target>
<!-- Generate OpenAL [DEBUG] -->
<target name="generate-openal-debug" depends="generators" description="Generates java and native source for AL">
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.al}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
<compilerarg value="org.lwjgl.util.generator.GeneratorProcessor"/>
<compilerarg value="-cp"/>
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="-d"/>
<compilerarg path="${lwjgl.target.gen.native}/openal"/>
<compilerarg value="-Abinpath=${lwjgl.target.gen.classes}"/>
<compilerarg value="-Atypemap=org.lwjgl.util.generator.openal.ALTypeMap"/>
<compilerarg value="-Ageneratechecks"/>
<src>
<fileset dir="${lwjgl.src.templates.al}">
<include name="${openal-template-pattern}"/>
</fileset>
</src>
</javac>
</target>
<!-- ********************************************************************************
*********************************************************************************
OPENGL
@ -105,7 +63,22 @@
**************************************************************************** -->
<!-- Generate OpenGL -->
<target name="generate-opengl" depends="generators" description="Generates java and native source for GL">
<target name="generate-opengl" depends="-generate-common, -compile-opencl-helpers" description="Generates java and native source for GL">
<mkdir dir="${lwjgl.target.gen.native}/opengl"/>
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" includes="org/lwjgl/util/generator/**.java" taskname="generator">
<include name="org/lwjgl/util/generator/opengl/**.java"/>
<compilerarg value="-Xlint:none"/>
</javac>
<!-- Compile helper classes used by the templates -->
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" taskname="generator">
<include name="org/lwjgl/opengl/GLSync.java"/>
<include name="org/lwjgl/opengl/AMDDebugOutputCallback.java"/>
<include name="org/lwjgl/opengl/ARBDebugOutputCallback.java"/>
<include name="org/lwjgl/opengl/KHRDebugCallback.java"/>
</javac>
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gl}" fork="true" taskname="processorGL">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
@ -117,6 +90,7 @@
<compilerarg value="-d"/>
<compilerarg path="${lwjgl.target.gen.native}/opengl"/>
<compilerarg value="-Abinpath=${lwjgl.target.gen.classes}"/>
<compilerarg value="${javac.args.debug}"/>
<compilerarg value="-Atypemap=org.lwjgl.util.generator.opengl.GLTypeMap"/>
<compilerarg value="-Acontextspecific"/>
<src>
@ -125,34 +99,8 @@
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenGL [DEBUG] -->
<target name="generate-opengl-debug" depends="generators" description="Generates debug java and native source for GL">
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gl}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
<compilerarg value="org.lwjgl.util.generator.GeneratorProcessor"/>
<compilerarg value="-cp"/>
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="-d"/>
<compilerarg path="${lwjgl.target.gen.native}/opengl"/>
<compilerarg value="-Abinpath=${lwjgl.target.gen.classes}"/>
<compilerarg value="-Ageneratechecks"/>
<compilerarg value="-Acontextspecific"/>
<compilerarg value="-Atypemap=org.lwjgl.util.generator.opengl.GLTypeMap"/>
<src>
<fileset dir="${lwjgl.src.templates.gl}">
<include name="${opengl-template-pattern}"/>
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenGL references -->
<target name="generate-opengl-references" depends="generators" description="Generates java and native source for GL">
<!-- Generate OpenGL references -->
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gl}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
@ -167,10 +115,8 @@
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenGL context capabilities -->
<target name="generate-opengl-capabilities" depends="generators" description="Generates java and native source for GL">
<!-- Generate OpenGL context capabilities -->
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gl}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
@ -179,6 +125,7 @@
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="${javac.args.debug}"/>
<compilerarg value="-Acontextspecific"/>
<src>
<fileset dir="${lwjgl.src.templates.gl}">
@ -188,26 +135,6 @@
</javac>
</target>
<!-- Generate OpenGL context capabilities [DEBUG] -->
<target name="generate-opengl-capabilities-debug" depends="generators" description="Generates debug java and native source for GL">
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gl}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
<compilerarg value="org.lwjgl.util.generator.opengl.GLGeneratorProcessor"/>
<compilerarg value="-cp"/>
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="-Ageneratechecks"/>
<compilerarg value="-Acontextspecific"/>
<src>
<fileset dir="${lwjgl.src.templates.gl}">
<include name="${opengl-template-pattern}"/>
</fileset>
</src>
</javac>
</target>
<!-- ********************************************************************************
*********************************************************************************
OPENGL ES
@ -215,7 +142,20 @@
**************************************************************************** -->
<!-- Generate OpenGL ES -->
<target name="generate-opengles" depends="generators" description="Generates java and native source for GL ES">
<target name="generate-opengles" depends="-generate-common" description="Generates java and native source for GL ES">
<mkdir dir="${lwjgl.target.gen.native}/opengles"/>
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" includes="org/lwjgl/util/generator/**.java" taskname="generator">
<include name="org/lwjgl/util/generator/opengles/**.java"/>
<compilerarg value="-Xlint:none"/>
</javac>
<!-- Compile helper classes used by the templates -->
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" taskname="generator">
<include name="org/lwjgl/opengles/EGLImageOES.java"/>
<include name="org/lwjgl/opengles/KHRDebugCallback.java"/>
</javac>
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gles}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
@ -227,6 +167,7 @@
<compilerarg value="-d"/>
<compilerarg path="${lwjgl.target.gen.native}/opengles"/>
<compilerarg value="-Abinpath=${lwjgl.target.gen.classes}"/>
<compilerarg value="${javac.args.debug}"/>
<!--<compilerarg value="-Acontextspecific"/>-->
<compilerarg value="-Atypemap=org.lwjgl.util.generator.opengl.GLESTypeMap"/>
<src>
@ -235,34 +176,8 @@
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenGL ES [DEBUG] -->
<target name="generate-opengles-debug" depends="generators" description="Generates debug java and native source for GL ES">
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gles}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
<compilerarg value="org.lwjgl.util.generator.GeneratorProcessor"/>
<compilerarg value="-cp"/>
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="-d"/>
<compilerarg path="${lwjgl.target.gen.native}/opengles"/>
<compilerarg value="-Abinpath=${lwjgl.target.gen.classes}"/>
<compilerarg value="-Ageneratechecks"/>
<!--<compilerarg value="-Acontextspecific"/>-->
<compilerarg value="-Atypemap=org.lwjgl.util.generator.opengl.GLESTypeMap"/>
<src>
<fileset dir="${lwjgl.src.templates.gles}">
<include name="${opengles-template-pattern}"/>
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenGL ES context capabilities -->
<target name="generate-opengles-capabilities" depends="generators" description="Generates java and native source for GL ES">
<!-- Generate OpenGL ES context capabilities -->
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gles}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
@ -271,26 +186,7 @@
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<!--<compilerarg value="-Acontextspecific"/>-->
<src>
<fileset dir="${lwjgl.src.templates.gles}">
<include name="${opengles-template-pattern}"/>
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenGL ES context capabilities [DEBUG] -->
<target name="generate-opengles-capabilities-debug" depends="generators" description="Generates debug java and native source for GL ES">
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.gles}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
<compilerarg value="org.lwjgl.util.generator.opengl.GLESGeneratorProcessor"/>
<compilerarg value="-cp"/>
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="-Ageneratechecks"/>
<compilerarg value="${javac.args.debug}"/>
<!--<compilerarg value="-Acontextspecific"/>-->
<src>
<fileset dir="${lwjgl.src.templates.gles}">
@ -306,8 +202,28 @@
*********************************************************************************
**************************************************************************** -->
<!-- Generate OpenCL -->
<target name="generate-opencl" depends="generators" description="Generates java and native source for CL">
<target name="-compile-opencl-helpers" depends="-generate-common" description="Compiles java helpers for CL">
<!-- Compile helper classes used by the templates -->
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" taskname="generator">
<include name="org/lwjgl/opencl/CLPlatform.java"/>
<include name="org/lwjgl/opencl/CLDevice.java"/>
<include name="org/lwjgl/opencl/CLContext.java"/>
<include name="org/lwjgl/opencl/CLCommandQueue.java"/>
<include name="org/lwjgl/opencl/CLMem.java"/>
<include name="org/lwjgl/opencl/CL*Callback.java"/>
<include name="org/lwjgl/opencl/CLNativeKernel.java"/>
<include name="org/lwjgl/opencl/CLFunctionAddress.java"/>
</javac>
</target>
<target name="generate-opencl" depends="-generate-common, -compile-opencl-helpers" description="Generates java and native source for CL">
<mkdir dir="${lwjgl.target.gen.native}/opencl"/>
<javac debug="yes" srcdir="${lwjgl.src}/java/" destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" includes="org/lwjgl/util/generator/**.java" taskname="generator">
<include name="org/lwjgl/util/generator/opencl/**.java"/>
<compilerarg value="-Xlint:none"/>
</javac>
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.cl}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
@ -319,6 +235,7 @@
<compilerarg value="-d"/>
<compilerarg path="${lwjgl.target.gen.native}/opencl"/>
<compilerarg value="-Abinpath=${lwjgl.target.gen.classes}"/>
<compilerarg value="${javac.args.debug}"/>
<compilerarg value="-Acontextspecific"/>
<compilerarg value="-Atypemap=org.lwjgl.util.generator.opencl.CLTypeMap"/>
<src>
@ -327,34 +244,8 @@
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenCL [DEBUG] -->
<target name="generate-opencl-debug" depends="generators" description="Generates debug java and native source for CL">
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.cl}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
<compilerarg value="org.lwjgl.util.generator.GeneratorProcessor"/>
<compilerarg value="-cp"/>
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="-d"/>
<compilerarg path="${lwjgl.target.gen.native}/opencl"/>
<compilerarg value="-Abinpath=${lwjgl.target.gen.classes}"/>
<compilerarg value="-Ageneratechecks"/>
<compilerarg value="-Acontextspecific"/>
<compilerarg value="-Atypemap=org.lwjgl.util.generator.opencl.CLTypeMap"/>
<src>
<fileset dir="${lwjgl.src.templates.cl}">
<include name="${opencl-template-pattern}"/>
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenCL capabilities -->
<target name="generate-opencl-capabilities" depends="generators" description="Generates capabilities for CL">
<!-- Generate OpenCL capabilities -->
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.cl}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
@ -363,26 +254,7 @@
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="-Acontextspecific"/>
<src>
<fileset dir="${lwjgl.src.templates.cl}">
<include name="${opencl-template-pattern}"/>
</fileset>
</src>
</javac>
</target>
<!-- Generate OpenCL capabilities [DEBUG] -->
<target name="generate-opencl-capabilities-debug" depends="generators" description="Generates debug capabilities for CL">
<javac destdir="${lwjgl.target.gen.classes}" source="1.8" target="1.8" srcdir="${lwjgl.src.templates.cl}" fork="true" taskname="processor">
<compilerarg value="-proc:only"/>
<compilerarg value="-processor"/>
<compilerarg value="org.lwjgl.util.generator.opencl.CLGeneratorProcessor"/>
<compilerarg value="-cp"/>
<compilerarg path="${lwjgl.src}/java:${lwjgl.src.templates}:${lwjgl.target.gen.classes}:${java.class.path}"/>
<compilerarg value="-s"/>
<compilerarg path="${lwjgl.target.gen.java}"/>
<compilerarg value="-Ageneratechecks"/>
<compilerarg value="${javac.args.debug}"/>
<compilerarg value="-Acontextspecific"/>
<src>
<fileset dir="${lwjgl.src.templates.cl}">