path: root/macosx-support-lib-patches
diff options
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 /macosx-support-lib-patches
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>
Diffstat (limited to 'macosx-support-lib-patches')
2 files changed, 31 insertions, 0 deletions
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
+/^Cflags: /s;-I\${includedir}/\([A-Za-z0-9]*\);-I\${libdir}/\1.framework/Versions/5/Headers;p
+/^Cflags: /s;;Cflags: -F\${libdir} ;p
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 ]
+ echo "Usage: qt-fix-pc-files <top-level Qt directory>" 1>&1
+ exit 1
+find "$1" -name '*.pc" -exec ./qt-fix-pc-file {} ";"