]> Repos - portaudio/commitdiff
Apply patch to configure to fix build on Mac Lion.
authorphilburk <philburk@0f58301d-fd10-0410-b4af-bbb618454e57>
Sat, 1 Sep 2012 21:11:27 +0000 (21:11 +0000)
committerphilburk <philburk@0f58301d-fd10-0410-b4af-bbb618454e57>
Sat, 1 Sep 2012 21:11:27 +0000 (21:11 +0000)
See ticket #216.

configure
configure.in

index 4b502fec0e917315a700c62cb17b214f5743a18e..a58b15da5fbec419423493b0e8cb60043674fc12 100755 (executable)
Binary files a/configure and b/configure differ
index e7409509d10b40ce61689b894b25ae1d3fb30204..77835818328018c1d1c8065c70b8bf460d4c653b 100644 (file)
@@ -208,23 +208,63 @@ case "${host_os}" in
         LIBS="-framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon"
 
         if test "x$enable_mac_universal" = "xyes" ; then
-           if [[ -d /Developer/SDKs/MacOSX10.5.sdk ]] ; then
-              mac_version_min="-mmacosx-version-min=10.3"
-              mac_arches="-arch i386 -arch ppc -arch x86_64 -arch ppc64"
-              mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.5.sdk"
-           elif [[ -d /Developer/SDKs/MacOSX10.6.sdk ]] ; then
-              mac_version_min="-mmacosx-version-min=10.4"
-              mac_arches="-arch i386 -arch x86_64"
-              mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.6.sdk"
-           elif [[ -d /Developer/SDKs/MacOSX10.7.sdk ]] ; then
-              mac_version_min="-mmacosx-version-min=10.4"
-              mac_arches="-arch i386 -arch x86_64"
-              mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.7.sdk"
-           else
-              mac_version_min="-mmacosx-version-min=10.3"
-              mac_arches="-arch i386 -arch ppc"
-              mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
-           fi
+           case "xcodebuild -version | sed -n 's/Xcode \(.*\)/\1/p'" in
+
+           [12]*|3.0|3.1)
+              dnl In pre-3.2 versions of Xcode, xcodebuild doesn't
+              dnl support -sdk, so we can't use that to look for
+              dnl SDKs.  However, in those versions of Xcode, the
+              dnl SDKs are under /Developer/SDKs, so we can just look
+              dnl there.  Also, we assume they had no SDKs later
+              dnl than 10.5, as 3.2 was the version that came with
+              dnl 10.6, at least if the Wikipedia page for Xcode
+              dnl is to be believed.
+              if [[ -d /Developer/SDKs/MacOSX10.5.sdk ]] ; then
+                 mac_version_min="-mmacosx-version-min=10.3"
+                 mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.5.sdk"
+              else
+                 mac_version_min="-mmacosx-version-min=10.3"
+                 mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
+              fi
+              ;;
+
+           *)
+              dnl In 3.2 and later, xcodebuild supports -sdk, and, in
+              dnl 4.3 and later, the SDKs aren't under /Developer/SDKs
+              dnl as there *is* no /Developer, so we use -sdk to check
+              dnl what SDKs are available and to get the full path of
+              dnl the SDKs.
+              if xcodebuild -version -sdk macosx10.5 Path >/dev/null 2>&1 ; then
+                 mac_version_min="-mmacosx-version-min=10.3"
+                 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.5 Path`"
+              elif xcodebuild -version -sdk macosx10.6 Path >/dev/null 2>&1 ; then
+                 mac_version_min="-mmacosx-version-min=10.4"
+                 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.6 Path`"
+              elif xcodebuild -version -sdk macosx10.7 Path >/dev/null 2>&1 ; then
+                 mac_version_min="-mmacosx-version-min=10.4"
+                 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.7 Path`"
+              else
+                 AC_MSG_ERROR([Couldn't find 10.5, 10.6, or 10.7 SDK])
+              fi
+           esac
+
+           dnl Pick which architectures to build for based on what
+           dnl the compiler supports.
+           mac_arches=""
+           for arch in i386 x86_64 ppc ppc64
+           do
+              save_CFLAGS="$CFLAGS"
+              CFLAGS="$CFLAGS -arch $arch"
+              AC_TRY_COMPILE([], [return 0;],
+                 [
+                    if [[ -z "$mac_arches" ]] ; then
+                       mac_arches="-arch $arch"
+                    else
+                       mac_arches="$mac_arches -arch $arch"
+                    fi
+                 ])
+              CFLAGS="$save_CFLAGS"
+           done
         else
            mac_arches=""
            mac_sysroot=""