mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
DynamicLoader+LibC+LibTimeZone: Include LibTimeZone sources in LibC
LibTimeZone will be needed directly within LibC for functions such as localtime(). This change adds LibTimeZone directly within LibC, so that LibTimeZone isn't its own .so library anymore. LibTimeZone itself is compiled as an object library to make it easier to give it generator-specific compilation flags.
This commit is contained in:
parent
b873a222d7
commit
6988403d59
Notes:
sideshowbarker
2024-07-17 20:24:05 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/SerenityOS/serenity/commit/6988403d591 Pull-request: https://github.com/SerenityOS/serenity/pull/12026 Reviewed-by: https://github.com/alimpfard Reviewed-by: https://github.com/linusg
3 changed files with 4 additions and 4 deletions
|
@ -45,5 +45,6 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang$")
|
|||
target_link_libraries(Loader.so PRIVATE clang_rt.builtins)
|
||||
endif ()
|
||||
|
||||
target_link_libraries(Loader.so PRIVATE LibTimeZone)
|
||||
target_link_options(Loader.so PRIVATE LINKER:--no-dynamic-linker)
|
||||
install(TARGETS Loader.so RUNTIME DESTINATION usr/lib/)
|
||||
|
|
|
@ -130,7 +130,7 @@ set(SOURCES ${LIBC_SOURCES} ${AK_SOURCES} ${ELF_SOURCES} ${ASM_SOURCES})
|
|||
set_source_files_properties(stdio.cpp PROPERTIES COMPILE_FLAGS "-fno-builtin-fputc -fno-builtin-fputs -fno-builtin-fwrite")
|
||||
|
||||
add_library(LibCStaticWithoutDeps STATIC ${SOURCES})
|
||||
target_link_libraries(LibCStaticWithoutDeps ssp)
|
||||
target_link_libraries(LibCStaticWithoutDeps ssp LibTimeZone)
|
||||
add_dependencies(LibCStaticWithoutDeps LibM LibSystem LibUBSanitizer)
|
||||
|
||||
add_custom_target(LibCStatic
|
||||
|
@ -154,7 +154,7 @@ set_property(
|
|||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nolibc")
|
||||
serenity_libc(LibC c)
|
||||
add_dependencies(LibC crti crt0 crt0_shared crtn)
|
||||
target_link_libraries(LibC ssp system)
|
||||
target_link_libraries(LibC ssp system LibTimeZone)
|
||||
|
||||
# We mark LibCStatic as a dependency of LibC because this triggers the build of the LibCStatic target
|
||||
add_dependencies(LibC LibM LibSystem LibCStatic)
|
||||
|
|
|
@ -5,6 +5,5 @@ set(SOURCES
|
|||
${TIME_ZONE_DATA_SOURCES}
|
||||
)
|
||||
|
||||
serenity_lib(LibTimeZone timezone)
|
||||
target_link_libraries(LibTimeZone LibCore)
|
||||
add_library(LibTimeZone OBJECT ${SOURCES})
|
||||
target_compile_definitions(LibTimeZone PRIVATE ENABLE_TIME_ZONE_DATA=$<BOOL:${ENABLE_TIME_ZONE_DATABASE_DOWNLOAD}>)
|
||||
|
|
Loading…
Reference in a new issue