cctools-port

Apple cctools port for Linux, *BSD and Windows (Cygwin)

  • Owner: tpoechtrager/cctools-port
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Apple cctools and ld64 port for Linux, FreeBSD and macOS

Current Version: cctools: 927.0.2, ld64: 450.3.
Originally ported by cjacker.

SUPPORTED HOSTS

SUPPORTED OPERATING SYSTEMS:

Linux, Android (Termux), FreeBSD,
Mac OS X, iOS, OpenBSD and NetBSD

SUPPORTED HOST ARCHITECTURES:

x86, x86_64, arm, arm64/aarch64

SUPPORTED TARGET ARCHITECTURES

armv6, armv7, armv7s, arm64, arm64e,
arm64_32 (untested), i386, x86_64, x86_64h,
armv6m, armv7k, armv7m and armv7em

arm64e requires Apple LLVM/Clang.

SUPPORTED TARGET OPERATING SYSTEMS

Mac OS X, iOS, watchOS (untested) and tvOS (untested)

DEPENDENCIES

Clang 3.4+

SDKs with .tdb stubs (>= Xcode 7) require the TAPI library to be installed.
=> https://github.com/tpoechtrager/apple-libtapi

musl-libc based systems require the musl-fts library to be installed.
=> https://github.com/pullmoll/musl-fts

Optional, but recommended:

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.
Do not install libxar-dev on Ubuntu, it's a different package.

INSTALLATION

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

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.

TRAVIS CI

Build Status

Overview

Name With Ownertpoechtrager/cctools-port
Primary LanguageC
Program languageC (Language Count: 8)
Platform
License:
Release Count10
Last Release Namecctools-877.8-ld64-253.9-1 (Posted on )
First Release Namecctools-845-ld64-134.9-1 (Posted on )
Created At2013-11-14 19:40:26
Pushed At2024-04-26 06:16:21
Last Commit At2023-03-17 14:30:46
Stargazers Count705
Watchers Count45
Fork Count161
Commits Count321
Has Issues Enabled
Issues Count88
Issue Open Count20
Pull Requests Count38
Pull Requests Open Count7
Pull Requests Close Count14
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top