Giter VIP home page Giter VIP logo

cctools-port's Introduction

Apple cctools and ld64 port for Linux, *BSD and macOS

Current Version: cctools: 973.0.1, ld64: 609.
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

macOS, iOS, tvOS, watchOS, bridgeOS, Mac Catalyst,
iOS Simluator, watchOS Simulator, DriverKit

Not all of the targets have been tested.

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)
libdispatch (For parallelism in ld64 / libcodedirectory.c)

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, ...

TRAVIS CI

Build Status

cctools-port's People

Contributors

abrodkin avatar delroth avatar ericson2314 avatar erykoff avatar fanquake avatar flow86 avatar froydnj avatar glandium avatar isuruf avatar jprjr avatar katietz avatar keno avatar lephilousophe avatar lordhoto avatar matthewbauer avatar mstorsjo avatar sbingner avatar sezero avatar sthalik avatar theuni avatar timgates42 avatar tpoechtrager avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.