Add some patches to make PortAudio build with the macosx-setup.sh
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 11 Aug 2012 23:03:06 +0000 (23:03 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 11 Aug 2012 23:03:06 +0000 (23:03 +0000)
script.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@44446 f5534014-38df-0310-8fa8-9805f1628bb7

Makefile.am
macosx-setup.sh
macosx-support-lib-patches/portaudio-configure.in.patch [new file with mode: 0644]
macosx-support-lib-patches/portaudio-pa_mac_core.h.patch [new file with mode: 0644]

index 43670a781c1787879bb7303ecdc1bc2e31b9bf69..cf9765da204e157cb5d56b5318a0a632a0f54bc8 100644 (file)
@@ -823,6 +823,8 @@ EXTRA_DIST = \
        macosx-setup.sh         \
        macosx-support-lib-patches/glib-pkgconfig.patch \
        macosx-support-lib-patches/gnutls-pkgconfig.patch \
+       macosx-support-lib-patches/portaudio-configure.in.patch \
+       macosx-support-lib-patches/portaudio-pa_mac_core.h.patch \
        make-version.pl         \
        manuf                   \
        manuf.tmpl              \
index 728efc364caa5202dd7ce1c566f2800289dbb1c1..c16323c567e17b04f45cf80aa5166270cf0ed250 100755 (executable)
@@ -396,6 +396,28 @@ then
        curl -L -O http://www.portaudio.com/archives/$PORTAUDIO_VERSION.tgz || exit 1
        tar xf $PORTAUDIO_VERSION.tgz || exit 1
        cd portaudio
+       #
+       # Fix some problems with Xcode 4 and PortAudio's configure
+       # script - patch the configure script and rebuild it.
+       #
+       # "autoreconf -if" is what the PortAudio README.configure.txt
+       # file says to use; I'm guessing it's required in order to
+       # adapt to the libtool *you* have installed rather than the
+       # one installed on the machine on which the PortAudio tarball
+       # was built.
+       #
+       # However, it appears that, as PortAudio doesn't use
+       # automake, it removes config.guess and config.sub and
+       # *doesn't replace them* as it doesn't run "automake --add-missing".
+       # We therefore do so ourselves.
+       #
+       patch -p0 configure.in <../../macosx-support-lib-patches/portaudio-configure.in.patch
+       autoreconf -if
+       automake --add-missing
+       #
+       # And also un-comment an include that's required on Lion.
+       #
+       patch -p0 include/pa_mac_core.h <../../macosx-support-lib-patches/portaudio-pa_mac_core.h.patch
        ./configure || exit 1
        make -j 3 || exit 1
        $DO_MAKE_INSTALL || exit 1
diff --git a/macosx-support-lib-patches/portaudio-configure.in.patch b/macosx-support-lib-patches/portaudio-configure.in.patch
new file mode 100644 (file)
index 0000000..9678469
--- /dev/null
@@ -0,0 +1,83 @@
+--- configure.in.dist  2011-11-10 20:06:17.000000000 -0800
++++ configure.in       2012-08-11 13:57:51.000000000 -0700
+@@ -208,23 +208,63 @@
+         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=""
diff --git a/macosx-support-lib-patches/portaudio-pa_mac_core.h.patch b/macosx-support-lib-patches/portaudio-pa_mac_core.h.patch
new file mode 100644 (file)
index 0000000..9641fe0
--- /dev/null
@@ -0,0 +1,11 @@
+--- include/pa_mac_core.h.dist 2011-07-09 08:01:52.000000000 -0700
++++ include/pa_mac_core.h      2012-08-11 12:14:25.000000000 -0700
+@@ -46,7 +46,7 @@
+ #include "portaudio.h"
+ #include <AudioUnit/AudioUnit.h>
+-//#include <AudioToolbox/AudioToolbox.h>
++#include <AudioToolbox/AudioToolbox.h>
+ #ifdef __cplusplus
+ extern "C" {