mirror of
https://github.com/urbit/shrub.git
synced 2024-12-30 07:35:19 +03:00
edd57d380d
- Fixes the IPC bug - Fixes the terminfo bug - Moves the OSX SDK out of our nixcrpkgs fork. - Vendor nixcrpkgs instead of having it be a submodule. |
||
---|---|---|
.. | ||
binutils | ||
gcc | ||
default.nix | ||
headers_builder.sh | ||
license_builder.sh | ||
README.md |
Linux GCC toolchain
The files in this directory define how we build our GCC cross-compiler that targets Linux, using the musl libc.
A note about -rdynamic
Do not pass -rdynamic
to GCC when building an executable; it will cause the compiled executable to depend on a musl libc dynamic loader in /lib
that probably doesn't exist, and defeats the point of static linking. The -static
option overrides -rdynamic
, so adding-static
to the linker flags of a project using -rdynamic
is one way to fix the issue.
CMake will pass -rdynamic
unless you set CMP0065 to new as shown below, or set your CMake policy version to 3.4 or later.
# Don't use -rdynamic since it causes Musl static linking to not work.
cmake_policy(SET CMP0065 NEW)