aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2014-07-27 12:53:30 -0700
committerGuy Harris <guy@alum.mit.edu>2014-07-27 19:55:03 +0000
commit8aa0507753e277ab9695479d19efc232c15ef8fe (patch)
tree48a47188245338d67dc2e232593e52008207fee8
parent465810969037d06cd027f9d8b18c82cf405b6b01 (diff)
Add some scripts to fix up Qt's OS X binary packages.
You have to run macosx-support-lib-patches/qt-fix-pc-files manually, telling it where Qt was installed, but so it goes.... Change-Id: I8668a1fc4254cc002aee068749edb3cf3bdb854f Reviewed-on: https://code.wireshark.org/review/3215 Reviewed-by: Guy Harris <guy@alum.mit.edu>
-rw-r--r--Makefile.am2
-rwxr-xr-xmacosx-support-lib-patches/qt-fix-pc-file16
-rwxr-xr-xmacosx-support-lib-patches/qt-fix-pc-files15
3 files changed, 33 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index c835d91966..7791d039b8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -963,6 +963,8 @@ EXTRA_DIST = \
macosx-support-lib-patches/gnutls-pkgconfig.patch \
macosx-support-lib-patches/portaudio-pa_mac_core.h.patch \
macosx-support-lib-patches/portaudio-pa_mac_core.c.patch \
+ macosx-support-lib-patches/qt-fix-pc-file \
+ macosx-support-lib-patches/qt-fix-pc-files \
make-version.pl \
manuf \
manuf.tmpl \
diff --git a/macosx-support-lib-patches/qt-fix-pc-file b/macosx-support-lib-patches/qt-fix-pc-file
new file mode 100755
index 0000000000..8d331ca3b6
--- /dev/null
+++ b/macosx-support-lib-patches/qt-fix-pc-file
@@ -0,0 +1,16 @@
+#! /bin/sh
+#
+# Fix a single Qt .pc file to provide the right flags; a -F flag is
+# needed to point to the directory under which the frameworks are
+# placed, and a -I flag needs to point to the directory where
+# the include files for the component in question are place in
+# the framework's directory hierarchy, rather thany to where the
+# include files *would* be if the component *weren't* distributed
+# as a framework.
+#
+ed - "$1" <<EOF
+H
+/^Cflags: /s;-I\${includedir}/\([A-Za-z0-9]*\);-I\${libdir}/\1.framework/Versions/5/Headers;p
+/^Cflags: /s;;Cflags: -F\${libdir} ;p
+w
+q
diff --git a/macosx-support-lib-patches/qt-fix-pc-files b/macosx-support-lib-patches/qt-fix-pc-files
new file mode 100755
index 0000000000..52e3dcca95
--- /dev/null
+++ b/macosx-support-lib-patches/qt-fix-pc-files
@@ -0,0 +1,15 @@
+#! /bin/sh
+#
+# Fix the .pc files for versions of Qt installed from binary packages.
+#
+# See bug QTBUG-35256 for the full painful story. Shorter version:
+# the OS X Qt packages provide the Qt components as frameworks, but
+# the .pc files don't generate the right CFLAGS/CXXFLAGS to make
+# that work, so autoconf doesn't work correctly.
+#
+if [ "$#" != 1 ]
+then
+ echo "Usage: qt-fix-pc-files <top-level Qt directory>" 1>&1
+ exit 1
+fi
+find "$1" -name '*.pc" -exec ./qt-fix-pc-file {} ";"