Mercurial > sdl-ios-xcode
comparison test/gcc-fat.sh @ 1659:14717b52abc0 SDL-1.3
Merge trunk-1.3-3
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 17 May 2006 08:18:28 +0000 |
parents | |
children | 6cb18cf1777e |
comparison
equal
deleted
inserted
replaced
1658:e49147870aac | 1659:14717b52abc0 |
---|---|
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 | |
7 # PowerPC compiler flags (10.2 runtime compatibility) | |
8 GCC_COMPILE_PPC="gcc-3.3 -arch ppc \ | |
9 -DMAC_OS_X_VERSION_MIN_REQUIRED=1020 \ | |
10 -nostdinc \ | |
11 -F/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks \ | |
12 -I/Developer/SDKs/MacOSX10.2.8.sdk/usr/include/gcc/darwin/3.3 \ | |
13 -isystem /Developer/SDKs/MacOSX10.2.8.sdk/usr/include" | |
14 | |
15 GCC_LINK_PPC="\ | |
16 -L/Developer/SDKs/MacOSX10.2.8.sdk/usr/lib/gcc/darwin/3.3 \ | |
17 -F/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks \ | |
18 -Wl,-syslibroot,/Developer/SDKs/MacOSX10.2.8.sdk" | |
19 | |
20 # Intel compiler flags (10.4 runtime compatibility) | |
21 GCC_COMPILE_X86="gcc-4.0 -arch i386 -mmacosx-version-min=10.4 \ | |
22 -DMAC_OS_X_VERSION_MIN_REQUIRED=1040 \ | |
23 -nostdinc \ | |
24 -F/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks \ | |
25 -I/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1/include \ | |
26 -isystem /Developer/SDKs/MacOSX10.4u.sdk/usr/include" | |
27 | |
28 GCC_LINK_X86="\ | |
29 -L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.0 \ | |
30 -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" | |
31 | |
32 # Output both PowerPC and Intel object files | |
33 args="$*" | |
34 compile=yes | |
35 link=yes | |
36 while test x$1 != x; do | |
37 case $1 in | |
38 --version) exec gcc $1;; | |
39 -v) exec gcc $1;; | |
40 -V) exec gcc $1;; | |
41 -print-prog-name=*) exec gcc $1;; | |
42 -print-search-dirs) exec gcc $1;; | |
43 -E) GCC_COMPILE_PPC="$GCC_COMPILE_PPC -E" | |
44 GCC_COMPILE_X86="$GCC_COMPILE_X86 -E" | |
45 compile=no; link=no;; | |
46 -c) link=no;; | |
47 -o) output=$2;; | |
48 *.c|*.cc|*.cpp|*.S) source=$1;; | |
49 esac | |
50 shift | |
51 done | |
52 if test x$link = xyes; then | |
53 GCC_COMPILE_PPC="$GCC_COMPILE_PPC $GCC_LINK_PPC" | |
54 GCC_COMPILE_X86="$GCC_COMPILE_X86 $GCC_LINK_X86" | |
55 fi | |
56 if test x"$output" = x; then | |
57 if test x$link = xyes; then | |
58 output=a.out | |
59 elif test x$compile = xyes; then | |
60 output=`echo $source | sed -e 's|.*/||' -e 's|\(.*\)\.[^\.]*|\1|'`.o | |
61 fi | |
62 fi | |
63 | |
64 if test x"$output" != x; then | |
65 dir=ppc/`dirname $output` | |
66 if test -d $dir; then | |
67 : | |
68 else | |
69 mkdir -p $dir | |
70 fi | |
71 fi | |
72 set -- $args | |
73 while test x$1 != x; do | |
74 if test -f "ppc/$1" && test "$1" != "$output"; then | |
75 ppc_args="$ppc_args ppc/$1" | |
76 else | |
77 ppc_args="$ppc_args $1" | |
78 fi | |
79 shift | |
80 done | |
81 $GCC_COMPILE_PPC $ppc_args || exit $? | |
82 if test x"$output" != x; then | |
83 cp $output ppc/$output | |
84 fi | |
85 | |
86 if test x"$output" != x; then | |
87 dir=x86/`dirname $output` | |
88 if test -d $dir; then | |
89 : | |
90 else | |
91 mkdir -p $dir | |
92 fi | |
93 fi | |
94 set -- $args | |
95 while test x$1 != x; do | |
96 if test -f "x86/$1" && test "$1" != "$output"; then | |
97 x86_args="$x86_args x86/$1" | |
98 else | |
99 x86_args="$x86_args $1" | |
100 fi | |
101 shift | |
102 done | |
103 $GCC_COMPILE_X86 $x86_args || exit $? | |
104 if test x"$output" != x; then | |
105 cp $output x86/$output | |
106 fi | |
107 | |
108 if test x"$output" != x; then | |
109 lipo -create -o $output ppc/$output x86/$output | |
110 fi |