aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2012-08-11 23:03:06 +0000
committerGuy Harris <guy@alum.mit.edu>2012-08-11 23:03:06 +0000
commit8bec02eb33779b2232bd9f1728b71cbdcde3ad3f (patch)
tree4354b16d1db3eb30ed9bcca4666883c82c8599b3
parent765c81a932c12dcbfb0d0401dd435925facc517c (diff)
Add some patches to make PortAudio build with the macosx-setup.sh
script. svn path=/trunk/; revision=44446
-rw-r--r--Makefile.am2
-rwxr-xr-xmacosx-setup.sh22
-rw-r--r--macosx-support-lib-patches/portaudio-configure.in.patch83
-rw-r--r--macosx-support-lib-patches/portaudio-pa_mac_core.h.patch11
4 files changed, 118 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 43670a781c..cf9765da20 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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 \
diff --git a/macosx-setup.sh b/macosx-setup.sh
index 728efc364c..c16323c567 100755
--- a/macosx-setup.sh
+++ b/macosx-setup.sh
@@ -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
index 0000000000..96784697bf
--- /dev/null
+++ b/macosx-support-lib-patches/portaudio-configure.in.patch
@@ -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
index 0000000000..9641fe02f2
--- /dev/null
+++ b/macosx-support-lib-patches/portaudio-pa_mac_core.h.patch
@@ -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" {