From: <ka...@us...> - 2012-11-05 23:17:44
|
Revision: 3815 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3815&view=rev Author: kappa1 Date: 2012-11-05 23:17:34 +0000 (Mon, 05 Nov 2012) Log Message: ----------- Added support to the OS X build.xml for Xcode location discovery, Mac OS SDK discovery, JavaVM.framework discovery and gcc vs gcc-4.2 discovery, special thanks to MC78 for providing this patch Modified Paths: -------------- branches/osx-java7/LWJGL/platform_build/macosx_ant/build.xml Modified: branches/osx-java7/LWJGL/platform_build/macosx_ant/build.xml =================================================================== --- branches/osx-java7/LWJGL/platform_build/macosx_ant/build.xml 2012-11-04 20:11:03 UTC (rev 3814) +++ branches/osx-java7/LWJGL/platform_build/macosx_ant/build.xml 2012-11-05 23:17:34 UTC (rev 3815) @@ -1,86 +1,126 @@ - -<project name="OS X Native code" basedir="../../bin/lwjgl" default="nativelibrary"> - <property name="native" location="../../src/native"/> - - <target name="init"> - <mkdir dir="i386"/> - <mkdir dir="x86_64"/> - </target> - - <target name="clean"> - <delete failonerror="false"> - <fileset dir="i386"/> - <fileset dir="x86_64"/> - <fileset dir="." includes="liblwjgl.jnilib"/> - <fileset dir="." includes="lwjgl.symbols"/> - </delete> - </target> - - <target name="compile"> - <apply dir="${dstdir}" executable="${compiler}" os="Mac OS X" skipemptyfilesets="true" failonerror="true" dest="${dstdir}"> - <arg line="${cflags} -ObjC -O2 -Wall -Wunused -c -fPIC -I/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I${native}/common -I${native}/common/opengl -I${native}/macosx"/> - <!-- Map from *.m and *.c to .o --> - <mapper type="regexp" from="^(.*)\.(c|m)" to="\1.o"/> - <fileset dir="${native}/macosx" includes="*.m"/> - <fileset dir="${native}/macosx" includes="*.c"/> - <fileset dir="${native}/common" includes="*.c"/> - <fileset dir="${native}/common/opengl" includes="*.c"/> - <fileset dir="${native}/generated/openal" includes="*.c"/> - <fileset dir="${native}/generated/opencl" includes="*.c"/> - <fileset dir="${native}/generated/opengl" includes="*.c"/> - </apply> - </target> - - <target name="link"> - <apply dir="${objdir}" parallel="true" executable="${linker}" os="Mac OS X" failonerror="true" skipemptyfilesets="true"> - <arg line="${linkerflags} -exported_symbols_list ../lwjgl.symbols -dynamiclib -o ${libname} -framework Foundation -weak_framework AppKit -framework JavaVM -framework Carbon -framework OpenGL -framework QuartzCore -F/System/Library/Frameworks/JavaVM.framework/Frameworks"/> - <fileset dir="${objdir}" includes="*.o"/> - </apply> - <apply dir="${objdir}" executable="strip" os="Mac OS X" failonerror="true"> - <arg line="-S -X"/> - <fileset dir="." file="${libname}"/> - </apply> - </target> - - <target name="nativelibrary" depends="init"> - <property name="universal_sdkroot" location="/Developer/SDKs/MacOSX10.6.sdk"/> - <property name="x86_64_sdkroot" location="/Developer/SDKs/MacOSX10.6.sdk"/> - <property name="universal_flags" value="-isysroot ${universal_sdkroot}"/> - <antcall target="compile"> - <param name="dstdir" location="i386"/> - <param name="compiler" value="gcc-4.2"/> - <param name="sdkroot" location="${universal_sdkroot}"/> - <param name="cflags" value="${universal_flags} -arch i386 -mmacosx-version-min=10.5"/> - </antcall> - <antcall target="compile"> - <param name="dstdir" location="x86_64"/> - <param name="compiler" value="gcc-4.2"/> - <param name="sdkroot" location="${universal_sdkroot}"/> - <param name="cflags" value="-isysroot ${x86_64_sdkroot} -arch x86_64 -mmacosx-version-min=10.5"/> - </antcall> - <exec vmlauncher="true" executable="sh" output="lwjgl.symbols" failonerror="true"> - <arg path="../../platform_build/macosx_ant/build-symbol-list"/> - <arg path="i386"/> - </exec> - <antcall target="link"> - <param name="objdir" location="i386"/> - <param name="libname" value="liblwjgl-i386.jnilib"/> - <param name="linker" value="gcc-4.2"/> - <param name="linkerflags" value="${universal_flags} -arch i386 -mmacosx-version-min=10.5"/> - </antcall> - <antcall target="link"> - <param name="objdir" location="x86_64"/> - <param name="libname" value="liblwjgl-i86_64.jnilib"/> - <param name="linker" value="gcc-4.2"/> - <param name="linkerflags" value="-isysroot ${x86_64_sdkroot} -arch x86_64 -mmacosx-version-min=10.5"/> - </antcall> - <apply dir="." parallel="true" executable="lipo" os="Mac OS X" failonerror="true" skipemptyfilesets="true" > - <arg value="-create"/> - <srcfile/> - <arg value="-output"/> - <arg path="liblwjgl.jnilib"/> - <fileset file="i386/liblwjgl-i386.jnilib"/> - <fileset file="x86_64/liblwjgl-i86_64.jnilib"/> - </apply> - </target> -</project> + +<project name="OS X Native code" basedir="../../bin/lwjgl" default="nativelibrary"> + <property name="native" location="../../src/native"/> + + <target name="init"> + <mkdir dir="i386"/> + <mkdir dir="x86_64"/> + <property environment="env" /> + <!-- Check which gcc we have, newer releasse of Mac OS do not have gcc-4.2 installed by defaault --> + <available file="gcc" filepath="${env.PATH}" property="gcc" value="gcc"/> + <available file="gcc-4.2" filepath="${env.PATH}" property="gcc" value="gcc-4.2"/> + <!-- Ask Xcode for correct path to XCode tools --> + <!-- Will fail if XCode Command Line Tools are not installed on 10.7+ (Lion) --> + <exec executable="xcode-select" outputproperty="developer_path" errorproperty="xcode-select.error" failonerror="false" failifexecutionfails="false"> + <arg value="-print-path" /> + </exec> + <!-- Default to /Developer if xcode-select fails --> + <condition property="developer_path" value="/Developer"> + <isset property="xcode-select.error" /> + </condition> + <!-- Lion and above do not have /Developer nor the 10.6 SDK, so use 10.7 SDK --> + <condition property="sdkroot" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"> + <available file="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk" type="dir"/> + </condition> + <condition property="javavmroot" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"> + <available file="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers" type="dir"/> + </condition> + <!-- Fallback to 10.6 SDK if present on file system under new Xcode location --> + <condition property="sdkroot" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk"> + <available file="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk" type="dir"/> + </condition> + <condition property="javavmroot" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk"> + <available file="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers" type="dir"/> + </condition> + <!-- Fallback to 10.6 SDK if present on old /Developer path --> + <condition property="sdkroot" value="${developer_path}/SDKs/MacOSx10.6.sdk"> + <available file="${developer_path}/SDKs/MacOSx10.6.sdk" type="dir"/> + </condition> + <!-- Only use /System/Library/Frameworks/JavaVM.framework/ if nothing under other SDK's is found --> + <condition property="javavmroot" value=""> + <and> + <available file="/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers" type="dir"/> + <not> + <isset property="javavmroot" /> + </not> + </and> + </condition> + </target> + + <target name="clean"> + <delete failonerror="false"> + <fileset dir="i386"/> + <fileset dir="x86_64"/> + <fileset dir="." includes="liblwjgl.jnilib"/> + <fileset dir="." includes="lwjgl.symbols"/> + </delete> + </target> + + <target name="compile" depends="init"> + <apply dir="${dstdir}" executable="${compiler}" os="Mac OS X" skipemptyfilesets="true" failonerror="true" dest="${dstdir}"> + <arg line="${cflags} -ObjC -O2 -Wall -Wunused -c -fPIC -I${javavmroot}/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I${native}/common -I${native}/common/opengl -I${native}/macosx -I${javavmroot}/System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaNativeFoundation.framework/Versions/A/Headers"/> + <!-- Map from *.m and *.c to .o --> + <mapper type="regexp" from="^(.*)\.(c|m)" to="\1.o"/> + <fileset dir="${native}/macosx" includes="*.m"/> + <fileset dir="${native}/macosx" includes="*.c"/> + <fileset dir="${native}/common" includes="*.c"/> + <fileset dir="${native}/common/opengl" includes="*.c"/> + <fileset dir="${native}/generated/openal" includes="*.c"/> + <fileset dir="${native}/generated/opencl" includes="*.c"/> + <fileset dir="${native}/generated/opengl" includes="*.c"/> + </apply> + </target> + + <target name="link" depends="init"> + <apply dir="${objdir}" parallel="true" executable="${linker}" os="Mac OS X" failonerror="true" skipemptyfilesets="true"> + <arg line="${linkerflags} -exported_symbols_list ../lwjgl.symbols -dynamiclib -o ${libname} -framework Foundation -weak_framework AppKit -framework JavaVM -framework Carbon -framework OpenGL -framework QuartzCore -framework JavaNativeFoundation -F${javavmroot}/System/Library/Frameworks/JavaVM.framework/Frameworks"/> + <fileset dir="${objdir}" includes="*.o"/> + </apply> + <apply dir="${objdir}" executable="strip" os="Mac OS X" failonerror="true"> + <arg line="-S -X"/> + <fileset dir="." file="${libname}"/> + </apply> + </target> + + <target name="nativelibrary" depends="init"> + <property name="universal_sdkroot" location="${sdkroot}"/> + <property name="x86_64_sdkroot" location="${sdkroot}"/> + <property name="universal_flags" value="-isysroot ${universal_sdkroot}"/> + <antcall target="compile"> + <param name="dstdir" location="i386"/> + <param name="compiler" value="${gcc}"/> + <param name="sdkroot" location="${universal_sdkroot}"/> + <param name="cflags" value="${universal_flags} -arch i386 -mmacosx-version-min=10.5"/> + </antcall> + <antcall target="compile"> + <param name="dstdir" location="x86_64"/> + <param name="compiler" value="${gcc}"/> + <param name="sdkroot" location="${universal_sdkroot}"/> + <param name="cflags" value="-isysroot ${x86_64_sdkroot} -arch x86_64 -mmacosx-version-min=10.5"/> + </antcall> + <exec vmlauncher="true" executable="sh" output="lwjgl.symbols" failonerror="true"> + <arg path="../../platform_build/macosx_ant/build-symbol-list"/> + <arg path="i386"/> + </exec> + <antcall target="link"> + <param name="objdir" location="i386"/> + <param name="libname" value="liblwjgl-i386.jnilib"/> + <param name="linker" value="${gcc}"/> + <param name="linkerflags" value="${universal_flags} -arch i386 -mmacosx-version-min=10.5"/> + </antcall> + <antcall target="link"> + <param name="objdir" location="x86_64"/> + <param name="libname" value="liblwjgl-i86_64.jnilib"/> + <param name="linker" value="${gcc}"/> + <param name="linkerflags" value="-isysroot ${x86_64_sdkroot} -arch x86_64 -mmacosx-version-min=10.5"/> + </antcall> + <apply dir="." parallel="true" executable="lipo" os="Mac OS X" failonerror="true" skipemptyfilesets="true" > + <arg value="-create"/> + <srcfile/> + <arg value="-output"/> + <arg path="liblwjgl.jnilib"/> + <fileset file="i386/liblwjgl-i386.jnilib"/> + <fileset file="x86_64/liblwjgl-i86_64.jnilib"/> + </apply> + </target> +</project> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ka...@us...> - 2012-11-06 21:45:52
|
Revision: 3820 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3820&view=rev Author: kappa1 Date: 2012-11-06 21:45:45 +0000 (Tue, 06 Nov 2012) Log Message: ----------- upload mc78's latest build.xml fixes, gets rid of the depreciated warnings Modified Paths: -------------- branches/osx-java7/LWJGL/platform_build/macosx_ant/build.xml Modified: branches/osx-java7/LWJGL/platform_build/macosx_ant/build.xml =================================================================== --- branches/osx-java7/LWJGL/platform_build/macosx_ant/build.xml 2012-11-06 16:18:28 UTC (rev 3819) +++ branches/osx-java7/LWJGL/platform_build/macosx_ant/build.xml 2012-11-06 21:45:45 UTC (rev 3820) @@ -7,8 +7,11 @@ <mkdir dir="x86_64"/> <property environment="env" /> <!-- Check which gcc we have, newer releasse of Mac OS do not have gcc-4.2 installed by defaault --> - <available file="gcc" filepath="${env.PATH}" property="gcc" value="gcc"/> - <available file="gcc-4.2" filepath="${env.PATH}" property="gcc" value="gcc-4.2"/> + <available file="gcc" filepath="${env.PATH}" property="gcc.name" value="gcc"/> + <available file="gcc-4.2" filepath="${env.PATH}" property="gcc42.name" value="gcc-4.2"/> + <condition property="gcc" value="${gcc42.name}" else="${gcc.name}"> + <isset property="gcc42.name" /> + </condition> <!-- Ask Xcode for correct path to XCode tools --> <!-- Will fail if XCode Command Line Tools are not installed on 10.7+ (Lion) --> <exec executable="xcode-select" outputproperty="developer_path" errorproperty="xcode-select.error" failonerror="false" failifexecutionfails="false"> @@ -18,33 +21,77 @@ <condition property="developer_path" value="/Developer"> <isset property="xcode-select.error" /> </condition> - <!-- Lion and above do not have /Developer nor the 10.6 SDK, so use 10.7 SDK --> - <condition property="sdkroot" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"> + <!-- Detect Mac OS X 10.7 SDK in new Xcode path for for Mac OS 10.7+ --> + <condition property="sdk-10.7" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"> <available file="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk" type="dir"/> </condition> - <condition property="javavmroot" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"> + <condition property="javavm-10.7" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"> <available file="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers" type="dir"/> </condition> - <!-- Fallback to 10.6 SDK if present on file system under new Xcode location --> - <condition property="sdkroot" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk"> + <!-- Detect Mac OS X 10.6 SDK copied into new Xcode path for Mac OS 10.7+ --> + <condition property="sdk-10.6" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk"> <available file="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk" type="dir"/> </condition> - <condition property="javavmroot" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk"> + <condition property="javavm-10.6" value="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk"> <available file="${developer_path}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers" type="dir"/> </condition> - <!-- Fallback to 10.6 SDK if present on old /Developer path --> - <condition property="sdkroot" value="${developer_path}/SDKs/MacOSx10.6.sdk"> + <!-- Detect Mac OS X 10.6 SDK in old XCode location for Mac OS 10.6 --> + <condition property="old.sdk-10.6" value="${developer_path}/SDKs/MacOSx10.6.sdk"> <available file="${developer_path}/SDKs/MacOSx10.6.sdk" type="dir"/> </condition> - <!-- Only use /System/Library/Frameworks/JavaVM.framework/ if nothing under other SDK's is found --> - <condition property="javavmroot" value=""> + <condition property="old.javavm-10.6" value=""> + <available file="/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers" type="dir"/> + </condition> + <!-- Use old JavaVM.framework location if nothing else is available --> + <condition property="javavmroot" value="${old.javavm-10.6}"> <and> - <available file="/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers" type="dir"/> + <isset property="old.javavm-10.6" /> <not> - <isset property="javavmroot" /> + <or> + <isset property="javavm-10.6" /> + <isset property="javavm-10.7" /> + </or> </not> </and> </condition> + <!-- Use JavaVM.framework from 10.6 in new Xcode path if available --> + <condition property="javavmroot" value="${javavm-10.6}"> + <isset property="javavm-10.6" /> + </condition> + <!-- Use JavaVM.framework from 10.7 in new Xcode path if available and 10.6 isn't also there --> + <condition property="javavmroot" value="${javavm-10.7}"> + <and> + <isset property="javavm-10.7" /> + <not> + <isset property="javavm-10.6" /> + </not> + </and> + </condition> + <!-- Use MacOS SDK 10.6 from /Developer if nothing else is available --> + <condition property="sdkroot" value="${old.sdk-10.6}"> + <and> + <isset property="old.sdk-10.6" /> + <not> + <or> + <isset property="sdk-10.6" /> + <isset property="sdk-10.7" /> + </or> + </not> + </and> + </condition> + <!-- Use MacOS SDK 10.6 from new Xcode location if available --> + <condition property="sdkroot" value="${sdk-10.6}"> + <isset property="sdk-10.6" /> + </condition> + <!-- Use MacOS SDK 10.7 in new Xcode path if available and 10.6 SDK isn't also there --> + <condition property="sdkroot" value="${sdk-10.7}"> + <and> + <isset property="sdk-10.7" /> + <not> + <isset property="sdk-10.6" /> + </not> + </and> + </condition> </target> <target name="clean"> @@ -83,6 +130,9 @@ </target> <target name="nativelibrary" depends="init"> + <echo message=" GCC: ${gcc}"/> + <echo message=" Mac OS SDK: ${sdkroot}"/> + <echo message="JavaVM.framework: ${javavmroot}"/> <property name="universal_sdkroot" location="${sdkroot}"/> <property name="x86_64_sdkroot" location="${sdkroot}"/> <property name="universal_flags" value="-isysroot ${universal_sdkroot}"/> @@ -123,4 +173,4 @@ <fileset file="x86_64/liblwjgl-i86_64.jnilib"/> </apply> </target> -</project> +</project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |