osxcross/README.md

233 lines
8.6 KiB
Markdown
Raw Normal View History

## OS X Cross toolchain for Linux, *BSD and Cygwin ##
2013-11-13 20:47:04 +01:00
### WHAT IS THE GOAL OF OSXCROSS? ###
The goal of OSXCross is to provide a well working OS X cross toolchain for Linux, *BSD and Cygwin.
2013-11-13 20:47:04 +01:00
### HOW DOES IT WORK? ###
[Clang/LLVM is a cross compiler by default](http://clang.llvm.org/docs/CrossCompilation.html)
and is now available on nearly every Linux distribution,
so we just need a proper
[port](https://github.com/tpoechtrager/cctools-port)
of the [cctools](http://www.opensource.apple.com/tarballs/cctools) (ld, lipo, ...) and the OS X SDK.
2013-11-13 20:47:04 +01:00
If you want, then you can build an up-to-date vanilla GCC as well.
### WHAT CAN I BUILD WITH IT? ###
Basically everything you can build on OS X with clang/gcc should build with this cross toolchain as well.
### PACKET MANAGERS ###
OSXCross comes with a minimalistic MacPorts Packet Manager.
2015-07-20 21:13:36 +02:00
Please see [README.MACPORTS](README.MACPORTS.md) for more.
2013-11-13 20:47:04 +01:00
### INSTALLATION: ###
2015-07-20 22:41:14 +02:00
*Windows/Cygwin users should follow [README.CYGWIN](README.CYGWIN.md).*
Move your [packaged SDK](https://github.com/tpoechtrager/osxcross#packaging-the-sdk) to the tarballs/ directory.
2013-11-13 20:47:04 +01:00
Then ensure you have the following installed on your system:
2013-11-13 20:47:04 +01:00
update cctools to 870 and ld64 to 242 OSXCross *should* now work on Linux ARM devices with this update. Port changes: * commit f7818cbf61074ea6fbb56de1b50c0973afe3428f | Author: Thomas Pöchtrager | Date: Fri Jul 17 19:34:57 2015 +0200 | | add preliminary llvm-3.8 support | * commit 8482a95745f54062de974e65fdd28b0389f3c6a5 | Author: Thomas Pöchtrager | Date: Sat Jul 11 09:32:55 2015 +0200 | | * get rid of the openssl dependency | * make libuuid optional (based on http://git.io/vqbwu) | * commit a8e002367d64c5e3e3a195bba37aa1ccb306f897 | Author: Thomas Pöchtrager | Date: Sat Jul 11 08:45:49 2015 +0200 | | * undo unnecessary changes done by the original porter | * add cctools-port comments to changed code | * add codelite project | * commit 2b050dc41d1ae375a5af36b751d479be4513a6f3 | Author: Thomas Pöchtrager | Date: Tue Jun 23 19:31:00 2015 +0200 | | ios-toolchain: remove 'CC=cc' - just causes troubles | * commit f7f7c6180e5b7ae2897e3617e3475811c88a5173 | Author: Thomas Pöchtrager | Date: Sat May 30 15:51:27 2015 +0200 | | silence gcc 5.1 warnings | * commit 359b40b5bd40d86e0d1c9d40fb7bb2297130e903 | Author: Thomas Pöchtrager | Date: Sun Apr 19 21:33:15 2015 +0200 | | use KERN_PROC_ARGV instead of KERN_PROC_ENV | * commit 7a9b23fbb24c7250cb4caae2d97b79afbdefe503 | Author: Thomas Pöchtrager | Date: Sun Apr 19 20:35:01 2015 +0200 | | _NSGetExecutablePath() should now work properly on openbsd | * commit 47c29e6a7701a16268da57412a68e133818a32dd | Author: Thomas Pöchtrager | Date: Sat Apr 11 18:34:58 2015 +0200 | | clang 3.6 miscompiles ld64 on armhf (even at -O0); enforce gcc on arm until | i can figure out what's going on there | | probably related: | https://github.com/raspberrypi/linux/issues/766 | https://github.com/tpoechtrager/cctools-port/issues/1#issuecomment-59118615 | | backtrace: | | https://gist.github.com/tpoechtrager/d68c8352a3fd32165af4 | * commit 5e5b511a3eebd3fa9ece49bead85a1be29a25dfb | Author: Thomas Pöchtrager | Date: Thu Mar 19 21:28:44 2015 +0100 | | fix more potential -D_FORTIFY_SOURCE crashers | * commit 5098fc9f6dfba7eac18f5ae55b7e361314e0fb7b | Author: Thomas Pöchtrager | Date: Thu Mar 19 21:14:13 2015 +0100 | | strip: don't crash with -D_FORTIFY_SOURCE enabled (ubuntu gcc) | * commit 268c3de73b173673dc9ae932ab802f42247570ff | Author: Thomas Pöchtrager | Date: Wed Mar 18 21:29:21 2015 +0100 | | add arm to the tested host architectures | * commit ade8d819ad8fd2d04978a2da22e5efe06dc40dad | Author: Thomas Pöchtrager | Date: Wed Mar 18 21:29:06 2015 +0100 | | ios-toolchain: set COMPILER_PATH | * commit 700c6fd644f78b9427163e9f444fc15f2c73ed28 | Author: Thomas Pöchtrager | Date: Wed Mar 18 20:28:27 2015 +0100 | | configure.ac: target_cpu -> host_cpu | * commit bf9ac6a2c5846af3c2112c483a612937d8e3a037 | Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com> | Date: Sun Mar 15 22:43:36 2015 +0100 | | update README | * commit 253ec0ff238ebc3b359d7f4fe2edc38b0aa3e428 | Author: Thomas Pöchtrager | Date: Sun Mar 15 22:26:45 2015 +0100 | | typo | * commit 42109667d4b080bbc8091235c036ed418d369d13 | Author: Thomas Pöchtrager | Date: Sun Mar 15 22:21:16 2015 +0100 | | * linux ppc/ppc64 & arm/arm64/aarch64 port | (compiles now - everything else is *untested*) | | other changes: | | * rename 'machochecker' to 'machocheck' | * get rid of duplicate $CFLAGS | * fix a typo in the ios toolchain README | * package.sh: remove the autom4te.cache directory | * commit 0c32be78e979641095a92480786a621e65282b92 | Author: Thomas Pöchtrager | Date: Mon Mar 9 20:01:33 2015 +0100 | | misc fixes: | * fix gcc warnings (even though they are not my fault) | * fix a typo in include/foreign/i386/_types.h (__INT64_TYPE_ -> __INT64_TYPE__) | * fix the cygwin + clang<=3.4 build | * commit 3f00c16b0fce9a7a151a88114209f17a46711637 | Author: Thomas Pöchtrager | Date: Sun Mar 8 20:49:50 2015 +0100 | | be more precise about the gcc requirement | * commit 1b9a93057b856c92190f3f8d32e507539f4669cd | Author: Thomas Pöchtrager | Date: Sun Mar 8 20:09:11 2015 +0100 | | update README | * commit 3cc1ba6fc7c862de258e7a29c840ea7d5eb04be1 | Author: Thomas Pöchtrager | Date: Sun Mar 8 17:47:09 2015 +0100 | | * windows (cygwin), openbsd and dragonflybsd port | * gcc compiler support | * add --with-llvm-config option | * fix 'ld: malformed 32-bit x.y.z version number: 3.19.0-7-generic' | * commit 7a2d21ca7f4e42c70c8ff85ec3e37ac6ef9d0de7 | Author: Thomas Pöchtrager | Date: Tue Feb 24 21:58:10 2015 +0100 | | map -> version-script | * commit 5135fb2541876f0af185589890f9e21b98ceb39c | Author: Thomas Pöchtrager | Date: Tue Feb 24 21:49:55 2015 +0100 | | an attempt to fix the otool disassembler | * commit 219f5f53ea42361ccb2c75bed311f1d57ce68966 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:32:47 2015 +0100 | | ar, lipo, otool (etc.) should also be linked with -rpath for libLTO | * commit 1efff3733f1cb483b27e18d6d14cd7ccf5571627 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:32:11 2015 +0100 | | add support for llvm 3.7 | * commit 8b6beadd337ac7e5d1d58d438e9afcd5165d1200 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:31:34 2015 +0100 | | silence/fix -Wabsolute-value warnings | * commit 59d21d2c793c51d205c8b4ab14b9b28e63c72445 (tag: 862-ld64-241.9-2) | Author: Thomas Pöchtrager | Date: Sun Dec 28 18:09:43 2014 +0100 | | ios-toolchain: build.sh: ignore 'git clean' return status | * commit 3d198530ae4c031e904f29414c7c46ac547d90b7 | Author: Thomas Pöchtrager | Date: Sun Dec 28 17:48:45 2014 +0100 | | ios-toolchain: take care of IPHONEOS_DEPLOYMENT_TARGET (env) | * commit 23658f2f20778374b43dcd80717b4f47845c2297 | Author: Thomas Pöchtrager | Date: Sun Dec 28 17:48:28 2014 +0100 | | the ios 8.1 sdk has mach_vm_trunc_page and mach_vm_round_page already defined | * commit 70b87ceec059f632641b41dfd2d9e63dbd069a0c | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:33:50 2014 +0100 | | ios-toolchain: cleanup | * commit 9c0f520110f7f57a1060ac66329c55f8f71ecd8c | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:25:26 2014 +0100 | | ios-toolchain: use -mlinker-version=241.9 in the 241.9 branch | * commit 8b0cbdaf820ee40fcb1e2e209cb6f858ffb8aa90 | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:00:19 2014 +0100 | | strchr -> strrchr | * commit e9f701822aa209cf435c4b26eb4c7ab01001f5cb | Author: Thomas Pöchtrager | Date: Sat Dec 27 11:47:02 2014 +0100 | | add scripts / wrapper to build a simple ios toolchain | * commit cf456225d3551a8782c5222133455bb9139ecad5 | Author: Thomas Pöchtrager | Date: Fri Dec 26 10:55:34 2014 +0100 | | define _GNU_SOURCE for strnlen() | * commit 211fe3927f5d6c132d72164e898d146fcdf7577e | Author: sezero <sezero@users.noreply.github.com> | Date: Wed Dec 24 12:20:01 2014 +0200 | | autogen.sh fixes: run libtoolize 'after' creating the m4 directory. run aclocal with '-I m4' switches. | * commit a4f9fd8ad09cafb94bf465ae4e914f086458e5cc | Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com> | Date: Wed Dec 24 11:35:37 2014 +0100 | | Update README.md | * commit 2201b7b4cbc3a3b29aa7d8e7ccf2576f1847a3e6 | Author: Thomas Pöchtrager | Date: Fri Nov 21 22:58:16 2014 +0100 | | add '-L/usr/pkg/lib' for NetBSD | * commit a303cc27ace751059caa27a34e5d9ae5cd0825ac | Author: Thomas Pöchtrager | Date: Fri Nov 21 22:10:18 2014 +0100 | | update README |
2015-07-17 23:25:59 +02:00
`Clang 3.2+`, `patch`, `libxml2-devel` (<=10.6 only) and the `bash shell`.
*Optional:*
update cctools to 870 and ld64 to 242 OSXCross *should* now work on Linux ARM devices with this update. Port changes: * commit f7818cbf61074ea6fbb56de1b50c0973afe3428f | Author: Thomas Pöchtrager | Date: Fri Jul 17 19:34:57 2015 +0200 | | add preliminary llvm-3.8 support | * commit 8482a95745f54062de974e65fdd28b0389f3c6a5 | Author: Thomas Pöchtrager | Date: Sat Jul 11 09:32:55 2015 +0200 | | * get rid of the openssl dependency | * make libuuid optional (based on http://git.io/vqbwu) | * commit a8e002367d64c5e3e3a195bba37aa1ccb306f897 | Author: Thomas Pöchtrager | Date: Sat Jul 11 08:45:49 2015 +0200 | | * undo unnecessary changes done by the original porter | * add cctools-port comments to changed code | * add codelite project | * commit 2b050dc41d1ae375a5af36b751d479be4513a6f3 | Author: Thomas Pöchtrager | Date: Tue Jun 23 19:31:00 2015 +0200 | | ios-toolchain: remove 'CC=cc' - just causes troubles | * commit f7f7c6180e5b7ae2897e3617e3475811c88a5173 | Author: Thomas Pöchtrager | Date: Sat May 30 15:51:27 2015 +0200 | | silence gcc 5.1 warnings | * commit 359b40b5bd40d86e0d1c9d40fb7bb2297130e903 | Author: Thomas Pöchtrager | Date: Sun Apr 19 21:33:15 2015 +0200 | | use KERN_PROC_ARGV instead of KERN_PROC_ENV | * commit 7a9b23fbb24c7250cb4caae2d97b79afbdefe503 | Author: Thomas Pöchtrager | Date: Sun Apr 19 20:35:01 2015 +0200 | | _NSGetExecutablePath() should now work properly on openbsd | * commit 47c29e6a7701a16268da57412a68e133818a32dd | Author: Thomas Pöchtrager | Date: Sat Apr 11 18:34:58 2015 +0200 | | clang 3.6 miscompiles ld64 on armhf (even at -O0); enforce gcc on arm until | i can figure out what's going on there | | probably related: | https://github.com/raspberrypi/linux/issues/766 | https://github.com/tpoechtrager/cctools-port/issues/1#issuecomment-59118615 | | backtrace: | | https://gist.github.com/tpoechtrager/d68c8352a3fd32165af4 | * commit 5e5b511a3eebd3fa9ece49bead85a1be29a25dfb | Author: Thomas Pöchtrager | Date: Thu Mar 19 21:28:44 2015 +0100 | | fix more potential -D_FORTIFY_SOURCE crashers | * commit 5098fc9f6dfba7eac18f5ae55b7e361314e0fb7b | Author: Thomas Pöchtrager | Date: Thu Mar 19 21:14:13 2015 +0100 | | strip: don't crash with -D_FORTIFY_SOURCE enabled (ubuntu gcc) | * commit 268c3de73b173673dc9ae932ab802f42247570ff | Author: Thomas Pöchtrager | Date: Wed Mar 18 21:29:21 2015 +0100 | | add arm to the tested host architectures | * commit ade8d819ad8fd2d04978a2da22e5efe06dc40dad | Author: Thomas Pöchtrager | Date: Wed Mar 18 21:29:06 2015 +0100 | | ios-toolchain: set COMPILER_PATH | * commit 700c6fd644f78b9427163e9f444fc15f2c73ed28 | Author: Thomas Pöchtrager | Date: Wed Mar 18 20:28:27 2015 +0100 | | configure.ac: target_cpu -> host_cpu | * commit bf9ac6a2c5846af3c2112c483a612937d8e3a037 | Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com> | Date: Sun Mar 15 22:43:36 2015 +0100 | | update README | * commit 253ec0ff238ebc3b359d7f4fe2edc38b0aa3e428 | Author: Thomas Pöchtrager | Date: Sun Mar 15 22:26:45 2015 +0100 | | typo | * commit 42109667d4b080bbc8091235c036ed418d369d13 | Author: Thomas Pöchtrager | Date: Sun Mar 15 22:21:16 2015 +0100 | | * linux ppc/ppc64 & arm/arm64/aarch64 port | (compiles now - everything else is *untested*) | | other changes: | | * rename 'machochecker' to 'machocheck' | * get rid of duplicate $CFLAGS | * fix a typo in the ios toolchain README | * package.sh: remove the autom4te.cache directory | * commit 0c32be78e979641095a92480786a621e65282b92 | Author: Thomas Pöchtrager | Date: Mon Mar 9 20:01:33 2015 +0100 | | misc fixes: | * fix gcc warnings (even though they are not my fault) | * fix a typo in include/foreign/i386/_types.h (__INT64_TYPE_ -> __INT64_TYPE__) | * fix the cygwin + clang<=3.4 build | * commit 3f00c16b0fce9a7a151a88114209f17a46711637 | Author: Thomas Pöchtrager | Date: Sun Mar 8 20:49:50 2015 +0100 | | be more precise about the gcc requirement | * commit 1b9a93057b856c92190f3f8d32e507539f4669cd | Author: Thomas Pöchtrager | Date: Sun Mar 8 20:09:11 2015 +0100 | | update README | * commit 3cc1ba6fc7c862de258e7a29c840ea7d5eb04be1 | Author: Thomas Pöchtrager | Date: Sun Mar 8 17:47:09 2015 +0100 | | * windows (cygwin), openbsd and dragonflybsd port | * gcc compiler support | * add --with-llvm-config option | * fix 'ld: malformed 32-bit x.y.z version number: 3.19.0-7-generic' | * commit 7a2d21ca7f4e42c70c8ff85ec3e37ac6ef9d0de7 | Author: Thomas Pöchtrager | Date: Tue Feb 24 21:58:10 2015 +0100 | | map -> version-script | * commit 5135fb2541876f0af185589890f9e21b98ceb39c | Author: Thomas Pöchtrager | Date: Tue Feb 24 21:49:55 2015 +0100 | | an attempt to fix the otool disassembler | * commit 219f5f53ea42361ccb2c75bed311f1d57ce68966 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:32:47 2015 +0100 | | ar, lipo, otool (etc.) should also be linked with -rpath for libLTO | * commit 1efff3733f1cb483b27e18d6d14cd7ccf5571627 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:32:11 2015 +0100 | | add support for llvm 3.7 | * commit 8b6beadd337ac7e5d1d58d438e9afcd5165d1200 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:31:34 2015 +0100 | | silence/fix -Wabsolute-value warnings | * commit 59d21d2c793c51d205c8b4ab14b9b28e63c72445 (tag: 862-ld64-241.9-2) | Author: Thomas Pöchtrager | Date: Sun Dec 28 18:09:43 2014 +0100 | | ios-toolchain: build.sh: ignore 'git clean' return status | * commit 3d198530ae4c031e904f29414c7c46ac547d90b7 | Author: Thomas Pöchtrager | Date: Sun Dec 28 17:48:45 2014 +0100 | | ios-toolchain: take care of IPHONEOS_DEPLOYMENT_TARGET (env) | * commit 23658f2f20778374b43dcd80717b4f47845c2297 | Author: Thomas Pöchtrager | Date: Sun Dec 28 17:48:28 2014 +0100 | | the ios 8.1 sdk has mach_vm_trunc_page and mach_vm_round_page already defined | * commit 70b87ceec059f632641b41dfd2d9e63dbd069a0c | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:33:50 2014 +0100 | | ios-toolchain: cleanup | * commit 9c0f520110f7f57a1060ac66329c55f8f71ecd8c | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:25:26 2014 +0100 | | ios-toolchain: use -mlinker-version=241.9 in the 241.9 branch | * commit 8b0cbdaf820ee40fcb1e2e209cb6f858ffb8aa90 | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:00:19 2014 +0100 | | strchr -> strrchr | * commit e9f701822aa209cf435c4b26eb4c7ab01001f5cb | Author: Thomas Pöchtrager | Date: Sat Dec 27 11:47:02 2014 +0100 | | add scripts / wrapper to build a simple ios toolchain | * commit cf456225d3551a8782c5222133455bb9139ecad5 | Author: Thomas Pöchtrager | Date: Fri Dec 26 10:55:34 2014 +0100 | | define _GNU_SOURCE for strnlen() | * commit 211fe3927f5d6c132d72164e898d146fcdf7577e | Author: sezero <sezero@users.noreply.github.com> | Date: Wed Dec 24 12:20:01 2014 +0200 | | autogen.sh fixes: run libtoolize 'after' creating the m4 directory. run aclocal with '-I m4' switches. | * commit a4f9fd8ad09cafb94bf465ae4e914f086458e5cc | Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com> | Date: Wed Dec 24 11:35:37 2014 +0100 | | Update README.md | * commit 2201b7b4cbc3a3b29aa7d8e7ccf2576f1847a3e6 | Author: Thomas Pöchtrager | Date: Fri Nov 21 22:58:16 2014 +0100 | | add '-L/usr/pkg/lib' for NetBSD | * commit a303cc27ace751059caa27a34e5d9ae5cd0825ac | Author: Thomas Pöchtrager | Date: Fri Nov 21 22:10:18 2014 +0100 | | update README |
2015-07-17 23:25:59 +02:00
`llvm-devel`: For Link Time Optimization support
`uuid-devel`: For ld64 `-random_uuid` support
`llvm-devel` + `xar-devel`: For ld64 `-bitcode_bundle` support
You can find xar [here](https://github.com/mackyle/xar).
Do not install libxar-dev on Ubuntu, it's a different package.
2014-11-10 20:43:14 +01:00
\--
You can run 'sudo tools/get\_dependencies.sh' to get these automatically.
'[INSTALLPREFIX=...] ./build_clang.sh' can be used to build a recent clang version
from source (requires gcc and g++).
On debian like systems you can also use [llvm.org/apt](http://llvm.org/apt) to get a newer version of clang.
But be careful, that repository is known to cause [troubles](https://github.com/tpoechtrager/osxcross/issues/16).
\--
2013-11-13 20:47:04 +01:00
Then run `[UNATTENDED=1] ./build.sh` to build the cross toolchain.
2014-03-26 20:41:55 +01:00
(It will search 'tarballs' for your SDK and then build in its own directory.)
2013-11-13 20:47:04 +01:00
**Do not forget** to add `<path>/target/bin` to your PATH variable.
2013-11-13 20:47:04 +01:00
That's it. See usage examples below.
2013-11-13 20:47:04 +01:00
##### Building GCC: #####
2014-10-01 19:53:41 +02:00
If you want to build GCC as well, then you can do this by running:
`[GCC_VERSION=5.2.0] [ENABLE_FORTRAN=1] ./build_gcc.sh`.
2014-10-01 19:53:41 +02:00
\[A gfortran usage example can be found [here](https://github.com/tpoechtrager/osxcross/issues/28#issuecomment-67047134)]
But before you do this, make sure you have got the GCC build depedencies installed on your system.
On debian like systems you can run:
`[sudo] apt-get install gcc g++ zlib1g-dev libmpc-dev libmpfr-dev libgmp-dev`
to install them.
2013-11-13 20:47:04 +01:00
ATTENTION:
OSXCross links libgcc and libstdc++ statically by default (this affects `-foc-use-gcc-libstdc++` too).
You can turn this behavior off with `OSXCROSS_GCC_NO_STATIC_RUNTIME=1` (env).
2014-03-26 20:41:55 +01:00
### PACKAGING THE SDK: ###
2015-06-27 19:42:53 +02:00
**[Please ensure you have read and understood the Xcode license
terms before continuing.](https://www.apple.com/legal/sla/docs/xcode.pdf)**
##### Packaging the SDK on Mac OS X: #####
1. [Download [Xcode](https://developer.apple.com/downloads/index.action?name=Xcode%207.0.1) \*\*]
2. [Mount Xcode.dmg (Open With -> DiskImageMounter) \*\*\*]
3. Run: `./tools/gen_sdk_package.sh` (from the OSXCross package)
4. Copy the packaged SDK (\*.tar.\* or \*.pkg) on a USB Stick
5. (On Linux/BSD) Copy or move the SDK into the tarballs/ directory of OSXCross
\*\* Xcode up to 7.1.x is known to work.
\*\*\* If you get a dialog with a crossed circle, ignore it, you don't need to install Xcode.
Step 1. and 2. can be skipped if you have Xcode installed.
##### Packing the SDK on Linux, Cygwin (and others), Method 1 (works with Xcode >= 4.3): #####
1. Download Xcode like described in 'Packaging the SDK on Mac OS X'
2. Ensure you have `clang` and `make` installed
3. Run `./gen_sdk_package_p7zip.sh <xcode>.dmg`
4. Copy or move the SDK into the tarballs/ directory
2013-11-13 20:47:04 +01:00
2015-05-30 21:01:48 +02:00
##### Packing the SDK on Linux, Method 2 (works with Xcode >= 4.3): #####
1. Download Xcode like described in 'Packaging the SDK on Mac OS X'
2015-05-30 21:01:48 +02:00
2. Install `cmake`, `libxml2-dev` and `fuse`
2015-05-30 22:28:57 +02:00
3. Run `./gen_sdk_package_darling_dmg.sh <xcode>.dmg`
2015-05-30 21:01:48 +02:00
4. Copy or move the SDK into the tarballs/ directory
##### Packing the SDK on Linux, Method 3 (does *NOT* work with Xcode 4.3 or later!): #####
1. Download Xcode 4.2 for Snow Leopard
2. Ensure you are downloading the "Snow Leopard" version
3. Install `dmg2img`
4. Run (as root): `./tools/mount_xcode_image.sh /path/to/xcode.dmg`
5. Follow the instructions printed by `./tools/mount_xcode_image.sh`
6. Copy or move the SDK into the tarballs/ directory
2013-11-13 21:21:05 +01:00
### USAGE EXAMPLES: ###
2013-11-13 20:47:04 +01:00
##### Let's say you want to compile a file called test.cpp, then you can do this by running: #####
* Clang:
2013-11-13 21:21:05 +01:00
* 32 bit: `o32-clang++ test.cpp -O3 -o test` OR `i386-apple-darwinXX-clang++ test.cpp -O3 -o test`
* 64 bit: `o64-clang++ test.cpp -O3 -o test` OR `x86_64-apple-darwinXX-clang++ test.cpp -O3 -o test`
2013-11-13 20:47:04 +01:00
* GCC:
2013-11-13 21:21:05 +01:00
* 32 bit: `o32-g++ test.cpp -O3 -o test` OR `i386-apple-darwinXX-g++ test.cpp -O3 -o test`
* 64 bit: `o64-g++ test.cpp -O3 -o test` OR `x86_64-apple-darwinXX-g++ test.cpp -O3 -o test`
2013-11-13 20:47:04 +01:00
2013-11-13 20:57:28 +01:00
XX= the target version, you can find it out by running `osxcross-conf` and then see `TARGET`.
2013-11-13 20:47:04 +01:00
2013-11-13 22:59:39 +01:00
You can use the shortcut `o32-...` or `i386-apple-darwin...` what ever you like more.
2013-11-13 20:47:04 +01:00
*I'll continue from now on with `o32-clang`, but remember,
you can simply replace it with `o32-gcc` or `i386-apple-darwin...`.*
2013-11-13 20:47:04 +01:00
##### Building Makefile based projects: #####
2013-11-13 20:57:28 +01:00
* `make CC=o32-clang CXX=o32-clang++`
2013-11-13 20:47:04 +01:00
##### Building automake based projects: #####
2013-11-13 20:57:28 +01:00
* `CC=o32-clang CXX=o32-clang++ ./configure --host=i386-apple-darwinXX`
2013-11-13 20:47:04 +01:00
##### Building test.cpp with libc++: #####
Note: libc++ requires Mac OS X 10.7 or newer! If you really need C++11 for
an older OS X version, then you can do the following:
1. Build GCC so you have an up-to-date libstdc++
2. Build your source code with GCC or `clang++-gstdc++` / `clang++ -foc-use-gcc-libstdc++`
Usage Examples:
* Clang:
* C++98: `o32-clang++ -stdlib=libc++ test.cpp -o test`
* C++11: `o32-clang++ -stdlib=libc++ -std=c++11 test1.cpp -o test`
* C++14: `o32-clang++ -stdlib=libc++ -std=c++14 test1.cpp -o test`
* C++1z: `o32-clang++ -stdlib=libc++ -std=c++1z test1.cpp -o test`
* Clang (shortcut):
* C++98: `o32-clang++-libc++ test.cpp -o test`
* C++11: `o32-clang++-libc++ -std=c++11 test.cpp -o test`
* C++14: `o32-clang++-libc++ -std=c++14 test.cpp -o test`
* C++1z: `o32-clang++-libc++ -std=c++1z test.cpp -o test`
* GCC
* C++11: `o32-g++-libc++ -std=c++11 test.cpp`
* C++14: `o32-g++-libc++ -std=c++14 test.cpp -o test`
* C++1z: `o32-g++-libc++ -std=c++1z test.cpp -o test`
2013-11-13 20:47:04 +01:00
##### Building test1.cpp and test2.cpp with LTO (Link Time Optimization): #####
* build the first object file: `o32-clang++ test1.cpp -O3 -flto -c`
* build the second object file: `o32-clang++ test2.cpp -O3 -flto -c`
* link them with LTO: `o32-clang++ -O3 -flto test1.o test2.o -o test`
##### Building a universal binary: #####
* Clang:
2013-11-13 20:52:07 +01:00
* `o64-clang++ test.cpp -O3 -arch i386 -arch x86_64 -o test`
* GCC:
2013-11-13 20:47:04 +01:00
* build the 32 bit binary: `o32-g++ test.cpp -O3 -o test.i386`
* build the 64 bit binary: `o64-g++ test.cpp -O3 -o test.x86_64`
* use lipo to generate the universal binary: `x86_64-apple darwinXX-lipo -create test.i386 test.x86_64 -output test`
### DEPLOYMENT TARGET: ###
The default deployment target is `Mac OS X 10.5`.
However, there are several ways to override the default value:
1. by passing `OSX_VERSION_MIN=10.x` to `./build.sh`
2. by passing `-mmacosx-version-min=10.x` to the compiler
3. by setting the `MACOSX_DEPLOYMENT_TARGET` environment variable
\>= 10.9 also defaults to `libc++` instead of `libstdc++`, this behavior
can be overriden by explicitly passing `-stdlib=libstdc++` to clang.
2013-11-13 20:47:04 +01:00
x86\_64h defaults to `Mac OS X 10.8` and requires clang 3.5+.
x86\_64h = x86\_64 with optimizations for the Intel Haswell Architecture.
update cctools to 870 and ld64 to 242 OSXCross *should* now work on Linux ARM devices with this update. Port changes: * commit f7818cbf61074ea6fbb56de1b50c0973afe3428f | Author: Thomas Pöchtrager | Date: Fri Jul 17 19:34:57 2015 +0200 | | add preliminary llvm-3.8 support | * commit 8482a95745f54062de974e65fdd28b0389f3c6a5 | Author: Thomas Pöchtrager | Date: Sat Jul 11 09:32:55 2015 +0200 | | * get rid of the openssl dependency | * make libuuid optional (based on http://git.io/vqbwu) | * commit a8e002367d64c5e3e3a195bba37aa1ccb306f897 | Author: Thomas Pöchtrager | Date: Sat Jul 11 08:45:49 2015 +0200 | | * undo unnecessary changes done by the original porter | * add cctools-port comments to changed code | * add codelite project | * commit 2b050dc41d1ae375a5af36b751d479be4513a6f3 | Author: Thomas Pöchtrager | Date: Tue Jun 23 19:31:00 2015 +0200 | | ios-toolchain: remove 'CC=cc' - just causes troubles | * commit f7f7c6180e5b7ae2897e3617e3475811c88a5173 | Author: Thomas Pöchtrager | Date: Sat May 30 15:51:27 2015 +0200 | | silence gcc 5.1 warnings | * commit 359b40b5bd40d86e0d1c9d40fb7bb2297130e903 | Author: Thomas Pöchtrager | Date: Sun Apr 19 21:33:15 2015 +0200 | | use KERN_PROC_ARGV instead of KERN_PROC_ENV | * commit 7a9b23fbb24c7250cb4caae2d97b79afbdefe503 | Author: Thomas Pöchtrager | Date: Sun Apr 19 20:35:01 2015 +0200 | | _NSGetExecutablePath() should now work properly on openbsd | * commit 47c29e6a7701a16268da57412a68e133818a32dd | Author: Thomas Pöchtrager | Date: Sat Apr 11 18:34:58 2015 +0200 | | clang 3.6 miscompiles ld64 on armhf (even at -O0); enforce gcc on arm until | i can figure out what's going on there | | probably related: | https://github.com/raspberrypi/linux/issues/766 | https://github.com/tpoechtrager/cctools-port/issues/1#issuecomment-59118615 | | backtrace: | | https://gist.github.com/tpoechtrager/d68c8352a3fd32165af4 | * commit 5e5b511a3eebd3fa9ece49bead85a1be29a25dfb | Author: Thomas Pöchtrager | Date: Thu Mar 19 21:28:44 2015 +0100 | | fix more potential -D_FORTIFY_SOURCE crashers | * commit 5098fc9f6dfba7eac18f5ae55b7e361314e0fb7b | Author: Thomas Pöchtrager | Date: Thu Mar 19 21:14:13 2015 +0100 | | strip: don't crash with -D_FORTIFY_SOURCE enabled (ubuntu gcc) | * commit 268c3de73b173673dc9ae932ab802f42247570ff | Author: Thomas Pöchtrager | Date: Wed Mar 18 21:29:21 2015 +0100 | | add arm to the tested host architectures | * commit ade8d819ad8fd2d04978a2da22e5efe06dc40dad | Author: Thomas Pöchtrager | Date: Wed Mar 18 21:29:06 2015 +0100 | | ios-toolchain: set COMPILER_PATH | * commit 700c6fd644f78b9427163e9f444fc15f2c73ed28 | Author: Thomas Pöchtrager | Date: Wed Mar 18 20:28:27 2015 +0100 | | configure.ac: target_cpu -> host_cpu | * commit bf9ac6a2c5846af3c2112c483a612937d8e3a037 | Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com> | Date: Sun Mar 15 22:43:36 2015 +0100 | | update README | * commit 253ec0ff238ebc3b359d7f4fe2edc38b0aa3e428 | Author: Thomas Pöchtrager | Date: Sun Mar 15 22:26:45 2015 +0100 | | typo | * commit 42109667d4b080bbc8091235c036ed418d369d13 | Author: Thomas Pöchtrager | Date: Sun Mar 15 22:21:16 2015 +0100 | | * linux ppc/ppc64 & arm/arm64/aarch64 port | (compiles now - everything else is *untested*) | | other changes: | | * rename 'machochecker' to 'machocheck' | * get rid of duplicate $CFLAGS | * fix a typo in the ios toolchain README | * package.sh: remove the autom4te.cache directory | * commit 0c32be78e979641095a92480786a621e65282b92 | Author: Thomas Pöchtrager | Date: Mon Mar 9 20:01:33 2015 +0100 | | misc fixes: | * fix gcc warnings (even though they are not my fault) | * fix a typo in include/foreign/i386/_types.h (__INT64_TYPE_ -> __INT64_TYPE__) | * fix the cygwin + clang<=3.4 build | * commit 3f00c16b0fce9a7a151a88114209f17a46711637 | Author: Thomas Pöchtrager | Date: Sun Mar 8 20:49:50 2015 +0100 | | be more precise about the gcc requirement | * commit 1b9a93057b856c92190f3f8d32e507539f4669cd | Author: Thomas Pöchtrager | Date: Sun Mar 8 20:09:11 2015 +0100 | | update README | * commit 3cc1ba6fc7c862de258e7a29c840ea7d5eb04be1 | Author: Thomas Pöchtrager | Date: Sun Mar 8 17:47:09 2015 +0100 | | * windows (cygwin), openbsd and dragonflybsd port | * gcc compiler support | * add --with-llvm-config option | * fix 'ld: malformed 32-bit x.y.z version number: 3.19.0-7-generic' | * commit 7a2d21ca7f4e42c70c8ff85ec3e37ac6ef9d0de7 | Author: Thomas Pöchtrager | Date: Tue Feb 24 21:58:10 2015 +0100 | | map -> version-script | * commit 5135fb2541876f0af185589890f9e21b98ceb39c | Author: Thomas Pöchtrager | Date: Tue Feb 24 21:49:55 2015 +0100 | | an attempt to fix the otool disassembler | * commit 219f5f53ea42361ccb2c75bed311f1d57ce68966 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:32:47 2015 +0100 | | ar, lipo, otool (etc.) should also be linked with -rpath for libLTO | * commit 1efff3733f1cb483b27e18d6d14cd7ccf5571627 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:32:11 2015 +0100 | | add support for llvm 3.7 | * commit 8b6beadd337ac7e5d1d58d438e9afcd5165d1200 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:31:34 2015 +0100 | | silence/fix -Wabsolute-value warnings | * commit 59d21d2c793c51d205c8b4ab14b9b28e63c72445 (tag: 862-ld64-241.9-2) | Author: Thomas Pöchtrager | Date: Sun Dec 28 18:09:43 2014 +0100 | | ios-toolchain: build.sh: ignore 'git clean' return status | * commit 3d198530ae4c031e904f29414c7c46ac547d90b7 | Author: Thomas Pöchtrager | Date: Sun Dec 28 17:48:45 2014 +0100 | | ios-toolchain: take care of IPHONEOS_DEPLOYMENT_TARGET (env) | * commit 23658f2f20778374b43dcd80717b4f47845c2297 | Author: Thomas Pöchtrager | Date: Sun Dec 28 17:48:28 2014 +0100 | | the ios 8.1 sdk has mach_vm_trunc_page and mach_vm_round_page already defined | * commit 70b87ceec059f632641b41dfd2d9e63dbd069a0c | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:33:50 2014 +0100 | | ios-toolchain: cleanup | * commit 9c0f520110f7f57a1060ac66329c55f8f71ecd8c | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:25:26 2014 +0100 | | ios-toolchain: use -mlinker-version=241.9 in the 241.9 branch | * commit 8b0cbdaf820ee40fcb1e2e209cb6f858ffb8aa90 | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:00:19 2014 +0100 | | strchr -> strrchr | * commit e9f701822aa209cf435c4b26eb4c7ab01001f5cb | Author: Thomas Pöchtrager | Date: Sat Dec 27 11:47:02 2014 +0100 | | add scripts / wrapper to build a simple ios toolchain | * commit cf456225d3551a8782c5222133455bb9139ecad5 | Author: Thomas Pöchtrager | Date: Fri Dec 26 10:55:34 2014 +0100 | | define _GNU_SOURCE for strnlen() | * commit 211fe3927f5d6c132d72164e898d146fcdf7577e | Author: sezero <sezero@users.noreply.github.com> | Date: Wed Dec 24 12:20:01 2014 +0200 | | autogen.sh fixes: run libtoolize 'after' creating the m4 directory. run aclocal with '-I m4' switches. | * commit a4f9fd8ad09cafb94bf465ae4e914f086458e5cc | Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com> | Date: Wed Dec 24 11:35:37 2014 +0100 | | Update README.md | * commit 2201b7b4cbc3a3b29aa7d8e7ccf2576f1847a3e6 | Author: Thomas Pöchtrager | Date: Fri Nov 21 22:58:16 2014 +0100 | | add '-L/usr/pkg/lib' for NetBSD | * commit a303cc27ace751059caa27a34e5d9ae5cd0825ac | Author: Thomas Pöchtrager | Date: Fri Nov 21 22:10:18 2014 +0100 | | update README |
2015-07-17 23:25:59 +02:00
### BUILDING OSXCROSS WITH GCC: ###
You can build OSXCross with GCC this way:
`CC=gcc CXX=g++ ./build.sh`
You will need gcc/g++/gcc-objc 4.7+.
update cctools to 870 and ld64 to 242 OSXCross *should* now work on Linux ARM devices with this update. Port changes: * commit f7818cbf61074ea6fbb56de1b50c0973afe3428f | Author: Thomas Pöchtrager | Date: Fri Jul 17 19:34:57 2015 +0200 | | add preliminary llvm-3.8 support | * commit 8482a95745f54062de974e65fdd28b0389f3c6a5 | Author: Thomas Pöchtrager | Date: Sat Jul 11 09:32:55 2015 +0200 | | * get rid of the openssl dependency | * make libuuid optional (based on http://git.io/vqbwu) | * commit a8e002367d64c5e3e3a195bba37aa1ccb306f897 | Author: Thomas Pöchtrager | Date: Sat Jul 11 08:45:49 2015 +0200 | | * undo unnecessary changes done by the original porter | * add cctools-port comments to changed code | * add codelite project | * commit 2b050dc41d1ae375a5af36b751d479be4513a6f3 | Author: Thomas Pöchtrager | Date: Tue Jun 23 19:31:00 2015 +0200 | | ios-toolchain: remove 'CC=cc' - just causes troubles | * commit f7f7c6180e5b7ae2897e3617e3475811c88a5173 | Author: Thomas Pöchtrager | Date: Sat May 30 15:51:27 2015 +0200 | | silence gcc 5.1 warnings | * commit 359b40b5bd40d86e0d1c9d40fb7bb2297130e903 | Author: Thomas Pöchtrager | Date: Sun Apr 19 21:33:15 2015 +0200 | | use KERN_PROC_ARGV instead of KERN_PROC_ENV | * commit 7a9b23fbb24c7250cb4caae2d97b79afbdefe503 | Author: Thomas Pöchtrager | Date: Sun Apr 19 20:35:01 2015 +0200 | | _NSGetExecutablePath() should now work properly on openbsd | * commit 47c29e6a7701a16268da57412a68e133818a32dd | Author: Thomas Pöchtrager | Date: Sat Apr 11 18:34:58 2015 +0200 | | clang 3.6 miscompiles ld64 on armhf (even at -O0); enforce gcc on arm until | i can figure out what's going on there | | probably related: | https://github.com/raspberrypi/linux/issues/766 | https://github.com/tpoechtrager/cctools-port/issues/1#issuecomment-59118615 | | backtrace: | | https://gist.github.com/tpoechtrager/d68c8352a3fd32165af4 | * commit 5e5b511a3eebd3fa9ece49bead85a1be29a25dfb | Author: Thomas Pöchtrager | Date: Thu Mar 19 21:28:44 2015 +0100 | | fix more potential -D_FORTIFY_SOURCE crashers | * commit 5098fc9f6dfba7eac18f5ae55b7e361314e0fb7b | Author: Thomas Pöchtrager | Date: Thu Mar 19 21:14:13 2015 +0100 | | strip: don't crash with -D_FORTIFY_SOURCE enabled (ubuntu gcc) | * commit 268c3de73b173673dc9ae932ab802f42247570ff | Author: Thomas Pöchtrager | Date: Wed Mar 18 21:29:21 2015 +0100 | | add arm to the tested host architectures | * commit ade8d819ad8fd2d04978a2da22e5efe06dc40dad | Author: Thomas Pöchtrager | Date: Wed Mar 18 21:29:06 2015 +0100 | | ios-toolchain: set COMPILER_PATH | * commit 700c6fd644f78b9427163e9f444fc15f2c73ed28 | Author: Thomas Pöchtrager | Date: Wed Mar 18 20:28:27 2015 +0100 | | configure.ac: target_cpu -> host_cpu | * commit bf9ac6a2c5846af3c2112c483a612937d8e3a037 | Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com> | Date: Sun Mar 15 22:43:36 2015 +0100 | | update README | * commit 253ec0ff238ebc3b359d7f4fe2edc38b0aa3e428 | Author: Thomas Pöchtrager | Date: Sun Mar 15 22:26:45 2015 +0100 | | typo | * commit 42109667d4b080bbc8091235c036ed418d369d13 | Author: Thomas Pöchtrager | Date: Sun Mar 15 22:21:16 2015 +0100 | | * linux ppc/ppc64 & arm/arm64/aarch64 port | (compiles now - everything else is *untested*) | | other changes: | | * rename 'machochecker' to 'machocheck' | * get rid of duplicate $CFLAGS | * fix a typo in the ios toolchain README | * package.sh: remove the autom4te.cache directory | * commit 0c32be78e979641095a92480786a621e65282b92 | Author: Thomas Pöchtrager | Date: Mon Mar 9 20:01:33 2015 +0100 | | misc fixes: | * fix gcc warnings (even though they are not my fault) | * fix a typo in include/foreign/i386/_types.h (__INT64_TYPE_ -> __INT64_TYPE__) | * fix the cygwin + clang<=3.4 build | * commit 3f00c16b0fce9a7a151a88114209f17a46711637 | Author: Thomas Pöchtrager | Date: Sun Mar 8 20:49:50 2015 +0100 | | be more precise about the gcc requirement | * commit 1b9a93057b856c92190f3f8d32e507539f4669cd | Author: Thomas Pöchtrager | Date: Sun Mar 8 20:09:11 2015 +0100 | | update README | * commit 3cc1ba6fc7c862de258e7a29c840ea7d5eb04be1 | Author: Thomas Pöchtrager | Date: Sun Mar 8 17:47:09 2015 +0100 | | * windows (cygwin), openbsd and dragonflybsd port | * gcc compiler support | * add --with-llvm-config option | * fix 'ld: malformed 32-bit x.y.z version number: 3.19.0-7-generic' | * commit 7a2d21ca7f4e42c70c8ff85ec3e37ac6ef9d0de7 | Author: Thomas Pöchtrager | Date: Tue Feb 24 21:58:10 2015 +0100 | | map -> version-script | * commit 5135fb2541876f0af185589890f9e21b98ceb39c | Author: Thomas Pöchtrager | Date: Tue Feb 24 21:49:55 2015 +0100 | | an attempt to fix the otool disassembler | * commit 219f5f53ea42361ccb2c75bed311f1d57ce68966 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:32:47 2015 +0100 | | ar, lipo, otool (etc.) should also be linked with -rpath for libLTO | * commit 1efff3733f1cb483b27e18d6d14cd7ccf5571627 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:32:11 2015 +0100 | | add support for llvm 3.7 | * commit 8b6beadd337ac7e5d1d58d438e9afcd5165d1200 | Author: Thomas Pöchtrager | Date: Mon Feb 23 21:31:34 2015 +0100 | | silence/fix -Wabsolute-value warnings | * commit 59d21d2c793c51d205c8b4ab14b9b28e63c72445 (tag: 862-ld64-241.9-2) | Author: Thomas Pöchtrager | Date: Sun Dec 28 18:09:43 2014 +0100 | | ios-toolchain: build.sh: ignore 'git clean' return status | * commit 3d198530ae4c031e904f29414c7c46ac547d90b7 | Author: Thomas Pöchtrager | Date: Sun Dec 28 17:48:45 2014 +0100 | | ios-toolchain: take care of IPHONEOS_DEPLOYMENT_TARGET (env) | * commit 23658f2f20778374b43dcd80717b4f47845c2297 | Author: Thomas Pöchtrager | Date: Sun Dec 28 17:48:28 2014 +0100 | | the ios 8.1 sdk has mach_vm_trunc_page and mach_vm_round_page already defined | * commit 70b87ceec059f632641b41dfd2d9e63dbd069a0c | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:33:50 2014 +0100 | | ios-toolchain: cleanup | * commit 9c0f520110f7f57a1060ac66329c55f8f71ecd8c | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:25:26 2014 +0100 | | ios-toolchain: use -mlinker-version=241.9 in the 241.9 branch | * commit 8b0cbdaf820ee40fcb1e2e209cb6f858ffb8aa90 | Author: Thomas Pöchtrager | Date: Sat Dec 27 12:00:19 2014 +0100 | | strchr -> strrchr | * commit e9f701822aa209cf435c4b26eb4c7ab01001f5cb | Author: Thomas Pöchtrager | Date: Sat Dec 27 11:47:02 2014 +0100 | | add scripts / wrapper to build a simple ios toolchain | * commit cf456225d3551a8782c5222133455bb9139ecad5 | Author: Thomas Pöchtrager | Date: Fri Dec 26 10:55:34 2014 +0100 | | define _GNU_SOURCE for strnlen() | * commit 211fe3927f5d6c132d72164e898d146fcdf7577e | Author: sezero <sezero@users.noreply.github.com> | Date: Wed Dec 24 12:20:01 2014 +0200 | | autogen.sh fixes: run libtoolize 'after' creating the m4 directory. run aclocal with '-I m4' switches. | * commit a4f9fd8ad09cafb94bf465ae4e914f086458e5cc | Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com> | Date: Wed Dec 24 11:35:37 2014 +0100 | | Update README.md | * commit 2201b7b4cbc3a3b29aa7d8e7ccf2576f1847a3e6 | Author: Thomas Pöchtrager | Date: Fri Nov 21 22:58:16 2014 +0100 | | add '-L/usr/pkg/lib' for NetBSD | * commit a303cc27ace751059caa27a34e5d9ae5cd0825ac | Author: Thomas Pöchtrager | Date: Fri Nov 21 22:10:18 2014 +0100 | | update README |
2015-07-17 23:25:59 +02:00
### PROJECTS USING OSXCROSS: ###
2015-12-23 19:38:18 +01:00
* [multiarch/crossbuild](https://github.com/multiarch/crossbuild), various cross-compilers (**Systems**: Linux, OS X, Windows, **Archs**: x86_64, i386, arm, ppc, mips) in Docker. OSXCross powers the Darwin builds.
2013-11-13 20:47:04 +01:00
### LICENSE: ####
* scripts/wrapper: GPLv2
* cctools/ld64: APSL 2.0
2013-11-13 20:47:04 +01:00
* xar: New BSD
### CREDITS: ####
* [cjacker for the initial cctools port](https://code.google.com/p/ios-toolchain-based-on-clang-for-linux/source/browse/#svn%2Ftrunk%2Fcctools-porting%2Fpatches)