|
From: <eli...@us...> - 2006-05-01 12:08:29
|
Revision: 2316 Author: elias_naur Date: 2006-05-01 05:07:58 -0700 (Mon, 01 May 2006) ViewCVS: http://svn.sourceforge.net/java-game-lib/?rev=2316&view=rev Log Message: ----------- Mac OS X: Replaced liblwjgl-legacy.jnilib and liblwjgl.jnilib with one liblwjgl.jnilib containing gcc 3 compiled ppc code in the ppc part and gcc 4 compiled intel code in the intel part. That way, we should be able to support all platforms and architectures with one library. I've replaced the Makefile.* files with a single build.xml to do the native building and merging of object code. Added Paths: ----------- trunk/LWJGL/src/native/macosx/build-symbol-list trunk/LWJGL/src/native/macosx/build.xml Removed Paths: ------------- trunk/LWJGL/src/native/macosx/Makefile trunk/LWJGL/src/native/macosx/Makefile.legacy Deleted: trunk/LWJGL/src/native/macosx/Makefile =================================================================== --- trunk/LWJGL/src/native/macosx/Makefile 2006-05-01 08:58:26 UTC (rev 2315) +++ trunk/LWJGL/src/native/macosx/Makefile 2006-05-01 12:07:58 UTC (rev 2316) @@ -1,30 +0,0 @@ -# This makefile builds a 'fat' library that is _only_ compatible with 10.4 and later - -CC=gcc-4.0 -LINKER=gcc-4.0 -STRIP=strip -SDK_ROOT=/Developer/SDKs/MacOSX10.4u.sdk -ARCHS=-arch i386 -arch ppc -CFLAGS_LINK=-isysroot $(SDK_ROOT) $(ARCHS) -exported_symbols_list lwjgl.symbols -dynamiclib -Wall -SYMBOL_FILE=lwjgl.symbols -FRAMEWORKS=-framework Foundation -framework AppKit -framework JavaVM -framework Carbon -CFLAGS_O=-isysroot $(SDK_ROOT) $(ARCHS) -fPIC -O2 -D_MACOSX -Wall -c -I$(SDK_ROOT)/System/Library/Frameworks/OpenAL.framework/Versions/A/Headers -I../common -I$(SDK_ROOT)/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -SRC=$(wildcard *.m) $(wildcard *.c) $(wildcard ../common/*.c) $(wildcard ../generated/*.c) -OBJECTS=$(subst .m,.o, $(subst .c,.o,$(SRC))) -LIBRARY=liblwjgl.jnilib - -$(LIBRARY): $(OBJECTS) $(SYMBOL_FILE) - $(LINKER) $(CFLAGS_LINK) -o $@ $(OBJECTS) $(FRAMEWORKS) - $(STRIP) -S -X $@ - -$(SYMBOL_FILE): $(OBJECTS) - nm -g $(OBJECTS) | grep "Java_" | cut -d ' ' -f3 | cut -c 1- > $(SYMBOL_FILE) - -.m.o: - $(CC) $(CFLAGS_O) $< -o $@ - -.c.o: - $(CC) $(CFLAGS_O) $< -o $@ - -clean: - rm -f $(OBJECTS) $(LIBRARY) Deleted: trunk/LWJGL/src/native/macosx/Makefile.legacy =================================================================== --- trunk/LWJGL/src/native/macosx/Makefile.legacy 2006-05-01 08:58:26 UTC (rev 2315) +++ trunk/LWJGL/src/native/macosx/Makefile.legacy 2006-05-01 12:07:58 UTC (rev 2316) @@ -1,29 +0,0 @@ -# Use this makefile to build for Mac OS X 10.3 and earlier - -CC=gcc-3.3 -LINKER=gcc-3.3 -STRIP=strip -ARCHS= -SYMBOL_FILE=lwjgl.symbols -CFLAGS_LINK=-exported_symbols_list lwjgl.symbols -dynamiclib -Wall -FRAMEWORKS=-framework Foundation -framework AppKit -framework JavaVM -framework Carbon -CFLAGS_O=-fPIC -O2 -D_MACOSX -Wall -c -I${AL}/include -I../common -I/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -SRC=$(wildcard *.m) $(wildcard *.c) $(wildcard ../common/*.c) $(wildcard ../generated/*.c) -OBJECTS=$(subst .m,.o, $(subst .c,.o,$(SRC))) -LIBRARY=liblwjgl-legacy.jnilib - -$(LIBRARY): $(OBJECTS) $(SYMBOL_FILE) - $(LINKER) $(CFLAGS_LINK) -o $@ $(OBJECTS) $(FRAMEWORKS) - $(STRIP) -S -X $@ - -$(SYMBOL_FILE): $(OBJECTS) - nm -g $(OBJECTS) | grep "Java_" | cut -d ' ' -f3 | cut -c 1- > $(SYMBOL_FILE) - -.m.o: - $(CC) $(CFLAGS_O) $< -o $@ - -.c.o: - $(CC) $(CFLAGS_O) $< -o $@ - -clean: - rm -f $(OBJECTS) $(LIBRARY) Added: trunk/LWJGL/src/native/macosx/build-symbol-list =================================================================== --- trunk/LWJGL/src/native/macosx/build-symbol-list (rev 0) +++ trunk/LWJGL/src/native/macosx/build-symbol-list 2006-05-01 12:07:58 UTC (rev 2316) @@ -0,0 +1,3 @@ +#!/bin/sh + +nm -g intel/*.o | grep "Java_" | cut -d ' ' -f3 | cut -c 1- Property changes on: trunk/LWJGL/src/native/macosx/build-symbol-list ___________________________________________________________________ Name: svn:executable + * Added: trunk/LWJGL/src/native/macosx/build.xml =================================================================== --- trunk/LWJGL/src/native/macosx/build.xml (rev 0) +++ trunk/LWJGL/src/native/macosx/build.xml 2006-05-01 12:07:58 UTC (rev 2316) @@ -0,0 +1,77 @@ +<?xml version="1.0" ?> +<project name="OS X Native code" basedir="." default="nativelibrary"> + <target name="init"> + <mkdir dir="ppc"/> + <mkdir dir="intel"/> + </target> + + <target name="clean"> + <delete failonerror="false"> + <fileset dir="intel"/> + <fileset dir="ppc"/> + <fileset dir="." includes="liblwjgl.jnilib"/> + </delete> + </target> + + <target name="compile"> + <apply dir="${dstdir}" executable="${compiler}" os="Mac OS X" skipemptyfilesets="true" failonerror="true" dest="${dstdir}"> + <arg line="${cflags} -O2 -Wall -c -fPIC -I${sdkroot}/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I../../common -I.."/> + <mapper type="regexp" from="^(.*)\.(c|m)" to="\1.o"/> + <fileset dir="." includes="*.m"/> + <fileset dir="." includes="*.c"/> + <fileset dir="../common" includes="*.c"/> + <fileset dir="../generated" includes="*.c"/> + </apply> + </target> + + <target name="link"> + <apply dir="${objdir}" parallel="true" executable="${linker}" os="Mac OS X" failonerror="true"> + <arg line="${linkerflags} -exported_symbols_list ../lwjgl.symbols -dynamiclib -o ${libname} -framework Foundation -framework AppKit -framework JavaVM -framework Carbon"/> + <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.4u.sdk"/> + <property name="legacy_sdkroot" location="/Developer/SDKs/MacOSX10.3.9.sdk"/> + <property name="universal_flags" value="-isysroot ${universal_sdkroot} -arch i386"/> + <antcall target="compile"> + <param name="dstdir" location="intel"/> + <param name="compiler" value="gcc-4.0"/> + <param name="sdkroot" location="${universal_sdkroot}"/> + <param name="cflags" value="${universal_flags}"/> + </antcall> + <antcall target="compile"> + <param name="dstdir" location="ppc"/> + <param name="compiler" value="gcc-3.3"/> + <param name="sdkroot" location="${legacy_sdkroot}"/> + <param name="cflags" value=""/> + </antcall> + <exec executable="./build-symbol-list" output="lwjgl.symbols"/> + <antcall target="link"> + <param name="objdir" location="intel"/> + <param name="libname" value="liblwjgl-intel.jnilib"/> + <param name="linker" value="gcc-4.0"/> + <param name="linkerflags" value="${universal_flags}"/> + </antcall> + <antcall target="link"> + <param name="objdir" location="ppc"/> + <param name="libname" value="liblwjgl-ppc.jnilib"/> + <param name="linker" value="gcc-3.3"/> + <param name="linkerflags" value=""/> + </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"/> + <mapper type="merge" to="liblwjgl.jnilib"/> + <fileset file="ppc/liblwjgl-ppc.jnilib"/> + <fileset file="intel/liblwjgl-intel.jnilib"/> + </apply> + </target> +</project> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |