summaryrefslogtreecommitdiff
path: root/MacOSX-Framework
diff options
context:
space:
mode:
authorRamakrishnan Muthukrishnan <vu3rdd@gmail.com>2010-03-18 18:24:27 +0530
committerRamakrishnan Muthukrishnan <vu3rdd@gmail.com>2010-03-18 18:24:27 +0530
commit53cb199bdf55de6023e0b69832901d8286bf0594 (patch)
tree9ad3158040df72b9ad0d72fac2ce87fdb8146427 /MacOSX-Framework
Imported Upstream version 7.20.0
Diffstat (limited to 'MacOSX-Framework')
-rwxr-xr-xMacOSX-Framework78
1 files changed, 78 insertions, 0 deletions
diff --git a/MacOSX-Framework b/MacOSX-Framework
new file mode 100755
index 00000000..b046fba6
--- /dev/null
+++ b/MacOSX-Framework
@@ -0,0 +1,78 @@
+#!/bin/bash
+# This script performs all of the steps needed to build a
+# universal binary libcurl.framework for Mac OS X 10.4 or greater.
+
+VERSION=`/usr/bin/sed -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' include/curl/curlver.h`
+
+SDK32='/Developer/SDKs/MacOSX10.4u.sdk'
+
+MINVER32='-mmacosx-version-min=10.4'
+
+ARCHES32='-arch ppc -arch i386'
+
+SDK64='/Developer/SDKs/MacOSX10.5.sdk'
+
+MINVER64='-mmacosx-version-min=10.5'
+
+ARCHES64='-arch ppc64 -arch x86_64'
+
+if test -d $SDK32; then
+ echo "----Configuring libcurl for 32 bit universal framework..."
+ ./configure --disable-dependency-tracking --disable-static --with-gssapi \
+ CFLAGS="-Os -isysroot $SDK32 $ARCHES32 $MINVER32" \
+ LDFLAGS="-Wl,-syslibroot,$SDK32 $ARCHES32 $MINVER32 -Wl,-headerpad_max_install_names" \
+ CC=$CC
+
+ echo "----Building 32 bit libcurl..."
+ make
+
+ echo "----Creating 32 bit framework..."
+ rm -r libcurl.framework
+ mkdir -p libcurl.framework/Versions/A/Resources
+ cp lib/.libs/libcurl.dylib libcurl.framework/Versions/A/libcurl
+ install_name_tool -id @executable_path/../Frameworks/libcurl.framework/Versions/A/libcurl libcurl.framework/Versions/A/libcurl
+ /usr/bin/sed -e "s/7\.12\.3/$VERSION/" lib/libcurl.plist >libcurl.framework/Versions/A/Resources/Info.plist
+ mkdir -p libcurl.framework/Versions/A/Headers/curl
+ cp include/curl/*.h libcurl.framework/Versions/A/Headers/curl
+ pushd libcurl.framework
+ ln -fs Versions/A/libcurl libcurl
+ ln -fs Versions/A/Resources Resources
+ ln -fs Versions/A/Headers Headers
+ cd Versions
+ ln -fs A Current
+
+ if test -d $SDK64; then
+ popd
+ make clean
+ echo "----Configuring libcurl for 64 bit universal framework..."
+ ./configure --disable-dependency-tracking --disable-static --with-gssapi \
+ CFLAGS="-Os -isysroot $SDK64 $ARCHES64 $MINVER64" \
+ LDFLAGS="-Wl,-syslibroot,$SDK64 $ARCHES64 $MINVER64 -Wl,-headerpad_max_install_names" \
+ CC=$CC
+
+ echo "----Building 64 bit libcurl..."
+ make
+
+ echo "----Appending 64 bit framework to 32 bit framework..."
+ cp lib/.libs/libcurl.dylib libcurl.framework/Versions/A/libcurl64
+ install_name_tool -id @executable_path/../Frameworks/libcurl.framework/Versions/A/libcurl libcurl.framework/Versions/A/libcurl64
+ cp libcurl.framework/Versions/A/libcurl libcurl.framework/Versions/A/libcurl32
+ lipo libcurl.framework/Versions/A/libcurl32 libcurl.framework/Versions/A/libcurl64 -create -output libcurl.framework/Versions/A/libcurl
+ rm libcurl.framework/Versions/A/libcurl32 libcurl.framework/Versions/A/libcurl64
+ cp libcurl.framework/Versions/A/Headers/curl/curlbuild.h libcurl.framework/Versions/A/Headers/curl/curlbuild32.h
+ cp include/curl/curlbuild.h libcurl.framework/Versions/A/Headers/curl/curlbuild64.h
+ cat >libcurl.framework/Versions/A/Headers/curl/curlbuild.h <<EOF
+#ifdef __LP64__
+#include "curl/curlbuild64.h"
+#else
+#include "curl/curlbuild32.h"
+#endif
+EOF
+ fi
+
+ lipo -info libcurl.framework/Versions/A/libcurl
+ echo "libcurl.framework is built and can now be included in other projects."
+ echo "Copy libcurl.framework to your bundle's Contents/Frameworks folder, ~/Library/Frameworks or /Library/Frameworks."
+else
+ echo "Building libcurl.framework requires Mac OS X 10.4 or later with the MacOSX10.4u SDK installed."
+fi