#!/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 <