ladybird/Meta/Lagom
2020-08-15 00:05:45 +02:00
..
Fuzzers Lagom+LibELF: Add an ELF fuzzer, and tweak the code to survive a few minutes of fuzzing (#3071) 2020-08-10 15:55:17 +02:00
.gitignore Lagom: Move this into Meta/ 2019-11-18 09:07:05 +01:00
CMakeLists.txt Lagom: Add LibHTTP to Lagom (it builds fine without changes) 2020-08-15 00:05:45 +02:00
ReadMe.md Lagom: Add a note on how to build the fuzzers to readme 2020-07-14 17:45:16 +02:00
TestApp.cpp LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
TestJson.cpp AK: JsonParser improvements 2020-06-13 12:43:22 +02:00

Lagom

The Serenity C++ library, for other Operating Systems.

About

If you want to bring the comfortable Serenity classes with you to another system, look no further. This is basically a "port" of the AK and LibCore libraries to generic *nix systems.

Lagom is a Swedish word that means "just the right amount." (Wikipedia)

Fuzzing

Lagom can be used to fuzz parts of SerenityOS's code base. This requires buildling with clang, so it's convenient to use a different build directory for that. Run CMake like so:

# From the root of the SerenityOS checkout:
mkdir BuildLagom && cd BuildLagom
cmake -GNinja -DBUILD_LAGOM=ON -DENABLE_FUZZER_SANITIZER=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
ninja FuzzJs && Meta/Lagom/Fuzzers/FuzzJs

clang emits different warnings than gcc, so you'll likely have to remove -Werror in CMakeLists.txt and Meta/Lagom/CMakeLIsts.txt.