summaryrefslogtreecommitdiff
path: root/Libraries/LibC
diff options
context:
space:
mode:
authorAndrew Kaster <andrewdkaster@gmail.com>2020-05-18 18:54:51 -0600
committerAndreas Kling <kling@serenityos.org>2020-05-20 08:37:50 +0200
commitc1eb744ff0a82cf6c8e3470ac10e2f417c7d9de2 (patch)
tree02aca2ec7136f8ceb24221506aedffb80e62aa4f /Libraries/LibC
parentcdbbe14062ea49f9a9d9b0e5627aba9efd07659a (diff)
downloadserenity-c1eb744ff0a82cf6c8e3470ac10e2f417c7d9de2.zip
Build: Include headers from LibC, LibM, and LibPthread with -isystem
Make sure that userspace is always referencing "system" headers in a way that would build on target :). This means removing the explicit include_directories of Libraries/LibC in favor of having it export its headers as SYSTEM. Also remove a redundant include_directories of Libraries in the 'serenity build' part of the build script. It's already set at the top. This causes issues for the Kernel, and for crt0.o. These special cases are handled individually.
Diffstat (limited to 'Libraries/LibC')
-rw-r--r--Libraries/LibC/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/Libraries/LibC/CMakeLists.txt b/Libraries/LibC/CMakeLists.txt
index d5e94d1b96..feee96aa97 100644
--- a/Libraries/LibC/CMakeLists.txt
+++ b/Libraries/LibC/CMakeLists.txt
@@ -52,6 +52,8 @@ file(GLOB ELF_SOURCES "../LibELF/*.cpp")
set(ELF_SOURCES ${ELF_SOURCES} ../LibELF/Arch/i386/plt_trampoline.S)
add_library(crt0 STATIC crt0.cpp)
+# We need include headers from LibC in crt0. namely, <assert.h>
+target_include_directories(crt0 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
add_custom_command(
TARGET crt0
COMMAND install -D $<TARGET_OBJECTS:crt0> ${CMAKE_INSTALL_PREFIX}/usr/lib/crt0.o