cctools-port icon indicating copy to clipboard operation
cctools-port copied to clipboard

cctools-1009.2 & ld64-907 source has been posted

Open dpogue opened this issue 2 years ago • 6 comments
trafficstars

cctools: https://github.com/apple-oss-distributions/cctools/tree/cctools-1009.2 ld64: https://github.com/apple-oss-distributions/ld64/tree/ld64-907

dpogue avatar Nov 09 '23 21:11 dpogue

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.

tpoechtrager avatar Nov 10 '23 21:11 tpoechtrager

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.

Siguza avatar Jun 01 '24 15:06 Siguza

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.

tpoechtrager avatar Jun 01 '24 16:06 tpoechtrager

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

Un1q32 avatar Jun 01 '24 16:06 Un1q32

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.

tpoechtrager avatar Jun 01 '24 17:06 tpoechtrager

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

Un1q32 avatar Jun 02 '24 22:06 Un1q32

Hey @Un1q32, thanks for the effort!

I have merged cctools 1010.6 and ld64 951.9 now. However, I did it on my own because I need to know about the merge conflicts. Luckily this one was fairly easy to merge.

I appreciate they decided to add back the otool sources...

tpoechtrager avatar Aug 05 '24 16:08 tpoechtrager