diff options
author | Ramakrishnan Muthukrishnan <vu3rdd@gmail.com> | 2010-03-18 18:24:27 +0530 |
---|---|---|
committer | Ramakrishnan Muthukrishnan <vu3rdd@gmail.com> | 2010-03-18 18:24:27 +0530 |
commit | 53cb199bdf55de6023e0b69832901d8286bf0594 (patch) | |
tree | 9ad3158040df72b9ad0d72fac2ce87fdb8146427 /MacOSX-Framework |
Imported Upstream version 7.20.0
Diffstat (limited to 'MacOSX-Framework')
-rwxr-xr-x | MacOSX-Framework | 78 |
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 |