Mercurial > sdl-ios-xcode
annotate test/gcc-fat.sh @ 4135:cd98d1dc385c SDL-1.2
Damien Carbery fixed bug #542
In SDL 1.2.13 sdl.m4 the AM_PATH_SDL function looks for sdl-config.
It sets the PATH:
PATH="$prefix/bin:$prefix/usr/bin:$PATH"
but does not save the current PATH or restore the current PATH at the end.
This breaks the build on Solaris because we have GNU tools in another dir
(listed at the top of PATH) but non-GNU tools with the same names in
$prefix/bin. Later configure tests finds the non-GNU tools and quits in error
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 24 Jan 2008 15:50:20 +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 |