Commit Graph

660 Commits

Author SHA1 Message Date
William Kent
e98ae0913d Unblock Xcode generation
This does not really work, but it's there if you want to try it.
2024-01-09 16:13:12 -05:00
William Kent
a3aefbc006 Use \${CMAKE_COMMAND} instead of raw cmake tool name 2024-01-09 16:12:53 -05:00
William Kent
5a5efdf16d Remove dead code 2024-01-09 16:06:35 -05:00
William Kent
c8b360354a Fix CMake syntax error
The old syntax actually does not work.
2024-01-09 16:05:17 -05:00
William Kent
4263df5688 Use Xcode-compatible logic in crosscompile.cmake 2024-01-09 16:05:00 -05:00
William Kent
a9f762d321 Set explicit file extension on dynamic libraries
On macOS, the file extension for dynamic libraries is
'.dylib'. On Linux, it is '.so'. This change should
aid in crosscompilation on Linux.

I would have submitted this change in a PR, but my branch
has become corrupted for some reason. GitHub does not
accept it, saying it is out of date with the main branch,
but there are no changes on the main branch I can rebase
over to solve the problem.
2023-10-09 14:59:13 -04:00
William Kent
807097e930 Merge pull request #133 from PureDarwin/xnu_warnings
Fix overly-verbose warning in xnu header
2023-10-09 14:49:27 -04:00
William Kent
a207649f6f Fix overly-verbose warning in xnu header 2023-10-09 14:40:34 -04:00
William Kent
cd9b76dd57 Merge pull request #132 from PureDarwin/libsystem_clang_bootstrap
Remove vendored copy of clang_bootstrap_headers
2023-10-09 14:40:17 -04:00
William Kent
3e5812ebc0 Delete local copy of clang_bootstrap_headers 2023-10-09 14:31:23 -04:00
William Kent
7b6edbd36b Link libsystem_kernel_static against central headers 2023-10-09 14:30:59 -04:00
William Kent
3ed8bf9180 Use correct CMake function 2023-10-09 14:22:29 -04:00
William Kent
d6e5c7efb2 Minor fix in CMake mig() function 2023-10-09 14:19:39 -04:00
William Kent
5eccab72cc Merge pull request #129 from PureDarwin/corecrypto
Initial commit of user-mode corecrypto
2023-10-09 14:12:33 -04:00
William Kent
6e1b24e9da Merge pull request #130 from PureDarwin/minor-tools-cleanup
Minor cleanup on the host tools build process
2023-10-09 14:12:15 -04:00
William Kent
ae73cc887b Remove ancient, ancient darwin_* targets
These were added to aid in initially writing the host
tools' build system. Now all references to host tools
use the "host_something" command line and target syntax.
2023-10-03 16:22:41 -04:00
William Kent
c306db0568 Set OUTPUT_NAME correctly on all tools 2023-10-03 16:18:50 -04:00
William Kent
7f270a577b Rename "*.host" tools to "host_*" for consistency 2023-10-03 16:18:37 -04:00
William Kent
b8a7e33cf5 Update README 2023-10-03 16:04:18 -04:00
William Kent
60321266b0 Use CC_STUB() and variants everywhere 2023-10-03 16:01:08 -04:00
William Kent
7cb44fc5c8 Add commented-out circular library definition
Again, these will not compile (or even configure)
until every one is present.
2023-10-03 13:01:52 -04:00
William Kent
62fd376493 Move file into object library
While it seems silly to have an object library for
only one file, I cannot specify source files directly
when using add_darwin_circular_library(). Object libraries
must be used.
2023-10-03 13:01:06 -04:00
William Kent
9fec4145a4 Fix typo in circular.cmake 2023-10-03 12:57:46 -04:00
William Kent
5467d31c84 Break out lengthy CMake code into a separate file
This keeps the main CMakeLists file easier to read.
2023-10-03 12:53:55 -04:00
William Kent
0b13ce6d09 Add and use library for clang bootstrap headers
I would rather not copy these all around the codebase
everywhere they are needed. A followup PR will address
libsystem_kernel's copy.
2023-10-03 12:52:28 -04:00
William Kent
e90ec09472 Remove shared/user differentiation in corecrypto
This was done in order to potentially share the corecrypto_shared
library between libcorecrypto, libcorecrypto_static, and the
corecrypto kext, but I am not certain if the algorithm code is
the exact same in both places. It took a while getting the kext
to build and boot; I'd rather not risk breaking it.
2023-10-03 12:49:17 -04:00
William Kent
933704d939 Add LICENSE for corecrypto code 2023-10-03 12:43:12 -04:00
William Kent
9335e32f5f Fix include paths in corecrypto sources 2023-10-03 12:42:35 -04:00
William Kent
a8fd99abae Initial commit of corecrypto 2023-10-03 12:40:06 -04:00
William Kent
f4c3f7b92c Move pthread directory into libSystem
Now that the pthread kext target has moved
out, there is no reason to keep it at the
top level anymore.
2023-10-03 12:37:28 -04:00
William Kent
91eead5642 Property set OUTPUT_NAME for libsystem_kernel 2023-10-03 12:23:39 -04:00
William Kent
5a04e98aa3 Fix important bug in circular.cmake 2023-10-03 12:19:29 -04:00
William Kent
d7ee469e05 Merge pull request #128 from PureDarwin/circular
Add initial build files for libSystem
2023-10-03 12:09:05 -04:00
William Kent
3e01db0498 Set OUTPUT_NAME property instead of PREFIX
Following last commit, this is a coding rule I want to institute.
Only change OUTPUT_NAME if your target file has a different name
than the target name, but still has the "lib" prefix.
2023-10-03 11:59:56 -04:00
William Kent
e4c9db5729 Refactor output prefix handling
This makes the build more idiomatic if we were to
re-enable building in Xcode, which we well might one day.
2023-10-03 11:51:40 -04:00
William Kent
456189be8e Add INSTALL_NAME parameter to add_darwin_shared_library()
This will become useful when we start creating firstpass
dylibs using add_darwin_circular_library(). These files have
a different extension, but need to have the same install
name as the real deal.
2023-10-03 11:24:03 -04:00
William Kent
6380c5f658 Add circular.cmake from darling
Building the components of libSystem is not an easy task,
because of all the circular dependencies. This function
supposedly works around that. I have modified it extensively
to fit our repo's coding conventions.
2023-10-02 17:27:19 -04:00
William Kent
aeac9d0fda Update README 2023-10-02 16:58:07 -04:00
William Kent
0c703e2bc1 Merge pull request #127 from PureDarwin/move-pthread.kext
Various maintenance on the kext targets
2023-10-02 16:49:21 -04:00
William Kent
dfbbe71d20 Install corecrypto kext 2023-10-02 15:25:59 -04:00
William Kent
aa13af916e Remove leading / from install() lines
As was done with all the user-mode components.
2023-10-02 15:25:06 -04:00
William Kent
d22f76a5d9 Move pthread kext sources to the appropriate subfolder 2023-10-02 15:22:57 -04:00
William Kent
44b0cc4143 Merge pull request #123 from PureDarwin/install_manpage
Fix and rewrite install_manpage()
2023-10-01 14:13:25 -04:00
William Kent
d6b4cf06a0 Merge pull request #125 from PureDarwin/fix-stdlib.h-warnings
Fix stdlib.h warnings
2023-10-01 14:13:13 -04:00
William Kent
8fdfa8b256 Merge branch 'main' into fix-stdlib.h-warnings 2023-10-01 14:13:06 -04:00
William Kent
5b32f1f834 Merge pull request #126 from PureDarwin/libmalloc-minor-fix
Minor fixes in libmalloc header
2023-10-01 14:12:22 -04:00
William Kent
593735c7fe Merge pull request #124 from PureDarwin/fix-CrashReporterClient
Don't truncate pointers to unsigned long
2023-10-01 14:12:08 -04:00
William Kent
753a34de9c Merge pull request #122 from PureDarwin/fix-libsystem_kernel
Fix issues in libsystem_kernel
2023-10-01 14:12:00 -04:00
William Kent
3d594f817b Merge pull request #121 from PureDarwin/gitignore-vscode
Add .vscode directory to gitignore
2023-10-01 14:11:50 -04:00
William Kent
3028c37e59 Merge pull request #120 from PureDarwin/target-flag-warnings
Fix warnings related to compiler flag mismatch
2023-10-01 14:11:40 -04:00