Mercurial > sdl-ios-xcode
annotate test/gcc-fat.sh @ 4215:d83830711a5b SDL-1.2
Fixed bug #615
Scott McCreary 2008-08-21 10:48:14 PDT
This patch adds support for Haiku.
http://ports.haiku-files.org/browser/haikuports/trunk/media-libs/libsdl/SDL-1.2.13-haiku.diff
Haiku is an open-source recreation of BeOS. It has better POSIX compliance
than beOS did, and other improved features, which in some cases causes us to
have to "undo" previous BeOS workarounds.
Here's our port log entry for it, showing the steps to force the changes into
configure and Makefile:
http://ports.haiku-files.org/wiki/media-libs/libsdl/1.2.13/1
Note that this was only tried on 1.2.13 stable so far.
Haiku is using a newer config.guess / config.sub that doesn't yet seem to be in
the released libtool, so we are having to copy it in for now.
http://haiku-files.org/files/optional-packages/
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 21 Sep 2009 09:18:42 +0000 |
parents | 6cb18cf1777e |
children |
rev | line source |
---|---|
1797 | 1 #!/bin/sh |
2 # | |
3 # Build Universal binaries on Mac OS X, thanks Ryan! | |
4 # | |
5 # Usage: ./configure CC="sh gcc-fat.sh" && make && rm -rf ppc x86 | |
6 | |
4127
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
7 # Locate Xcode SDK path |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
8 SDK_PATH=/Developer/SDKs |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
9 if [ ! -d $SDK_PATH ]; then |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
10 echo "Couldn't find SDK path" |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
11 exit 1 |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
12 fi |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
13 |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
14 if [ -d "$SDK_PATH/MacOSX10.2.8.sdk" ]; then |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
15 # PowerPC compiler flags (10.2 runtime compatibility) |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
16 GCC_COMPILE_PPC="gcc-3.3 -arch ppc \ |
1797 | 17 -DMAC_OS_X_VERSION_MIN_REQUIRED=1020 \ |
18 -nostdinc \ | |
4127
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
19 -F$SDK_PATH/MacOSX10.2.8.sdk/System/Library/Frameworks \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
20 -I$SDK_PATH/MacOSX10.2.8.sdk/usr/include/gcc/darwin/3.3 \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
21 -isystem $SDK_PATH/MacOSX10.2.8.sdk/usr/include" |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
22 |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
23 GCC_LINK_PPC="\ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
24 -L$SDK_PATH/MacOSX10.2.8.sdk/usr/lib/gcc/darwin/3.3 \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
25 -F$SDK_PATH/MacOSX10.2.8.sdk/System/Library/Frameworks \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
26 -Wl,-syslibroot,$SDK_PATH/MacOSX10.2.8.sdk" |
1797 | 27 |
4127
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
28 else # 10.2 or 10.3 SDK |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
29 # PowerPC compiler flags (10.3 runtime compatibility) |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
30 GCC_COMPILE_PPC="gcc-4.0 -arch ppc -mmacosx-version-min=10.3 \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
31 -DMAC_OS_X_VERSION_MIN_REQUIRED=1030 \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
32 -nostdinc \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
33 -F$SDK_PATH/MacOSX10.3.9.sdk/System/Library/Frameworks \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
34 -I$SDK_PATH/MacOSX10.3.9.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
35 -isystem $SDK_PATH/MacOSX10.3.9.sdk/usr/include" |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
36 |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
37 GCC_LINK_PPC="\ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
38 -L$SDK_PATH/MacOSX10.3.9.sdk/usr/lib/gcc/powerpc-apple-darwin9/4.0.1 \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
39 -F$SDK_PATH/MacOSX10.3.9.sdk/System/Library/Frameworks \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
40 -Wl,-syslibroot,$SDK_PATH/MacOSX10.3.9.sdk" |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
41 |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
42 fi # 10.2 or 10.3 SDK |
1797 | 43 |
44 # Intel compiler flags (10.4 runtime compatibility) | |
45 GCC_COMPILE_X86="gcc-4.0 -arch i386 -mmacosx-version-min=10.4 \ | |
46 -DMAC_OS_X_VERSION_MIN_REQUIRED=1040 \ | |
47 -nostdinc \ | |
4127
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
48 -F$SDK_PATH/MacOSX10.4u.sdk/System/Library/Frameworks \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
49 -I$SDK_PATH/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
50 -isystem $SDK_PATH/MacOSX10.4u.sdk/usr/include" |
1797 | 51 |
52 GCC_LINK_X86="\ | |
4127
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
53 -L$SDK_PATH/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1 \ |
6cb18cf1777e
Updated gcc-fat.sh to build on Mac OS X 10.5
Sam Lantinga <slouken@libsdl.org>
parents:
1797
diff
changeset
|
54 -Wl,-syslibroot,$SDK_PATH/MacOSX10.4u.sdk" |
1797 | 55 |
56 # Output both PowerPC and Intel object files | |
57 args="$*" | |
58 compile=yes | |
59 link=yes | |
60 while test x$1 != x; do | |
61 case $1 in | |
62 --version) exec gcc $1;; | |
63 -v) exec gcc $1;; | |
64 -V) exec gcc $1;; | |
65 -print-prog-name=*) exec gcc $1;; | |
66 -print-search-dirs) exec gcc $1;; | |
67 -E) GCC_COMPILE_PPC="$GCC_COMPILE_PPC -E" | |
68 GCC_COMPILE_X86="$GCC_COMPILE_X86 -E" | |
69 compile=no; link=no;; | |
70 -c) link=no;; | |
71 -o) output=$2;; | |
72 *.c|*.cc|*.cpp|*.S) source=$1;; | |
73 esac | |
74 shift | |
75 done | |
76 if test x$link = xyes; then | |
77 GCC_COMPILE_PPC="$GCC_COMPILE_PPC $GCC_LINK_PPC" | |
78 GCC_COMPILE_X86="$GCC_COMPILE_X86 $GCC_LINK_X86" | |
79 fi | |
80 if test x"$output" = x; then | |
81 if test x$link = xyes; then | |
82 output=a.out | |
83 elif test x$compile = xyes; then | |
84 output=`echo $source | sed -e 's|.*/||' -e 's|\(.*\)\.[^\.]*|\1|'`.o | |
85 fi | |
86 fi | |
87 | |
88 if test x"$output" != x; then | |
89 dir=ppc/`dirname $output` | |
90 if test -d $dir; then | |
91 : | |
92 else | |
93 mkdir -p $dir | |
94 fi | |
95 fi | |
96 set -- $args | |
97 while test x$1 != x; do | |
98 if test -f "ppc/$1" && test "$1" != "$output"; then | |
99 ppc_args="$ppc_args ppc/$1" | |
100 else | |
101 ppc_args="$ppc_args $1" | |
102 fi | |
103 shift | |
104 done | |
105 $GCC_COMPILE_PPC $ppc_args || exit $? | |
106 if test x"$output" != x; then | |
107 cp $output ppc/$output | |
108 fi | |
109 | |
110 if test x"$output" != x; then | |
111 dir=x86/`dirname $output` | |
112 if test -d $dir; then | |
113 : | |
114 else | |
115 mkdir -p $dir | |
116 fi | |
117 fi | |
118 set -- $args | |
119 while test x$1 != x; do | |
120 if test -f "x86/$1" && test "$1" != "$output"; then | |
121 x86_args="$x86_args x86/$1" | |
122 else | |
123 x86_args="$x86_args $1" | |
124 fi | |
125 shift | |
126 done | |
127 $GCC_COMPILE_X86 $x86_args || exit $? | |
128 if test x"$output" != x; then | |
129 cp $output x86/$output | |
130 fi | |
131 | |
132 if test x"$output" != x; then | |
133 lipo -create -o $output ppc/$output x86/$output | |
134 fi |