背景
我写一个程序,针对几个不同的手机,包括iPhone。 该程序取决于几个第三方库。 我有困难交叉编译为iPhone和iPhone模拟器这些第三方库。 该库包括了Apache可移植运行和GNUTLS,以及它们的依赖关系。 我想内置库中的前缀“/opt/iphone-3.1”结束了,“/opt/iphone-3.0”,“/opt/iphone-2.2.1”,“/opt/iphone-simulator-3.1 ”和 “/opt/iphone-simulator-3.0”,分别。
为了使交叉编译过程中容易重复,我创建脚本来调用“configure”脚本对每个目标平台(“iphone3.1进行配置”,“iphone3.0进行配置”,“iphone2.2.1 -configure”, “iphonesim3.1进行配置”,和 “iphonesim3.0进行配置”)。 这是我遇到的麻烦。
我使用的是Mac OS X 10.6 Snow Leopard的电脑与官方的Xcode 3.2 + iPhone SDK 3.1。
状态
目前,我有以下的“iphone3.1进行配置”脚本:
#! /bin/bash # # Program : iphone3.1-configure # Author : Michael Aaron Safyan # Synopsis : # This program runs the "configure" script generated by the # GNU Autotools in order to cross-compile thirdparty libraries # for the iPhone 3.1 SDK. Run this script while in a directory # containing an autotools "configure" script. Once run, this # you can use "make" and "sudo make install" to build the library. # An install prefix of "/opt/iphone-3.1/" is used. # unset CPATH unset C_INCLUDE_PATH unset CPLUS_INCLUDE_PATH unset OBJC_INCLUDE_PATH unset LIBS unset DYLD_FALLBACK_LIBRARY_PATH unset DYLD_FALLBACK_FRAMEWORK_PATH export BUILD_DARWIN_VER=`uname -r` export SDKVER="3.1" export DEVROOT="/Developer/Platforms/iPhoneOS.platform/Developer" export SDKROOT="$DEVROOT/SDKs/iPhoneOS$SDKVER.sdk" export PKG_CONFIG_PATH=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$SDKVER.sdk/usr/lib/pkgconfig:/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/pkgconfig:/opt/iphone-$SDKVER/lib/pkgconfig:/usr/local/iphone-$SDKVER/lib/pkgconfig export PREFIX="/opt/iphone-$SDKVER" export AS="$DEVROOT/usr/bin/as" export ASCPP="$DEVROOT/usr/bin/as" export AR="$DEVROOT/usr/bin/ar" export RANLIB="$DEVROOT/usr/bin/ranlib" export CPPFLAGS="-std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='$SDKROOT' -isystem $SDKROOT/usr/include -isystem $DEVROOT/usr/include -isystem /opt/iphone-$SDKVER/include -isystem /usr/local/iphone-$SDKVER/include" export CFLAGS="-std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='$SDKROOT' -isystem $SDKROOT/usr/include -isystem $DEVROOT/usr/include -isystem /opt/iphone-$SDKVER/include -isystem /usr/local/iphone-$SDKVER/include" export CXXFLAGS="-std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='$SDKROOT' -isystem $SDKROOT/usr/include -isystem $DEVROOT/usr/include -isystem /opt/iphone-$SDKVER/include -isystem /usr/local/iphone-$SDKVER/include" export LDFLAGS="-arch armv6 --sysroot='$SDKROOT' -L$SDKROOT/usr/lib -L$DEVROOT/usr/lib -L/opt/iphone-$SDKVER/lib -L/usr/local/iphone-$SDKVER/lib" export CPP="$DEVROOT/usr/bin/cpp-4.2" export CC="$DEVROOT/usr/bin/gcc-4.2" export CXX="$DEVROOT/usr/bin/g++-4.2" export LD="$DEVROOT/usr/bin/ld" if [ ! \( -d "$DEVROOT" \) ] ; then echo "The iPhone SDK could not be found. Folder \"$DEVROOT\" does not exist." exit 1 fi if [ ! \( -d "$SDKROOT" \) ] ; then echo "The iPhone SDK could not be found. Folder \"$SDKROOT\" does not exist." exit 1 fi ./configure --prefix="$PREFIX" --build="i386-apple-darwin$BUILD_DARWIN_VER" --host="arm-apple-darwin9" --enable-static --disable-shared $@
在 “APR-1.3.8” 的文件夹,我正在运行 “iphone3.1-配置--disable-DSO”,和我越来越:
checking build system type... i386-apple-darwin10.0.0 checking host system type... arm-apple-darwin9 checking target system type... arm-apple-darwin9 Configuring APR library Platform: arm-apple-darwin9 checking for working mkdir -p... yes APR Version: 1.3.8 checking for chosen layout... apr checking for arm-apple-darwin9-gcc... /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... yes checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 accepts -g... yes checking for /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 option to accept ISO C89... unsupported Applying APR hints file rules for arm-apple-darwin9 adding "-DDARWIN" to CPPFLAGS adding "-DSIGPROCMASK_SETS_THREAD_MASK" to CPPFLAGS setting apr_posixsem_is_global to "yes" setting ac_cv_func_kqueue to "no" setting ac_cv_func_poll to "no" (Default will be unix) checking whether make sets $(MAKE)... yes checking how to run the C preprocessor... /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp-4.2 configure: error: in `/Users/michaelsafyan/Downloads/apr-1.3.8': configure: error: C preprocessor "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp-4.2" fails sanity check See `config.log' for more details.
的“的config.log”的相关部分是:
configure:7710: checking how to run the C preprocessor configure:7828: result: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp-4.2 configure:7857: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp-4.2 -std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk' -isystem /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/include -isystem /Developer/Platforms/iPhoneOS.platform/Developer/usr/include -isystem /opt/iphone-3.1/include -isystem /usr/local/iphone-3.1/include -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK conftest.c cpp-4.2: error trying to exec 'cc1': execvp: No such file or directory configure:7864: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | /* end confdefs.h. */ | #ifdef __STDC__ | # include | #else | # include | #endif | Syntax error configure:7857: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp-4.2 -std=c99 -arch armv6 -pipe -no-cpp-precomp --sysroot='/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk' -isystem /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/include -isystem /Developer/Platforms/iPhoneOS.platform/Developer/usr/include -isystem /opt/iphone-3.1/include -isystem /usr/local/iphone-3.1/include -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK conftest.c cpp-4.2: error trying to exec 'cc1': execvp: No such file or directory configure:7864: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | /* end confdefs.h. */ | #ifdef __STDC__ | # include | #else | # include | #endif | Syntax error configure:7926: error: in `/Users/michaelsafyan/Downloads/apr-1.3.8': configure:7929: error: C preprocessor "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp-4.2" fails sanity check See `config.log' for more details.
题
如何解决“iphone3.1进行配置”的脚本? 谢谢。