aboutsummaryrefslogtreecommitdiffstats
path: root/make/gluegen-cpptasks.xml
diff options
context:
space:
mode:
Diffstat (limited to 'make/gluegen-cpptasks.xml')
-rwxr-xr-xmake/gluegen-cpptasks.xml540
1 files changed, 0 insertions, 540 deletions
diff --git a/make/gluegen-cpptasks.xml b/make/gluegen-cpptasks.xml
deleted file mode 100755
index 07befc3..0000000
--- a/make/gluegen-cpptasks.xml
+++ /dev/null
@@ -1,540 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- - Ant project file which sets up cpptasks to compile native code
- - generated by GlueGen for multiple supported platforms. This Ant
- - project file is not intended to be executed standalone, but imported
- - by other projects which use GlueGen to generate native code and
- - need to compile that native code.
- -
- - Before importing this file, the property "gluegen.root" must be
- - defined; this is the relative path from the current working
- - directory (e.g., from which the parent project's build.xml is being
- - executed) to the top of the checked-out GlueGen workspace.
- -
- - This Ant project file depends on the following properties being set
- - externally:
- -
- - win32.c.compiler (required to be set on Windows):
- - one of "vc6", "vc7", "vc8", or "mingw".
- - c.compiler.debug:
- - set to "true" if debug version of the compiled
- - C code is desired.
- - macosxfat:
- - set to "true" if universal / fat binaries (both PowerPC
- - and Intel code) are desired on Mac OS X. Requires
- - support for cross-compilation from the underlying C
- - compiler.
- -
- - The gluegen.cpptasks.detect.os target sets the following
- - properties appropriately. They are only set to "true" if the OS/CPU
- - configuration is exactly as specified.
- -
- - isFreeBSD
- - isHPUX
- - isIA64
- - isLinux
- - isLinuxAMD64
- - isLinuxIA64
- - isLinuxX86
- - isOSX
- - isOSXPPC
- - isOSXUniversal (if macosxfat=true)
- - isSolaris
- - isSolaris32Bit
- - isSolarisAMD64
- - isSolarisSparc
- - isSolarisSparcv9
- - isSolarisX86
- - isUnix
- - isWindows
- - isWindowsX86
- - isWindowsAMD64
- - isX11
- -
- - It also sets the following properties which are useful for
- - building native library jar files for Java Web Start and
- - understanding on what OS and architecture things are being built.
- -
- - os.and.arch (i.e., "windows-i586")
- - native.library.suffix (i.e.., "so", "dll")
- -
- - The gluegen.cpptasks.detect.compiler target sets the following
- - properties appropriately. They are only set to "true" if the OS/compiler
- - configuration is exactly as specified.
- -
- - isVC6
- - isVC7
- - isVC8
- - isVC8_X64
- - isVC8Family (= isVC8 || isVC8_X64)
- - isMingW
- -
- - The gluegen.cpptasks.configure.compiler initializes several
- - cpptasks compiler and linker configurations designed to support
- - compilation of C code on multiple platforms. Generally if it is
- - necessary to set up include paths, link paths, etc., then these
- - compilers and linkers will need to be subclassed in sub-projects.
- - However, at least the base-level configuration does not need to
- - be replicated.
- -
- - The following compiler and linker IDs are defined by this target:
- -
- - compiler.cfg.linux
- - compiler.cfg.linux.amd64
- - compiler.cfg.solaris
- - compiler.cfg.solaris.sparcv9
- - compiler.cfg.solaris.amd64
- - compiler.cfg.win32.mingw
- - compiler.cfg.win32.msvc
- - compiler.cfg.macosx
- - compiler.cfg.freebsd
- - compiler.cfg.hpux
- - linker.cfg.linux
- - linker.cfg.linux.amd64
- - linker.cfg.solaris
- - linker.cfg.solaris.sparcv9
- - linker.cfg.solaris.amd64
- - linker.cfg.win32.mingw
- - linker.cfg.win32.msvc
- - linker.cfg.macosx
- - linker.cfg.hpux
- -->
-<project name="GlueGen-cpptasks" basedir=".">
- <!-- import cpptasks -->
- <typedef resource="net/sf/antcontrib/cpptasks/antlib.xml" classpath="${gluegen.root}/make/lib/cpptasks.jar"/>
-
- <available file="${user.home}/gluegen.compiler.xml" property="gluegen.compiler.present"/>
- <import file="${user.home}/gluegen.compiler.xml" optional="true" />
-
- <!-- Detect OS and compiler configuration -->
- <target name="gluegen.cpptasks.detect.os.1" unless="gluegen.cpptasks.detected.os">
- <condition property="isOSX">
- <and>
- <os family="mac"/>
- <os family="unix"/>
- </and>
- </condition>
- <condition property="isOSXPPC">
- <and>
- <istrue value="${isOSX}" />
- <isfalse value="${macosxfat}" />
- </and>
- </condition>
- <condition property="isOSXUniversal">
- <and>
- <istrue value="${isOSX}" />
- <istrue value="${macosxfat}" />
- </and>
- </condition>
- <condition property="isUnix">
- <and>
- <os family="unix" />
- <not>
- <os family="mac" />
- </not>
- </and>
- </condition>
- <condition property="isLinux">
- <os name="Linux" />
- </condition>
- <condition property="isSolaris">
- <os name="SunOS" />
- </condition>
- <condition property="isWindows">
- <os family="windows" />
- </condition>
- <condition property="isWindowsX86">
- <and>
- <istrue value="${isWindows}" />
- <or>
- <os arch="i386" />
- <os arch="x86" />
- </or>
- </and>
- </condition>
- <condition property="isWindowsAMD64">
- <and>
- <istrue value="${isWindows}" />
- <os arch="amd64" />
- </and>
- </condition>
- <condition property="isFreeBSD">
- <os name="FreeBSD" />
- </condition>
- <condition property="isHPUX">
- <os name="HP-UX" />
- </condition>
- <condition property="isLinuxX86">
- <and>
- <istrue value="${isLinux}" />
- <or>
- <os arch="i386" />
- <os arch="x86" />
- </or>
- </and>
- </condition>
- <condition property="isLinuxAMD64">
- <and>
- <istrue value="${isLinux}" />
- <or>
- <os arch="AMD64" />
- <os arch="x86_64" />
- </or>
- </and>
- </condition>
- <condition property="isLinuxIA64">
- <and>
- <istrue value="${isLinux}" />
- <os arch="IA64" />
- </and>
- </condition>
- <condition property="isIA64">
- <os arch="IA64" />
- </condition>
- <condition property="isSolaris32Bit">
- <and>
- <istrue value="${isSolaris}" />
- <or>
- <os arch="i386" />
- <os arch="x86" />
- <os arch="sparc" />
- </or>
- </and>
- </condition>
- <condition property="isSolarisSparc">
- <and>
- <istrue value="${isSolaris}" />
- <os arch="sparc" />
- </and>
- </condition>
- <condition property="isSolarisSparcv9">
- <and>
- <istrue value="${isSolaris}" />
- <os arch="sparcv9" />
- </and>
- </condition>
- <condition property="isSolarisAMD64">
- <and>
- <istrue value="${isSolaris}" />
- <os arch="AMD64" />
- </and>
- </condition>
- <condition property="isSolarisX86">
- <and>
- <istrue value="${isSolaris}" />
- <or>
- <os arch="i386" />
- <os arch="x86" />
- </or>
- </and>
- </condition>
-
- <!-- Note: assumes X11 platform by default -->
- <condition property="isX11">
- <and>
- <isfalse value="${isWindows}" />
- <isfalse value="${isOSX}" />
- </and>
- </condition>
-
- <echo message="FreeBSD=${isFreeBSD}" />
- <echo message="HPUX=${isHPUX}" />
- <echo message="IA64=${isIA64}" />
- <echo message="Linux=${isLinux}" />
- <echo message="LinuxAMD64=${isLinuxAMD64}" />
- <echo message="LinuxIA64=${isLinuxIA64}" />
- <echo message="LinuxX86=${isLinuxX86}" />
- <echo message="OS X=${isOSX}" />
- <echo message="Solaris=${isSolaris}" />
- <echo message="Solaris32Bit=${isSolaris32Bit}" />
- <echo message="SolarisSparc=${isSolarisSparc}" />
- <echo message="SolarisSparcv9=${isSolarisSparcv9}" />
- <echo message="SolarisAMD64=${isSolarisAMD64}" />
- <echo message="SolarisX86=${isSolarisX86}" />
- <echo message="Unix=${isUnix}" />
- <echo message="Windows=${isWindows}" />
- <echo message="X11=${isX11}" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.freebsd" unless="gluegen.cpptasks.detected.os" if="isFreeBSD">
- <property name="os.and.arch" value="freebsd-i586" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.hpux" unless="gluegen.cpptasks.detected.os" if="isHPUX">
- <property name="os.and.arch" value="hpux-hppa" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.linux.amd64" unless="gluegen.cpptasks.detected.os" if="isLinuxAMD64">
- <property name="os.and.arch" value="linux-amd64" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.linux.ia64" unless="gluegen.cpptasks.detected.os" if="isLinuxIA64">
- <property name="os.and.arch" value="linux-ia64" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.linux.x86" unless="gluegen.cpptasks.detected.os" if="isLinuxX86">
- <property name="os.and.arch" value="linux-i586" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.linux" depends="gluegen.cpptasks.detect.os.linux.amd64,gluegen.cpptasks.detect.os.linux.ia64,gluegen.cpptasks.detect.os.linux.x86" unless="gluegen.cpptasks.detected.os" />
-
- <target name="gluegen.cpptasks.detect.os.osx.ppc" unless="gluegen.cpptasks.detected.os" if="isOSXPPC">
- <property name="os.and.arch" value="macosx-ppc" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.osx.universal" unless="gluegen.cpptasks.detected.os" if="isOSXUniversal">
- <property name="os.and.arch" value="macosx-universal" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.osx" depends="gluegen.cpptasks.detect.os.osx.ppc,gluegen.cpptasks.detect.os.osx.universal" unless="gluegen.cpptasks.detected.os" if="isOSX">
- <property name="native.library.suffix" value="*lib" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.solaris.sparc" unless="gluegen.cpptasks.detected.os" if="isSolarisSparc">
- <property name="os.and.arch" value="solaris-sparc" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.solaris.sparcv9" unless="gluegen.cpptasks.detected.os" if="isSolarisSparcv9">
- <property name="os.and.arch" value="solaris-sparcv9" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.solaris.amd64" unless="gluegen.cpptasks.detected.os" if="isSolarisAMD64">
- <property name="os.and.arch" value="solaris-amd64" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.solaris.x86" unless="gluegen.cpptasks.detected.os" if="isSolarisX86">
- <property name="os.and.arch" value="solaris-i586" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.solaris" depends="gluegen.cpptasks.detect.os.solaris.sparc,gluegen.cpptasks.detect.os.solaris.sparcv9,gluegen.cpptasks.detect.os.solaris.amd64,gluegen.cpptasks.detect.os.solaris.x86" unless="gluegen.cpptasks.detected.os" />
-
- <target name="gluegen.cpptasks.detect.os.unix" unless="gluegen.cpptasks.detected.os" if="isUnix">
- <property name="native.library.suffix" value="so" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.windows.amd64" unless="gluegen.cpptasks.detected.os" if="isWindowsAMD64">
- <property name="os.and.arch" value="windows-amd64" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.windows.x86" unless="gluegen.cpptasks.detected.os" if="isWindowsX86">
- <property name="os.and.arch" value="windows-i586" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.windows" depends="gluegen.cpptasks.detect.os.windows.amd64,gluegen.cpptasks.detect.os.windows.x86" unless="gluegen.cpptasks.detected.os" if="isWindows">
- <property name="native.library.suffix" value="dll" />
- </target>
-
- <target name="gluegen.cpptasks.detect.os.2" depends="gluegen.cpptasks.detect.os.freebsd,gluegen.cpptasks.detect.os.hpux,gluegen.cpptasks.detect.os.linux,gluegen.cpptasks.detect.os.osx,gluegen.cpptasks.detect.os.solaris,gluegen.cpptasks.detect.os.unix,gluegen.cpptasks.detect.os.windows" unless="gluegen.cpptasks.detected.os">
- </target>
-
- <target name="gluegen.cpptasks.detect.os" depends="gluegen.cpptasks.detect.os.1,gluegen.cpptasks.detect.os.2">
- <property name="gluegen.cpptasks.detected.os" value="true" />
- </target>
-
- <!-- Detect compiler setup, in particular on Windows; separated
- - out because this must sometimes be called late in the setup process
- -->
- <target name="gluegen.cpptasks.detect.compiler">
- <!-- Set up compiler selection on Windows -->
- <condition property="isVC6">
- <and>
- <istrue value="${isWindows}" />
- <equals arg1="${win32.c.compiler}" arg2="vc6" />
- </and>
- </condition>
- <condition property="isVC7">
- <and>
- <istrue value="${isWindows}" />
- <equals arg1="${win32.c.compiler}" arg2="vc7" />
- </and>
- </condition>
- <condition property="isVC8">
- <and>
- <istrue value="${isWindows}" />
- <equals arg1="${win32.c.compiler}" arg2="vc8" />
- </and>
- </condition>
- <condition property="isVC8_X64">
- <and>
- <istrue value="${isWindows}" />
- <equals arg1="${win32.c.compiler}" arg2="vc8_x64" />
- </and>
- </condition>
- <condition property="isVC8Family">
- <or>
- <istrue value="${isVC8}" />
- <istrue value="${isVC8_X64}" />
- </or>
- </condition>
- <condition property="isMingW">
- <and>
- <istrue value="${isWindows}" />
- <equals arg1="${win32.c.compiler}" arg2="mingw" />
- </and>
- </condition>
- <condition property="WindowsFailure">
- <and>
- <istrue value="${isWindows}" />
- <isfalse value="${isVC6}" />
- <isfalse value="${isVC7}" />
- <isfalse value="${isVC8}" />
- <isfalse value="${isVC8_X64}" />
- <isfalse value="${isMingW}" />
- </and>
- </condition>
- <fail message="Must specify either win32.c.compiler in e.g. jogl.properties or use e.g. win32.vc6 build target" if="WindowsFailure" />
- <echo message="VC6=${isVC6}" />
- <echo message="VC7=${isVC7}" />
- <echo message="VC8=${isVC8}" />
- <echo message="MingW=${isMingW}" />
-
- <!-- NOTE: the value of the debug and optimise attributes will not be overridden if already set externally -->
- <property name="c.compiler.debug" value="false" />
- </target>
-
- <target name="gluegen.cpptasks.configure.compiler" unless="gluegen.compiler.present">
- <!-- compiler configuration -->
- <compiler id="compiler.cfg.linux" name="gcc"/>
-
- <compiler id="compiler.cfg.linux.amd64" name="gcc">
- <compilerarg value="-fPIC"/>
- </compiler>
-
- <compiler id="compiler.cfg.solaris" name="suncc">
- </compiler>
-
- <compiler id="compiler.cfg.solaris.sparcv9" name="suncc">
- <compilerarg value="-fast" />
- <compilerarg value="-xchip=ultra" />
- <compilerarg value="-xarch=v9a" />
- </compiler>
-
- <compiler id="compiler.cfg.solaris.amd64" name="suncc">
- <compilerarg value="-fast" />
- <compilerarg value="-xchip=opteron" />
- <compilerarg value="-xarch=amd64" />
- <!-- <compilerarg value="-xcache=64/64/2:1024/64/16" /> -->
- </compiler>
-
- <compiler id="compiler.cfg.win32.mingw" name="gcc">
- <defineset>
- <define name="_DEBUG" if="c.compiler.use-debug"/>
- <define name="DEBUG" if="c.compiler.use-debug"/>
- <define name="NDEBUG" unless="c.compiler.use-debug"/>
-
- <define name="DBUILD_DLL" />
- <define name="_WINGDI_" />
- <define name="_STRICT_ANSI" />
- <define name="_JNI_IMPLEMENTATION_" />
- </defineset>
- </compiler>
-
- <compiler id="compiler.cfg.win32.msvc" name="msvc">
- <compilerarg value="/W3"/> <!-- set warning level -->
- <compilerarg value="/Ob1"/> <!-- inline only functions marked inline -->
- <compilerarg value="/GF"/> <!-- enable string pooling -->
- <compilerarg value="/Gy"/> <!-- enable function level linking -->
- <compilerarg value="/GS" if="isVC7"/> <!-- buffer security checks -->
- <compilerarg value="/Wp64" if="isVC7"/> <!-- detect 64-bit port problems -->
- <compilerarg value="/RTCcsu" if="isVC7"/> <!-- various runtime checks -->
- <!-- Note: previous compiler options for VC7 were:
- Debug: /MDd /Yd /GS /RTCs /RTCu /RTCc /W3 /Od /GF /EHsc /Zi /GS /Gy /Wp64 /Zi /D &quot;_DEBUG&quot;
- Optimized: /MD /W3 /O2 /Ob1 /GF /EHsc /GS /Gy /Wp64 /D &quot;NDEBUG&quot; -->
- <compilerarg value="/GS" if="isVC8"/> <!-- buffer security checks -->
- <compilerarg value="/Wp64" if="isVC8"/> <!-- detect 64-bit port problems -->
- <compilerarg value="/RTCcsu" if="isVC8"/> <!-- various runtime checks -->
- <compilerarg value="/NODEFAULTLIB:oldnames.lib" if="isVC8"/> <!-- library not available with VC8 -->
-
- <defineset>
- <define name="_DEBUG" if="c.compiler.use-debug"/>
- <define name="DEBUG" if="c.compiler.use-debug"/>
- <define name="NDEBUG" unless="c.compiler.use-debug"/>
- </defineset>
- </compiler>
-
- <compiler id="compiler.cfg.macosx" name="gcc">
- <compilerarg value="-arch" if="macosxfat"/>
- <compilerarg value="ppc" if="macosxfat"/>
- <compilerarg value="-arch" if="macosxfat"/>
- <compilerarg value="i386" if="macosxfat"/>
- <compilerarg value="-arch" if="macosx64fat"/>
- <compilerarg value="x86_64" if="macosx64fat"/>
- <!-- Note: Apple doesn't seem to provide ppc64 binaries on Leopard -->
- <compilerarg value="-Wmost" />
- <compilerarg value="-ObjC" />
- <defineset>
- <define name="macosx" />
- </defineset>
- </compiler>
-
- <compiler id="compiler.cfg.freebsd" name="gcc">
- </compiler>
-
- <compiler id="compiler.cfg.hpux" name="aCC">
- <!-- Interpret source as ANSI C89 (not C++) -->
- <compilerarg value="-Ae"/>
- <!-- Dereferences are performed with four-byte loads and stores. -->
- <compilerarg value="+u4"/>
- <!-- Suppress warnings:
- 942: signed/unsigned assignment compatibility
- 129: redeclarations in stub_includes -->
- <compilerarg value="+W942,129"/>
- <defineset>
- <!-- aCC doesn't seem to define a generic system macro, a la
- "__sun". The documentation claims it defines the following,
- but don't seem to work: __HP_aCC, __LP64__, __RISC_0__.
- HP-UX docs on JNI say to use the defs below
- (http://www.hp.com/products1/unix/java/infolibrary/prog_guide/JNI_java2.html) -->
- <!-- Single underscore prefix, as recommended by aCC docs... -->
- <define name="_HPUX"/>
- <define name="_POSIX_C_SOURCE" value="199506L"/>
- </defineset>
- </compiler>
-
- <!-- linker configuration -->
-
- <linker id="linker.cfg.linux" name="gcc">
- </linker>
-
- <linker id="linker.cfg.linux.amd64" name="gcc">
- </linker>
-
- <linker id="linker.cfg.solaris" name="suncc">
- </linker>
-
- <linker id="linker.cfg.solaris.sparcv9" name="suncc">
- <linkerarg value="-xarch=v9a" />
- </linker>
-
- <linker id="linker.cfg.solaris.amd64" name="suncc">
- <linkerarg value="-xarch=amd64" />
- </linker>
-
- <linker id="linker.cfg.win32.mingw" name="gcc" incremental="false">
- <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names -->
- </linker>
-
- <linker id="linker.cfg.win32.msvc" name="msvc" incremental="false">
- <linkerarg value="/OPT:REF,ICF" /> <!-- enable link-time optimisations -->
- <linkerarg value="/SUBSYSTEM:WINDOWS" /> <!-- output is not a console app as uses WinMain entry point -->
- <linkerarg value="/MACHINE:X86" if="isVC6" /> <!-- explicity set target platform -->
- <linkerarg value="/MACHINE:X86" if="isVC7" /> <!-- explicity set target platform -->
- <linkerarg value="/MACHINE:X86" if="isVC8" /> <!-- explicity set target platform -->
- <linkerarg value="/MACHINE:X64" if="isVC8_X64"/> <!-- explicity set target platform (IX64) -->
- </linker>
-
- <linker id="linker.cfg.macosx" name="gcc">
- <linkerarg value="-arch" if="macosxfat"/>
- <linkerarg value="ppc" if="macosxfat"/>
- <linkerarg value="-arch" if="macosxfat"/>
- <linkerarg value="i386" if="macosxfat"/>
- <linkerarg value="-arch" if="macosx64fat"/>
- <linkerarg value="x86_64" if="macosx64fat"/>
- <!-- Note: Apple doesn't seem to provide ppc64 binaries on Leopard -->
- </linker>
-
- <linker id="linker.cfg.hpux" name="aCC">
- </linker>
- </target>
-
-</project>