-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3rd party software build should not use llvm-gcc anymore #92
Comments
This can be fixed by moving the entire build process to use the Xcode build system. CocoaLumberjack, QuincyKit and ZipKit are already there, now Boost and Fuego also need to be streamlined. The latest version of Boost can be built as a framework with this: https://gitorious.org/~galbraithjoseph/boostoniphone/galbraithjosephs-boostoniphone Experimentation has shown that Fuego trunk can also be built with Xcode (no attempt was made to actually execute the result). A few compilation errors need to be fixed, especially due to ambiguous names (e.g. "mutex" is both in the boost and the std namespace), but none of the changes are too wild. For the moment, the project is put on hold until Fuego 2.0 has been released. |
How to build Boost as framework:
The results are dropped here:
Tweaks to the build process:
The build uses the following BJam snippet (copy&pasted verbatim from boost.sh): using darwin : ${IPHONE_SDKVERSION}~iphone |
How to build Fuego as static library:
Tweaks to the build process:
For fuego-trunk the following errors had to be fixed at the time of writing this:
|
…neral build improvements general changes to the build - the 3rdparty build now uses clang instead of llvm-gcc - the clang binary used is the one reported by "xcrun" (instead of manually generating a deep link into the Xcode.app folder) - instead of environment variables the build now uses compiler/linker options to specify the deployment target (e.g. -miphoneos-version-min instead of IPHONEOS_DEPLOYMENT_TARGET) - the simulator build now has its own deployment target (previously it used the iPhone deployment target) - remove the compiler option "-thumb-interwork" from the iPhone build - an attempt to use the libc++ implementation of the C++ standard library (compiler/linker option "-stdlib=libc++") was abandoned because Fuego hung up on thread initialization during application startup changes to the Boost build - new Boost version 1.54.0 (previously 1.45.0) - improve boost build by using the <root> option in the bjam user config (source for this is the Boost build script in the Gitorious project galbraithjosephs-boostoniphone) changes to the Fuego build - new Fuego version uec-cup-2013 (previously 1.1) - fuego patch changes - patches 2, 3 and 4 are now consolidated in 02-fuego-mainfunction.patch - patch 6 that fixes a configure script problem is no longer necessary since the new Fuego version already contains a fixed configure script - new patches to fix general clang compiler errors, and C++11 compiler errors doc changes - clearly state in the quick-start guide that the build is geared to a specific combination of Xcode/iOS SDK - add information about build configurations used in old version - add detailed instructions on how a patched version of Fuego can be built and tested on the Mac OS X command line
Xcode 4.6 deprecates llvm-gcc. The release notes say this: "Xcode 4.6 is the last major Xcode release that will include the llvm-gcc compiler and the GDB debugger. Please move to use the Apple LLVM compiler and LLDB debugger [...]"
The text was updated successfully, but these errors were encountered: