cctools-port/README.md

79 lines
2.2 KiB
Markdown
Raw Normal View History

# Apple cctools port for Linux, *BSD and Windows (Cygwin) #
2013-11-14 19:54:29 +00:00
2019-05-27 17:38:28 +00:00
Current Version: 921 + ld64-409.12.
Originally ported by [cjacker](http://ios-toolchain-based-on-clang-for-linux.googlecode.com).
2013-11-14 19:54:29 +00:00
## SUPPORTED HOSTS ##
2015-03-15 21:43:36 +00:00
**SUPPORTED OPERATING SYSTEMS:**
2019-05-27 17:38:28 +00:00
Linux, FreeBSD, Mac OS X and iOS
Other BSDs may or may not work.
2015-03-15 21:43:36 +00:00
**SUPPORTED HOST ARCHITECTURES:**
x86, x86_64, arm
Untested, but compiles:
aarch64, ppc, ppc64
2015-10-23 17:07:14 +00:00
## SUPPORTED TARGET ARCHITECTURES ##
2017-04-01 18:42:35 +00:00
armv6, armv7, armv7s, arm64, i386, x86_64,
x86_64h, armv6m, armv7k, armv7m and armv7em
2015-10-23 17:07:14 +00:00
## SUPPORTED TARGET OPERATING SYSTEMS ##
2015-10-24 08:55:54 +00:00
Mac OS X, iOS, watchOS (untested) and tvOS (untested)
2015-10-23 17:07:14 +00:00
## DEPENDENCIES ##
2013-11-14 19:54:29 +00:00
2019-05-27 17:38:28 +00:00
`Clang 3.2+`
2017-04-01 18:42:35 +00:00
SDKs with .tdb stubs (>= Xcode 7) require the TAPI library to be installed.
=> https://github.com/tpoechtrager/apple-libtapi
2013-11-14 19:59:27 +00:00
2018-01-19 02:35:59 +00:00
musl-libc based systems require the musl-fts library to be installed.
=> https://github.com/pullmoll/musl-fts
Optional, but recommended:
2013-11-14 19:59:27 +00:00
2015-10-23 17:07:14 +00:00
`llvm-devel` (For Link Time Optimization Support)
`uuid-devel` (For ld64 `-random_uuid` Support)
`llvm-devel` + `xar-devel` (For ld64 `-bitcode_bundle` Support)
2015-10-23 18:13:17 +00:00
You can find xar [here](https://github.com/mackyle/xar).
Do not install libxar-dev on Ubuntu, it's a different package.
## INSTALLATION ##
2013-11-14 19:54:29 +00:00
2017-04-01 18:42:35 +00:00
### Install Apple's TAPI library:
This step is only required if you intend to use SDKs with .tdb stubs.
git clone https://github.com/tpoechtrager/apple-libtapi.git
cd apple-libtapi
[INSTALLPREFIX=/home/user/cctools] ./build.sh
./install.sh
### Install cctools and ld64:
git clone https://github.com/tpoechtrager/cctools-port.git
cd cctools-port/cctools
./configure \
[--prefix=/home/user/cctools] \
[--with-libtapi=/home/user/cctools] \
[--target=<target>] \
[--with-llvm-config=...]
make
make install
2013-11-14 19:54:29 +00:00
target = `i386-apple-darwin11`, `x86_64-apple-darwin11`, `arm-apple-darwin11`, ...
If you get compile errors because of `unistd.h`, then please run
`../tools/fix_unistd_issue.sh` and restart compiling.
2015-08-23 22:56:14 +00:00
## TRAVIS CI ##
[![Build Status](https://travis-ci.org/tpoechtrager/cctools-port.svg?branch=master)](https://travis-ci.org/tpoechtrager/cctools-port)