Mercurial > sdl-ios-xcode
annotate test/gcc-fat.sh @ 4183:39e748f251c6 SDL-1.2
Patched X11 code to compile on Mac OS X 10.6 SDK.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sat, 12 Sep 2009 06:25:36 +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 |