mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
Ladybird+Meta: Extract AK into its own library on Lagom
We currently bundle AK with LibCore on Lagom. This means that to use AK, all libraries must also depend on LibCore. This will create circular dependencies when we create LibURL, as LibURL will depend on LibUnicode, which will depend on LibCore, which will depend on LibURL.
This commit is contained in:
parent
1e7b06aa11
commit
5945cdc054
Notes:
sideshowbarker
2024-07-17 04:03:27 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/SerenityOS/serenity/commit/5945cdc054 Pull-request: https://github.com/SerenityOS/serenity/pull/22896 Reviewed-by: https://github.com/ADKaster ✅
8 changed files with 75 additions and 78 deletions
|
@ -175,7 +175,7 @@ target_sources(ladybird PUBLIC FILE_SET ladybird TYPE HEADERS
|
||||||
BASE_DIRS ${SERENITY_SOURCE_DIR}
|
BASE_DIRS ${SERENITY_SOURCE_DIR}
|
||||||
FILES ${LADYBIRD_HEADERS}
|
FILES ${LADYBIRD_HEADERS}
|
||||||
)
|
)
|
||||||
target_link_libraries(ladybird PRIVATE LibCore LibFileSystem LibGfx LibImageDecoderClient LibIPC LibJS LibMain LibWeb LibWebView LibProtocol)
|
target_link_libraries(ladybird PRIVATE AK LibCore LibFileSystem LibGfx LibImageDecoderClient LibIPC LibJS LibMain LibWeb LibWebView LibProtocol)
|
||||||
|
|
||||||
target_include_directories(ladybird PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
target_include_directories(ladybird PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
target_include_directories(ladybird PRIVATE ${SERENITY_SOURCE_DIR}/Userland/)
|
target_include_directories(ladybird PRIVATE ${SERENITY_SOURCE_DIR}/Userland/)
|
||||||
|
@ -189,7 +189,7 @@ add_executable(headless-browser
|
||||||
Utilities.cpp)
|
Utilities.cpp)
|
||||||
|
|
||||||
target_include_directories(headless-browser PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
target_include_directories(headless-browser PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
target_link_libraries(headless-browser PRIVATE LibWeb LibWebView LibWebSocket LibCrypto LibFileSystem LibGemini LibHTTP LibImageDecoderClient LibJS LibGfx LibMain LibTLS LibIPC LibDiff LibProtocol)
|
target_link_libraries(headless-browser PRIVATE AK LibCore LibWeb LibWebView LibWebSocket LibCrypto LibFileSystem LibGemini LibHTTP LibImageDecoderClient LibJS LibGfx LibMain LibTLS LibIPC LibDiff LibProtocol)
|
||||||
|
|
||||||
if (ANDROID)
|
if (ANDROID)
|
||||||
include(cmake/AndroidExtras.cmake)
|
include(cmake/AndroidExtras.cmake)
|
||||||
|
|
|
@ -224,9 +224,11 @@ function(lagom_lib target_name fs_name)
|
||||||
OUTPUT_NAME lagom-${fs_name}
|
OUTPUT_NAME lagom-${fs_name}
|
||||||
)
|
)
|
||||||
target_link_libraries(${target_name} PRIVATE ${LAGOM_LIBRARY_LIBS})
|
target_link_libraries(${target_name} PRIVATE ${LAGOM_LIBRARY_LIBS})
|
||||||
if (NOT ${target_name} STREQUAL "LibCore")
|
|
||||||
target_link_libraries(${target_name} PRIVATE LibCore)
|
if (NOT "${target_name}" STREQUAL "AK")
|
||||||
|
target_link_libraries(${target_name} PRIVATE AK)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# FIXME: Clean these up so that we don't need so many include dirs
|
# FIXME: Clean these up so that we don't need so many include dirs
|
||||||
target_include_directories(${target_name} INTERFACE
|
target_include_directories(${target_name} INTERFACE
|
||||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/Services>
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/Services>
|
||||||
|
@ -262,7 +264,7 @@ function(lagom_test source)
|
||||||
get_filename_component(LAGOM_TEST_NAME ${source} NAME_WE)
|
get_filename_component(LAGOM_TEST_NAME ${source} NAME_WE)
|
||||||
endif()
|
endif()
|
||||||
add_executable(${LAGOM_TEST_NAME} ${source})
|
add_executable(${LAGOM_TEST_NAME} ${source})
|
||||||
target_link_libraries(${LAGOM_TEST_NAME} PRIVATE LibCore LibFileSystem LibTest LibTestMain ${LAGOM_TEST_LIBS})
|
target_link_libraries(${LAGOM_TEST_NAME} PRIVATE AK LibCore LibFileSystem LibTest LibTestMain ${LAGOM_TEST_LIBS})
|
||||||
add_test(
|
add_test(
|
||||||
NAME ${LAGOM_TEST_NAME}
|
NAME ${LAGOM_TEST_NAME}
|
||||||
COMMAND ${LAGOM_TEST_NAME}
|
COMMAND ${LAGOM_TEST_NAME}
|
||||||
|
@ -275,7 +277,7 @@ function(lagom_utility name)
|
||||||
cmake_parse_arguments(LAGOM_UTILITY "" "" "SOURCES;LIBS" ${ARGN})
|
cmake_parse_arguments(LAGOM_UTILITY "" "" "SOURCES;LIBS" ${ARGN})
|
||||||
|
|
||||||
add_executable("${name}" ${LAGOM_UTILITY_SOURCES})
|
add_executable("${name}" ${LAGOM_UTILITY_SOURCES})
|
||||||
target_link_libraries("${name}" PRIVATE LibCore ${LAGOM_UTILITY_LIBS})
|
target_link_libraries("${name}" PRIVATE AK LibCore ${LAGOM_UTILITY_LIBS})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(serenity_test test_src sub_dir)
|
function(serenity_test test_src sub_dir)
|
||||||
|
@ -345,9 +347,11 @@ add_library(NoCoverage INTERFACE)
|
||||||
# "install" these special targets to placate CMake
|
# "install" these special targets to placate CMake
|
||||||
install(TARGETS LibC LibCrypt LibSystem NoCoverage EXPORT LagomTargets)
|
install(TARGETS LibC LibCrypt LibSystem NoCoverage EXPORT LagomTargets)
|
||||||
|
|
||||||
# AK/LibCore
|
# AK
|
||||||
# Note: AK is included in LibCore for the host build instead of LibC per the target build
|
|
||||||
add_serenity_subdirectory(AK)
|
add_serenity_subdirectory(AK)
|
||||||
|
lagom_lib(AK ak SOURCES ${AK_SOURCES})
|
||||||
|
|
||||||
|
# LibCore
|
||||||
add_serenity_subdirectory(Userland/Libraries/LibCore)
|
add_serenity_subdirectory(Userland/Libraries/LibCore)
|
||||||
target_link_libraries(LibCore PRIVATE Threads::Threads)
|
target_link_libraries(LibCore PRIVATE Threads::Threads)
|
||||||
if (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
|
if (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
|
||||||
|
@ -366,7 +370,6 @@ if (HAIKU)
|
||||||
# Haiku has networking related functions in the network library
|
# Haiku has networking related functions in the network library
|
||||||
target_link_libraries(LibCore PRIVATE network)
|
target_link_libraries(LibCore PRIVATE network)
|
||||||
endif()
|
endif()
|
||||||
target_sources(LibCore PRIVATE ${AK_SOURCES})
|
|
||||||
|
|
||||||
# LibMain
|
# LibMain
|
||||||
add_serenity_subdirectory(Userland/Libraries/LibMain)
|
add_serenity_subdirectory(Userland/Libraries/LibMain)
|
||||||
|
@ -499,7 +502,7 @@ if (BUILD_LAGOM)
|
||||||
list(TRANSFORM LIBGUI_SOURCES PREPEND "${SERENITY_PROJECT_ROOT}/Userland/Libraries/LibGUI/")
|
list(TRANSFORM LIBGUI_SOURCES PREPEND "${SERENITY_PROJECT_ROOT}/Userland/Libraries/LibGUI/")
|
||||||
lagom_lib(LibGUI gui
|
lagom_lib(LibGUI gui
|
||||||
SOURCES ${LIBGUI_SOURCES}
|
SOURCES ${LIBGUI_SOURCES}
|
||||||
LIBS LibGfx LibSyntax)
|
LIBS LibCore LibGfx LibSyntax)
|
||||||
|
|
||||||
# FIXME: How about we don't include Kernel/API from random high-level libraries?
|
# FIXME: How about we don't include Kernel/API from random high-level libraries?
|
||||||
install(FILES ${SERENITY_PROJECT_ROOT}/Kernel/API/KeyCode.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Kernel/API")
|
install(FILES ${SERENITY_PROJECT_ROOT}/Kernel/API/KeyCode.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Kernel/API")
|
||||||
|
@ -563,7 +566,7 @@ if (BUILD_LAGOM)
|
||||||
lagom_utility(js SOURCES ../../Userland/Utilities/js.cpp LIBS LibCrypto LibJS LibLine LibLocale LibMain LibTextCodec Threads::Threads)
|
lagom_utility(js SOURCES ../../Userland/Utilities/js.cpp LIBS LibCrypto LibJS LibLine LibLocale LibMain LibTextCodec Threads::Threads)
|
||||||
|
|
||||||
if (EMSCRIPTEN)
|
if (EMSCRIPTEN)
|
||||||
lagom_utility(libjs Wasm/js_repl.cpp LIBS LibJS LibLocale LibTimeZone LibUnicode)
|
lagom_utility(libjs SOURCES Wasm/js_repl.cpp LIBS LibJS LibLocale LibTimeZone LibUnicode)
|
||||||
target_link_options(libjs PRIVATE
|
target_link_options(libjs PRIVATE
|
||||||
-sEXPORTED_FUNCTIONS=_initialize_repl,_execute
|
-sEXPORTED_FUNCTIONS=_initialize_repl,_execute
|
||||||
-sEXPORTED_RUNTIME_METHODS=allocateUTF8
|
-sEXPORTED_RUNTIME_METHODS=allocateUTF8
|
||||||
|
@ -612,7 +615,7 @@ if (BUILD_LAGOM)
|
||||||
LibTest
|
LibTest
|
||||||
${LIBTEST_SOURCES}
|
${LIBTEST_SOURCES}
|
||||||
)
|
)
|
||||||
target_link_libraries(LibTest PRIVATE LibCore LibFileSystem)
|
target_link_libraries(LibTest PRIVATE AK LibCore LibFileSystem)
|
||||||
set_target_properties(LibTest PROPERTIES OUTPUT_NAME lagom-test)
|
set_target_properties(LibTest PROPERTIES OUTPUT_NAME lagom-test)
|
||||||
add_library(
|
add_library(
|
||||||
LibTestMain
|
LibTestMain
|
||||||
|
@ -677,14 +680,14 @@ if (BUILD_LAGOM)
|
||||||
# test-jpeg-roundtrip
|
# test-jpeg-roundtrip
|
||||||
add_executable(test-jpeg-roundtrip
|
add_executable(test-jpeg-roundtrip
|
||||||
../../Userland/Utilities/test-jpeg-roundtrip.cpp)
|
../../Userland/Utilities/test-jpeg-roundtrip.cpp)
|
||||||
target_link_libraries(test-jpeg-roundtrip LibGfx LibMain)
|
target_link_libraries(test-jpeg-roundtrip AK LibGfx LibMain)
|
||||||
|
|
||||||
# JavaScriptTestRunner + LibTest tests
|
# JavaScriptTestRunner + LibTest tests
|
||||||
# test-js
|
# test-js
|
||||||
add_executable(test-js
|
add_executable(test-js
|
||||||
../../Tests/LibJS/test-js.cpp
|
../../Tests/LibJS/test-js.cpp
|
||||||
../../Userland/Libraries/LibTest/JavaScriptTestRunnerMain.cpp)
|
../../Userland/Libraries/LibTest/JavaScriptTestRunnerMain.cpp)
|
||||||
target_link_libraries(test-js LibCore LibFileSystem LibTest LibJS)
|
target_link_libraries(test-js AK LibCore LibFileSystem LibTest LibJS)
|
||||||
add_test(
|
add_test(
|
||||||
NAME JS
|
NAME JS
|
||||||
COMMAND test-js --show-progress=false
|
COMMAND test-js --show-progress=false
|
||||||
|
@ -699,7 +702,7 @@ if (BUILD_LAGOM)
|
||||||
add_executable(test-spreadsheet
|
add_executable(test-spreadsheet
|
||||||
../../Tests/Spreadsheet/test-spreadsheet.cpp
|
../../Tests/Spreadsheet/test-spreadsheet.cpp
|
||||||
../../Userland/Libraries/LibTest/JavaScriptTestRunnerMain.cpp)
|
../../Userland/Libraries/LibTest/JavaScriptTestRunnerMain.cpp)
|
||||||
target_link_libraries(test-spreadsheet LibCore LibFileSystem LibTest LibJS)
|
target_link_libraries(test-spreadsheet AK LibCore LibFileSystem LibTest LibJS)
|
||||||
add_test(
|
add_test(
|
||||||
NAME Spreadsheet
|
NAME Spreadsheet
|
||||||
COMMAND test-spreadsheet --show-progress=false
|
COMMAND test-spreadsheet --show-progress=false
|
||||||
|
@ -710,7 +713,7 @@ if (BUILD_LAGOM)
|
||||||
add_executable(test-wasm
|
add_executable(test-wasm
|
||||||
../../Tests/LibWasm/test-wasm.cpp
|
../../Tests/LibWasm/test-wasm.cpp
|
||||||
../../Userland/Libraries/LibTest/JavaScriptTestRunnerMain.cpp)
|
../../Userland/Libraries/LibTest/JavaScriptTestRunnerMain.cpp)
|
||||||
target_link_libraries(test-wasm LibCore LibFileSystem LibTest LibWasm LibJS LibCrypto)
|
target_link_libraries(test-wasm AK LibCore LibFileSystem LibTest LibWasm LibJS LibCrypto)
|
||||||
add_test(
|
add_test(
|
||||||
NAME WasmParser
|
NAME WasmParser
|
||||||
COMMAND test-wasm --show-progress=false ${CMAKE_CURRENT_BINARY_DIR}/Userland/Libraries/LibWasm/Tests
|
COMMAND test-wasm --show-progress=false ${CMAKE_CURRENT_BINARY_DIR}/Userland/Libraries/LibWasm/Tests
|
||||||
|
|
|
@ -24,7 +24,7 @@ add_executable(MacPDF MACOSX_BUNDLE
|
||||||
target_compile_options(MacPDF PRIVATE
|
target_compile_options(MacPDF PRIVATE
|
||||||
-fobjc-arc
|
-fobjc-arc
|
||||||
)
|
)
|
||||||
target_link_libraries(MacPDF PRIVATE LibCore LibGfx LibPDF)
|
target_link_libraries(MacPDF PRIVATE AK LibCore LibGfx LibPDF)
|
||||||
target_link_libraries(MacPDF PRIVATE
|
target_link_libraries(MacPDF PRIVATE
|
||||||
"-framework Cocoa"
|
"-framework Cocoa"
|
||||||
"-framework UniformTypeIdentifiers"
|
"-framework UniformTypeIdentifiers"
|
||||||
|
@ -39,7 +39,7 @@ set_target_properties(MacPDF PROPERTIES
|
||||||
)
|
)
|
||||||
|
|
||||||
# Normally you'd set `RESOURCE "${RESOURCES}"` on the MacPDF target properties
|
# Normally you'd set `RESOURCE "${RESOURCES}"` on the MacPDF target properties
|
||||||
# and add `"${RESOURCES}" to the sources in add_executable()
|
# and add `"${RESOURCES}" to the sources in add_executable()
|
||||||
# and CMake would add build steps to compile the xib files to nib files and
|
# and CMake would add build steps to compile the xib files to nib files and
|
||||||
# add them to the bundle.
|
# add them to the bundle.
|
||||||
# But with CMake's ninja generator that seems to not work, so do it manually.
|
# But with CMake's ninja generator that seems to not work, so do it manually.
|
||||||
|
@ -51,7 +51,7 @@ foreach(xib ${RESOURCES})
|
||||||
# FIXME: This is gross! It makes the link at least as slow as compiling all xib files.
|
# FIXME: This is gross! It makes the link at least as slow as compiling all xib files.
|
||||||
# Better to have a separate command for the compiles and to only do the copying in the postbuild.
|
# Better to have a separate command for the compiles and to only do the copying in the postbuild.
|
||||||
add_custom_command(TARGET MacPDF POST_BUILD
|
add_custom_command(TARGET MacPDF POST_BUILD
|
||||||
COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text
|
COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text
|
||||||
--compile "$<TARGET_BUNDLE_DIR:MacPDF>/Contents/Resources/${nib}"
|
--compile "$<TARGET_BUNDLE_DIR:MacPDF>/Contents/Resources/${nib}"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/${xib}"
|
"${CMAKE_CURRENT_SOURCE_DIR}/${xib}"
|
||||||
COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/${xib}.xib")
|
COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/${xib}.xib")
|
||||||
|
|
|
@ -6,18 +6,18 @@ function(add_simple_fuzzer name)
|
||||||
configure_file("${name}.dict" "${FUZZER_DICTIONARY_DIRECTORY}/${name}.dict" COPYONLY)
|
configure_file("${name}.dict" "${FUZZER_DICTIONARY_DIRECTORY}/${name}.dict" COPYONLY)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(${name}
|
target_link_libraries(${name}
|
||||||
PUBLIC ${ARGN} LibCore)
|
PUBLIC ${ARGN} AK LibCore)
|
||||||
elseif (ENABLE_FUZZERS_LIBFUZZER)
|
elseif (ENABLE_FUZZERS_LIBFUZZER)
|
||||||
target_compile_options(${name}
|
target_compile_options(${name}
|
||||||
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-g -O1 -fsanitize=fuzzer>
|
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-g -O1 -fsanitize=fuzzer>
|
||||||
)
|
)
|
||||||
target_link_libraries(${name}
|
target_link_libraries(${name}
|
||||||
PUBLIC ${ARGN} LibCore
|
PUBLIC ${ARGN} AK LibCore
|
||||||
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-fsanitize=fuzzer>
|
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-fsanitize=fuzzer>
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
target_sources(${name} PRIVATE "EntryShim.cpp")
|
target_sources(${name} PRIVATE "EntryShim.cpp")
|
||||||
target_link_libraries(${name} PUBLIC ${ARGN} LibCore)
|
target_link_libraries(${name} PUBLIC ${ARGN} AK LibCore)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ target_compile_options(FuzzilliJs
|
||||||
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-g -O1 -fsanitize-coverage=trace-pc-guard>
|
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-g -O1 -fsanitize-coverage=trace-pc-guard>
|
||||||
)
|
)
|
||||||
target_link_libraries(FuzzilliJs
|
target_link_libraries(FuzzilliJs
|
||||||
PUBLIC LibCore LibJS
|
PUBLIC AK LibCore LibJS
|
||||||
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-fsanitize-coverage=trace-pc-guard>
|
PRIVATE $<$<CXX_COMPILER_ID:Clang>:-fsanitize-coverage=trace-pc-guard>
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -3,7 +3,7 @@ function(lagom_tool tool)
|
||||||
add_executable(${tool} ${SOURCES} ${LAGOM_TOOL_SOURCES})
|
add_executable(${tool} ${SOURCES} ${LAGOM_TOOL_SOURCES})
|
||||||
# alias for parity with exports
|
# alias for parity with exports
|
||||||
add_executable(Lagom::${tool} ALIAS ${tool})
|
add_executable(Lagom::${tool} ALIAS ${tool})
|
||||||
target_link_libraries(${tool} LibCore LibFileSystem ${LAGOM_TOOL_LIBS})
|
target_link_libraries(${tool} AK LibCore LibFileSystem ${LAGOM_TOOL_LIBS})
|
||||||
install(
|
install(
|
||||||
TARGETS ${tool}
|
TARGETS ${tool}
|
||||||
EXPORT LagomTargets
|
EXPORT LagomTargets
|
||||||
|
|
|
@ -7,20 +7,24 @@ config("ak_headers") {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
source_set("AK") {
|
shared_library("AK") {
|
||||||
|
output_name = "ak"
|
||||||
|
|
||||||
public_configs = [ ":ak_headers" ]
|
public_configs = [ ":ak_headers" ]
|
||||||
public_deps = [ ":ak_debug_gen" ]
|
public_deps = [ ":ak_debug_gen" ]
|
||||||
|
|
||||||
# NOTE: Headers only!
|
# FIXME: Split out non-kernel sources to their own set
|
||||||
sources = [
|
sources = [
|
||||||
"AllOf.h",
|
"AllOf.h",
|
||||||
"AnyOf.h",
|
"AnyOf.h",
|
||||||
"ArbitrarySizedEnum.h",
|
"ArbitrarySizedEnum.h",
|
||||||
"Array.h",
|
"Array.h",
|
||||||
|
"Assertions.cpp",
|
||||||
"Assertions.h",
|
"Assertions.h",
|
||||||
"Atomic.h",
|
"Atomic.h",
|
||||||
"AtomicRefCounted.h",
|
"AtomicRefCounted.h",
|
||||||
"Badge.h",
|
"Badge.h",
|
||||||
|
"Base64.cpp",
|
||||||
"Base64.h",
|
"Base64.h",
|
||||||
"BigIntBase.h",
|
"BigIntBase.h",
|
||||||
"BinaryBufferWriter.h",
|
"BinaryBufferWriter.h",
|
||||||
|
@ -35,21 +39,27 @@ source_set("AK") {
|
||||||
"BumpAllocator.h",
|
"BumpAllocator.h",
|
||||||
"ByteBuffer.h",
|
"ByteBuffer.h",
|
||||||
"ByteReader.h",
|
"ByteReader.h",
|
||||||
|
"ByteString.cpp",
|
||||||
"ByteString.h",
|
"ByteString.h",
|
||||||
"CharacterTypes.h",
|
"CharacterTypes.h",
|
||||||
"Checked.h",
|
"Checked.h",
|
||||||
"CheckedFormatString.h",
|
"CheckedFormatString.h",
|
||||||
|
"CircularBuffer.cpp",
|
||||||
"CircularBuffer.h",
|
"CircularBuffer.h",
|
||||||
"CircularDeque.h",
|
"CircularDeque.h",
|
||||||
"CircularQueue.h",
|
"CircularQueue.h",
|
||||||
"Complex.h",
|
"Complex.h",
|
||||||
"Concepts.h",
|
"Concepts.h",
|
||||||
|
"ConstrainedStream.cpp",
|
||||||
"ConstrainedStream.h",
|
"ConstrainedStream.h",
|
||||||
|
"CountingStream.cpp",
|
||||||
"CountingStream.h",
|
"CountingStream.h",
|
||||||
|
"DOSPackedTime.cpp",
|
||||||
"DOSPackedTime.h",
|
"DOSPackedTime.h",
|
||||||
"DateConstants.h",
|
"DateConstants.h",
|
||||||
"DefaultDelete.h",
|
"DefaultDelete.h",
|
||||||
"Demangle.h",
|
"Demangle.h",
|
||||||
|
"DeprecatedFlyString.cpp",
|
||||||
"DeprecatedFlyString.h",
|
"DeprecatedFlyString.h",
|
||||||
"Diagnostics.h",
|
"Diagnostics.h",
|
||||||
"DisjointChunks.h",
|
"DisjointChunks.h",
|
||||||
|
@ -57,23 +67,30 @@ source_set("AK") {
|
||||||
"DoublyLinkedList.h",
|
"DoublyLinkedList.h",
|
||||||
"Endian.h",
|
"Endian.h",
|
||||||
"EnumBits.h",
|
"EnumBits.h",
|
||||||
|
"Error.cpp",
|
||||||
"Error.h",
|
"Error.h",
|
||||||
"FPControl.h",
|
"FPControl.h",
|
||||||
"Find.h",
|
"Find.h",
|
||||||
"FixedArray.h",
|
"FixedArray.h",
|
||||||
"FixedPoint.h",
|
"FixedPoint.h",
|
||||||
"FloatingPoint.h",
|
"FloatingPoint.h",
|
||||||
|
"FloatingPointStringConversions.cpp",
|
||||||
"FloatingPointStringConversions.h",
|
"FloatingPointStringConversions.h",
|
||||||
|
"FlyString.cpp",
|
||||||
"FlyString.h",
|
"FlyString.h",
|
||||||
|
"Format.cpp",
|
||||||
"Format.h",
|
"Format.h",
|
||||||
"Forward.h",
|
"Forward.h",
|
||||||
"Function.h",
|
"Function.h",
|
||||||
|
"FuzzyMatch.cpp",
|
||||||
"FuzzyMatch.h",
|
"FuzzyMatch.h",
|
||||||
|
"GenericLexer.cpp",
|
||||||
"GenericLexer.h",
|
"GenericLexer.h",
|
||||||
"GenericShorthands.h",
|
"GenericShorthands.h",
|
||||||
"HashFunctions.h",
|
"HashFunctions.h",
|
||||||
"HashMap.h",
|
"HashMap.h",
|
||||||
"HashTable.h",
|
"HashTable.h",
|
||||||
|
"Hex.cpp",
|
||||||
"Hex.h",
|
"Hex.h",
|
||||||
"IDAllocator.h",
|
"IDAllocator.h",
|
||||||
"IPv4Address.h",
|
"IPv4Address.h",
|
||||||
|
@ -88,26 +105,34 @@ source_set("AK") {
|
||||||
"Iterator.h",
|
"Iterator.h",
|
||||||
"JsonArray.h",
|
"JsonArray.h",
|
||||||
"JsonArraySerializer.h",
|
"JsonArraySerializer.h",
|
||||||
|
"JsonObject.cpp",
|
||||||
"JsonObject.h",
|
"JsonObject.h",
|
||||||
"JsonObjectSerializer.h",
|
"JsonObjectSerializer.h",
|
||||||
|
"JsonParser.cpp",
|
||||||
"JsonParser.h",
|
"JsonParser.h",
|
||||||
|
"JsonPath.cpp",
|
||||||
"JsonPath.h",
|
"JsonPath.h",
|
||||||
|
"JsonValue.cpp",
|
||||||
"JsonValue.h",
|
"JsonValue.h",
|
||||||
"LEB128.h",
|
"LEB128.h",
|
||||||
|
"LexicalPath.cpp",
|
||||||
"LexicalPath.h",
|
"LexicalPath.h",
|
||||||
"MACAddress.h",
|
"MACAddress.h",
|
||||||
"Math.h",
|
"Math.h",
|
||||||
"MaybeOwned.h",
|
"MaybeOwned.h",
|
||||||
"MemMem.h",
|
"MemMem.h",
|
||||||
"Memory.h",
|
"Memory.h",
|
||||||
|
"MemoryStream.cpp",
|
||||||
"MemoryStream.h",
|
"MemoryStream.h",
|
||||||
"NeverDestroyed.h",
|
"NeverDestroyed.h",
|
||||||
"NoAllocationGuard.h",
|
"NoAllocationGuard.h",
|
||||||
"Noncopyable.h",
|
"Noncopyable.h",
|
||||||
"NonnullOwnPtr.h",
|
"NonnullOwnPtr.h",
|
||||||
"NonnullRefPtr.h",
|
"NonnullRefPtr.h",
|
||||||
|
"NumberFormat.cpp",
|
||||||
"NumberFormat.h",
|
"NumberFormat.h",
|
||||||
"NumericLimits.h",
|
"NumericLimits.h",
|
||||||
|
"OptionParser.cpp",
|
||||||
"OptionParser.h",
|
"OptionParser.h",
|
||||||
"Optional.h",
|
"Optional.h",
|
||||||
"OwnPtr.h",
|
"OwnPtr.h",
|
||||||
|
@ -117,6 +142,7 @@ source_set("AK") {
|
||||||
"Queue.h",
|
"Queue.h",
|
||||||
"QuickSelect.h",
|
"QuickSelect.h",
|
||||||
"QuickSort.h",
|
"QuickSort.h",
|
||||||
|
"Random.cpp",
|
||||||
"Random.h",
|
"Random.h",
|
||||||
"RecursionDecision.h",
|
"RecursionDecision.h",
|
||||||
"RedBlackTree.h",
|
"RedBlackTree.h",
|
||||||
|
@ -134,26 +160,38 @@ source_set("AK") {
|
||||||
"Singleton.h",
|
"Singleton.h",
|
||||||
"SinglyLinkedList.h",
|
"SinglyLinkedList.h",
|
||||||
"SinglyLinkedListSizePolicy.h",
|
"SinglyLinkedListSizePolicy.h",
|
||||||
|
"SipHash.cpp",
|
||||||
"SipHash.h",
|
"SipHash.h",
|
||||||
|
"Slugify.cpp",
|
||||||
"Slugify.h",
|
"Slugify.h",
|
||||||
"SourceGenerator.h",
|
"SourceGenerator.h",
|
||||||
"SourceLocation.h",
|
"SourceLocation.h",
|
||||||
"Span.h",
|
"Span.h",
|
||||||
"Stack.h",
|
"Stack.h",
|
||||||
|
"StackInfo.cpp",
|
||||||
"StackInfo.h",
|
"StackInfo.h",
|
||||||
"Statistics.h",
|
"Statistics.h",
|
||||||
"StdLibExtraDetails.h",
|
"StdLibExtraDetails.h",
|
||||||
"StdLibExtras.h",
|
"StdLibExtras.h",
|
||||||
|
"Stream.cpp",
|
||||||
"Stream.h",
|
"Stream.h",
|
||||||
|
"String.cpp",
|
||||||
"String.h",
|
"String.h",
|
||||||
|
"StringBase.cpp",
|
||||||
"StringBase.h",
|
"StringBase.h",
|
||||||
|
"StringBuilder.cpp",
|
||||||
"StringBuilder.h",
|
"StringBuilder.h",
|
||||||
|
"StringFloatingPointConversions.cpp",
|
||||||
"StringFloatingPointConversions.h",
|
"StringFloatingPointConversions.h",
|
||||||
"StringHash.h",
|
"StringHash.h",
|
||||||
|
"StringImpl.cpp",
|
||||||
"StringImpl.h",
|
"StringImpl.h",
|
||||||
|
"StringUtils.cpp",
|
||||||
"StringUtils.h",
|
"StringUtils.h",
|
||||||
|
"StringView.cpp",
|
||||||
"StringView.h",
|
"StringView.h",
|
||||||
"TemporaryChange.h",
|
"TemporaryChange.h",
|
||||||
|
"Time.cpp",
|
||||||
"Time.h",
|
"Time.h",
|
||||||
"Traits.h",
|
"Traits.h",
|
||||||
"Trie.h",
|
"Trie.h",
|
||||||
|
@ -166,74 +204,30 @@ source_set("AK") {
|
||||||
"UBSanitizer.h",
|
"UBSanitizer.h",
|
||||||
"UFixedBigInt.h",
|
"UFixedBigInt.h",
|
||||||
"UFixedBigIntDivision.h",
|
"UFixedBigIntDivision.h",
|
||||||
|
"URL.cpp",
|
||||||
"URL.h",
|
"URL.h",
|
||||||
|
"URLParser.cpp",
|
||||||
"URLParser.h",
|
"URLParser.h",
|
||||||
|
"UUID.cpp",
|
||||||
"UUID.h",
|
"UUID.h",
|
||||||
"UnicodeUtils.h",
|
"UnicodeUtils.h",
|
||||||
"Userspace.h",
|
"Userspace.h",
|
||||||
|
"Utf16View.cpp",
|
||||||
"Utf16View.h",
|
"Utf16View.h",
|
||||||
|
"Utf32View.cpp",
|
||||||
"Utf32View.h",
|
"Utf32View.h",
|
||||||
|
"Utf8View.cpp",
|
||||||
"Utf8View.h",
|
"Utf8View.h",
|
||||||
"Variant.h",
|
"Variant.h",
|
||||||
"Vector.h",
|
"Vector.h",
|
||||||
"WeakPtr.h",
|
"WeakPtr.h",
|
||||||
"Weakable.h",
|
"Weakable.h",
|
||||||
|
"kmalloc.cpp",
|
||||||
"kmalloc.h",
|
"kmalloc.h",
|
||||||
"kstdio.h",
|
"kstdio.h",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
source_set("sources") {
|
|
||||||
deps = [ ":AK" ]
|
|
||||||
|
|
||||||
# FIXME: Split out non-kernel sources to their own set
|
|
||||||
sources = [
|
|
||||||
"Assertions.cpp",
|
|
||||||
"Base64.cpp",
|
|
||||||
"ByteString.cpp",
|
|
||||||
"CircularBuffer.cpp",
|
|
||||||
"ConstrainedStream.cpp",
|
|
||||||
"CountingStream.cpp",
|
|
||||||
"DOSPackedTime.cpp",
|
|
||||||
"DeprecatedFlyString.cpp",
|
|
||||||
"Error.cpp",
|
|
||||||
"FloatingPointStringConversions.cpp",
|
|
||||||
"FlyString.cpp",
|
|
||||||
"Format.cpp",
|
|
||||||
"FuzzyMatch.cpp",
|
|
||||||
"GenericLexer.cpp",
|
|
||||||
"Hex.cpp",
|
|
||||||
"JsonObject.cpp",
|
|
||||||
"JsonParser.cpp",
|
|
||||||
"JsonPath.cpp",
|
|
||||||
"JsonValue.cpp",
|
|
||||||
"LexicalPath.cpp",
|
|
||||||
"MemoryStream.cpp",
|
|
||||||
"NumberFormat.cpp",
|
|
||||||
"OptionParser.cpp",
|
|
||||||
"Random.cpp",
|
|
||||||
"SipHash.cpp",
|
|
||||||
"Slugify.cpp",
|
|
||||||
"StackInfo.cpp",
|
|
||||||
"Stream.cpp",
|
|
||||||
"String.cpp",
|
|
||||||
"StringBase.cpp",
|
|
||||||
"StringBuilder.cpp",
|
|
||||||
"StringFloatingPointConversions.cpp",
|
|
||||||
"StringImpl.cpp",
|
|
||||||
"StringUtils.cpp",
|
|
||||||
"StringView.cpp",
|
|
||||||
"Time.cpp",
|
|
||||||
"URL.cpp",
|
|
||||||
"URLParser.cpp",
|
|
||||||
"UUID.cpp",
|
|
||||||
"Utf16View.cpp",
|
|
||||||
"Utf32View.cpp",
|
|
||||||
"Utf8View.cpp",
|
|
||||||
"kmalloc.cpp",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
write_cmake_config("ak_debug_gen") {
|
write_cmake_config("ak_debug_gen") {
|
||||||
input = "Debug.h.in"
|
input = "Debug.h.in"
|
||||||
output = "$root_gen_dir/AK/Debug.h"
|
output = "$root_gen_dir/AK/Debug.h"
|
||||||
|
|
|
@ -144,6 +144,7 @@ executable("headless-browser") {
|
||||||
include_dirs = [ "//Userland/Services" ]
|
include_dirs = [ "//Userland/Services" ]
|
||||||
configs += [ ":ladybird_config" ]
|
configs += [ ":ladybird_config" ]
|
||||||
deps = [
|
deps = [
|
||||||
|
"//AK",
|
||||||
"//Userland/Libraries/LibCore",
|
"//Userland/Libraries/LibCore",
|
||||||
"//Userland/Libraries/LibCrypto",
|
"//Userland/Libraries/LibCrypto",
|
||||||
"//Userland/Libraries/LibDiff",
|
"//Userland/Libraries/LibDiff",
|
||||||
|
|
|
@ -136,7 +136,6 @@ shared_library("LibCore") {
|
||||||
deps = [
|
deps = [
|
||||||
":filewatcher",
|
":filewatcher",
|
||||||
":sources",
|
":sources",
|
||||||
"//AK:sources",
|
|
||||||
"//Meta/gn/build/libs/crypt",
|
"//Meta/gn/build/libs/crypt",
|
||||||
"//Meta/gn/build/libs/pthread",
|
"//Meta/gn/build/libs/pthread",
|
||||||
"//Userland/Libraries/LibSystem",
|
"//Userland/Libraries/LibSystem",
|
||||||
|
|
Loading…
Reference in a new issue