Cross compiling FreeTDS to iPhone

后端 未结 2 1409
南方客
南方客 2020-12-29 04:02

Since this question is unanswered and I spent the majority of a semester figuring it I thought I would post how to Cross compiling FreeTDS 0.91 to iPhone ARMv6, ARMv7 archit

2条回答
  •  失恋的感觉
    2020-12-29 04:22

    I used the above bash files but since XCode 4.5 the Developer Tools are inside the app bundle. So I modified the scripts to run with my MacOS Lion and the current XCode Version "4.5.2 (4G2008a)"

    build_for_simulator_i386.sh:

    #!/bin/sh
    
    # unset some shell variables
    unset CC
    unset CFLAGS
    unset CPP
    
    # make i386 (Simulator) target
    export CC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/i686-apple-darwin11-llvm-gcc-4.2
    export CFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk"
    export CPP=/usr/bin/cpp
    
    ./configure -build=i686-apple-darwin11 --host=i686-apple-darwin11 --target=i686-apple-darwin11 --with-tdsver=7.1
    

    build_for_device_armv7.sh:

    #!/bin/sh
    
    # unset some shell variables
    unset CC
    unset CFLAGS
    unset CPP
    
    # make arm target
    export CC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2
    export CFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk"
    export CPP=/usr/bin/cpp
    
    ./configure --build=arm-apple-darwin10 --host=x86_64-apple-darwin11 --target=armv7 --with-tdsver=7.1
    

    A nice add-on is to use lipinfo to merge two static libraries into one by

    lipo compiled_freetds-0.91_device_armv7/libsybdb.a compiled_freetds-0.91_simulator_i386/libsybdb.a -create -output universal_libsybdb.a
    

    and just adding this to the project's settings.

    Wanted to share it, since the above scripts saved me a lot of time.

提交回复
热议问题