mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 09:00:22 +00:00
Documentation: Document the ConfigureComponents utility
This adds documentation for the ConfigureComponents utility to the build instructions.
This commit is contained in:
parent
2d71eaadcd
commit
d3a2e492fb
Notes:
sideshowbarker
2024-07-18 10:16:30 +09:00
Author: https://github.com/MaxWipfli Commit: https://github.com/SerenityOS/serenity/commit/d3a2e492fb5 Pull-request: https://github.com/SerenityOS/serenity/pull/8168 Reviewed-by: https://github.com/IdanHo Reviewed-by: https://github.com/gunnarbeutner
1 changed files with 13 additions and 1 deletions
|
@ -270,7 +270,7 @@ There are some optional features that can be enabled during compilation that are
|
|||
- `PRECOMPILE_COMMON_HEADERS`: precompiles some common headers to speedup compilation.
|
||||
- `ENABLE_KERNEL_LTO`: builds the kernel with link-time optimization.
|
||||
- `INCLUDE_WASM_SPEC_TESTS`: downloads and includes the WebAssembly spec testsuite tests
|
||||
- `BUILD_<component>`: builds the specified component, e.g. `BUILD_HEARTS` (note: must be all caps). Check the components.ini file in your build directory for a list of available components. Make sure to run `ninja clean` and `rm -rf Build/i686/Root` after disabling components.
|
||||
- `BUILD_<component>`: builds the specified component, e.g. `BUILD_HEARTS` (note: must be all caps). Check the components.ini file in your build directory for a list of available components. Make sure to run `ninja clean` and `rm -rf Build/i686/Root` after disabling components. These options can be easily configured by using the `ConfigureComponents` utility. See the [Component Configuration](#component-configuration) section below.
|
||||
- `BUILD_EVERYTHING`: builds all optional components, overrides other `BUILD_<component>` flags when enabled
|
||||
|
||||
Many parts of the SerenityOS codebase have debug functionality, mostly consisting of additional messages printed to the debug console. This is done via the `<component_name>_DEBUG` macros, which can be enabled individually at build time. They are listed in [this file](../Meta/CMake/all_the_debug_macros.cmake).
|
||||
|
@ -283,6 +283,18 @@ $ cmake ../.. -G Ninja -DPROCESS_DEBUG=ON -DENABLE_PCI_IDS_DOWNLOAD=OFF
|
|||
|
||||
For the changes to take effect, SerenityOS needs to be recompiled and the disk image needs to be rebuilt.
|
||||
|
||||
## Component Configuration
|
||||
|
||||
For selecting which components of the system to build and install, a helper program, `ConfigureComponents` is available.
|
||||
|
||||
It requires `whiptail` as a dependency, which is available on most systems in the `newt` or `libnewt` package. To build and run it, run the following commands from the `Build/i686` directory:
|
||||
```console
|
||||
$ cmake ../.. -G Ninja # Only required if CMake hasn't been run before.
|
||||
$ ninja configure-components
|
||||
```
|
||||
|
||||
This will prompt you which build type you want to use and allows you to customize it by manually adding or removing certain components. It will then run a CMake command based on the selection as well as `ninja clean` and `rm -rf Root` to remove old build artifacts.
|
||||
|
||||
## Ports
|
||||
|
||||
To add a package from the ports collection to Serenity, for example curl, go into `Ports/curl/` and run `./package.sh`. The sourcecode for the package will be downloaded and the package will be built. After that, rebuild the disk image. The next time you start Serenity, `curl` will be available.
|
||||
|
|
Loading…
Reference in a new issue