tpoechtrager / cctools-port

Apple cctools port for Linux and *BSD

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cctools-1009.2 & ld64-907 source has been posted

dpogue opened this issue · comments

I have merged the latest cctools and ld64 => https://github.com/tpoechtrager/cctools-port/tree/1009.2-ld64-907

I haven't done much testing for now. The merging was quite tricky this time. In fact, it get's harder and harder with every release.

libdispatch-dev and libblocksruntime
are mandatory build requirements now.

Compiler requirements have been tightened as well.
Minium required clang version is 10 as well as a libstdc++ / libc++ that supports C++20.

otool was removed from cctools. I have added an otool wrapper for llvm-tool (LLVM 13+) as replacement.

I hope everything works.

Testing would be much appreciated.

A few months ago we got cctools-1010.6 and ld64-951.9 (there's also tapi-1500.0.12.3, but idk how relevant that is).

I think especially ld64 would be nice to have, since Apple seems to be in the process of phasing it out. In the current Xcode toolchain it's now called ld-classic, and "dyld-ld" has assumed the role of the default ld - obviously closed source. So this may be the last Apple linker we're getting in a long time.

Well, that sucks. I wasn't even aware of dyld-ld until now - I've barely kept up with Xcode development lately.

I've been planning to work on OSXCross and cctools/ld64 during my vacation in July.
There's a lot to do. The new dependencies of ld64 also suck, which is why I haven't set the latest merged version as default.

there's also tapi-1500.0.12.3, but idk how relevant that is

for some reason tpoechtrager never merged tapi 15 into https://github.com/tpoechtrager/apple-libtapi, it's still on 1300.6.5

Because it's always troublesome to merge TAPI versions. It's not something I can pull off in 5 minutes, at least not when it's supposed work on most Linux distributions and BSD. Since 1300.6.5 worked with the latest ld64 back then I kept it at that version.

I've got no experience with this but just for fun I decided to try and merge the new versions of cctools and ld64 myself. Everything builds on linux https://github.com/Un1q32/cctools-port/tree/1010.6-ld64-951.9
I've tested it with building some open source projects and it seems to work fine