3 # Attempt to build a universal library for OSX
8 dp
="$(xcode-select -print-path 2>/dev/null)"
11 gc40
="$(command -v gcc-4.0 2>/dev/null)"
12 gc42
="$(command -v gcc-4.2 2>/dev/null)"
13 mp42
="$(command -v gcc-apple-4.2 2>/dev/null)"
14 lv42
="$(command -v llvm-gcc-4.2 2>/dev/null)"
17 if [ -n "$gc42" ]; then
19 elif [ -n "$mp42" ]; then
21 elif [ -n "$lv42" ]; then
24 if [ -n "$gc40" ]; then
26 elif [ -n "$gca2" ]; then
30 if [ -d "$dp/SDKs" ]; then
31 # First see if 10.4u is available and gcc-4.0
32 if [ -z "$done" -a -r "$dp/SDKs/MacOSX10.4u.sdk/SDKSettings.plist" -a -n "$gc40" ]; then
35 NEWCFLAGS
="-arch x86_64 -arch ppc64 -arch i386 -arch ppc"
36 NEWCFLAGS
="$NEWCFLAGS -isysroot$dp/SDKs/MacOSX10.4u.sdk"
38 # Or see if 10.5 is available, any compiler will do
39 if [ -z "$done" -a -r "$dp/SDKs/MacOSX10.5.sdk/SDKSettings.plist" -a -n "$gca0" ]; then
42 NEWCFLAGS
="-arch x86_64 -arch ppc64 -arch i386 -arch ppc"
43 NEWCFLAGS
="$NEWCFLAGS -isysroot$dp/SDKs/MacOSX10.5.sdk"
45 # Or see if 10.6 is available, any 4.2 compiler will do
46 if [ -z "$done" -a -r "$dp/SDKs/MacOSX10.6.sdk/SDKSettings.plist" -a -n "$gca2" ]; then
49 NEWCFLAGS
="-arch x86_64 -arch i386 -arch ppc"
50 NEWCFLAGS
="$NEWCFLAGS -isysroot$dp/SDKs/MacOSX10.6.sdk"
52 # Or see if 10.7 is available, any 4.2 compiler will do
53 if [ -z "$done" -a -r "$dp/SDKs/MacOSX10.7.sdk/SDKSettings.plist" -a -n "$gca2" ]; then
56 NEWCFLAGS
="-arch x86_64 -arch i386"
57 NEWCFLAGS
="$NEWCFLAGS -isysroot$dp/SDKs/MacOSX10.7.sdk"
61 if [ -z "$done" ]; then
62 # Select by OS version as we have no SDKs
63 dv
="$(sysctl -n kern.osrelease 2>/dev/null | cut -d. -f1 2>/dev/null)"
64 if [ -z "$done" -a "$dv" = "8" ]; then
68 # Tiger's system libraries are not guaranteed to be universal
70 if [ -z "$done" -a "$dv" = "9" ]; then
74 NEWCFLAGS
="-arch x86_64 -arch ppc64 -arch i386 -arch ppc"
76 if [ -z "$done" -a "$dv" = "10" ]; then
80 NEWCFLAGS
="-arch x86_64 -arch i386 -arch ppc"
82 if [ -z "$done" -a "$dv" = "11" ]; then
86 NEWCFLAGS
="-arch x86_64 -arch i386"
89 if [ -n "$NEWCC" -a -z "$CC" ]; then
90 CC
="$NEWCC" && export CC
92 if [ -n "$done" ]; then
93 if [ -z "$MACOSX_DEPLOYMENT_TARGET" ]; then
94 MACOSX_DEPLOYMENT_TARGET
=10.4 && export MACOSX_DEPLOYMENT_TARGET
97 if [ -n "$NEWCFLAGS" ]; then
98 if [ -z "$CFLAGS" ]; then
99 CFLAGS
="-O2 $NEWCFLAGS" && export CFLAGS
101 CFLAGS
="$CFLAGS $NEWCFLAGS" && export CFLAGS
104 build
="$(dirname "$0")/buildlib"
105 if [ -n "$MACOSX_DEPLOYMENT_TARGET" ]; then
106 echo "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET"