Commit 6f55b2a
The Great Migration - Merge Darwin branch
This commit starts the rebase of our lowest OS layers (the kernel, system
libraries, tools, etc) to Darwin/XNU based on Apple OSS and PureDarwin. It
also substantially changes both the source tree layout and the build output.
Most Darwin source comes directly from the `distribution-macOS` Apple repo.
/Developer - all toolchain, SDK, and related stuff
/Kernel - xnu, libkmod, kernel extensions (kexts)
/Libraries - system libraries like libSystem, libdispatch,
Build system - The whole project now builds with CMake for better
portability. See Docs/BUILDING.md.
XNU - 12.x with some local modifications, in RELEASE config. Adapted _start
to boot directly from UEFI in 64-bit long mode and to initialize
usimple_lock debugging (usld) at startup.
LLVM - 17.x. We now use Apple's fork from tag swift-6.0-release which is
needed to build TAPI (TextAPI) - the library used to manage .tbd symbol
files. Patched to define TARGET_OS_* macros.
Linker - we're now using Apple ld64-609 with Split Segment V2 support needed
to build kexts
RTLD - our runtime linker will now be dyld-1066.8
ObjC - GNUstep libobjc-2 was removed. We will be switching to Apple's objc4
library for better ABI compatibility
Default.xctoolchain - A new toolchain package is created with all necessary
tools to build ravynOS (except for IIG) built for the host platform.
This toolchain is intended to be compatible with XcodeDefault.xctoolchain.
It contains: clang, ld, as, ar, lipo, dsymutil, llvm binutils, gmake,
xcbuild, and so on.
ravynOS.sdk - A new SDK package is created with all necessary header files,
libraries, debug symbols (.dSYM bundles), extra tools, etc. This is
equivalent to MacOSX.sdk and can be used as the SDKROOT for building
ravynOS apps. (work in progress)
libtapi was added
cctools was added with ld64, libstuff, libmacho, lipo, etc
mig was ported forward
gmake was updated
dtrace_ctf, unifdef, xar were added
xcbuild was added to build xcodeproj files, with imported product and package
definitions from Swift
Python scripts were patched up to v3 syntax
System version info is now in CMakeLists.txt and propagates to
/System/Library/CoreServices/SystemVersion.plist.1 parent bb9b06f commit 6f55b2a
Sorry, this diff is taking too long to generate.
It may be too large to display on GitHub.