summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2021-08-30Meta: Implement support for the "unlinkable" Wasm spectest assertionAli Mohammad Pur
2021-08-30Meta: Generate bigints for i64 values in LibWasm test suite filesAli Mohammad Pur
2021-08-30Meta: Update lint-ports.py for the SerenityPorts moveAndreas Kling
2021-08-30CMake: Add custom target to build only the generated sourcesBrian Gianforcaro
This is needed so all headers and files exist on disk, so that the sonar cloud analyzer can find them when executing the compilation commands contained in compile_commands.json, without actually building. Co-authored-by: Andrew Kaster <akaster@serenityos.org>
2021-08-29Meta: Remove duplicate valid target check from serenity.shLinus Groh
2021-08-29Meta: Mention aarch64 as a supported TARGET in serenity.sh's helpLinus Groh
2021-08-28Meta: Don't pass net -device flags in aarch64 buils in run.shNico Weber
2021-08-28Meta: Introduce SERENITY_MACHINE variable in run.shNico Weber
Set it to all the `-m`, `-display`, `-device` flags for Intel, and to just "-M raspi3" for aarch64 builds.
2021-08-28Meta: Disable spice in aarch64 buils in run.shNico Weber
2021-08-28Meta: Run qemu-system-aarch64 in aarch64 builds in run.shNico Weber
2021-08-28Meta: Disable kvm for aarch64 in run.shNico Weber
2021-08-28Meta: Make build-root-filesystem.sh omit libgcc_so.so in aarch64 buildsNico Weber
2021-08-28Kernel: Verify interrupts are disabled when interacting with MutexesAndrew Kaster
This should help prevent deadlocks where a thread blocks on a Mutex while interrupts are disabled, and makes it impossible for the holder of the Mutex to make forward progress because it cannot be scheduled in. Hide it behind a new debug macro LOCK_IN_CRITICAL_DEBUG for now, because Ext2FS takes a series of Mutexes from the page fault handler, which executes with interrupts disabled.
2021-08-28Toolchain: Enough to make `rebuild-toolchain aarch64` workNico Weber
The gcc patch might not be completely correct, but at least the toolchain completes building.
2021-08-28Meta: Let serenity.sh's TARGET default to SERENITY_ARCH, not i686Linus Groh
This environment variable is already widely used across our build scripts and tooling, so serenity.sh should respect it as well. It still uses i686 as the fallback.
2021-08-28Meta: Remove write-only-on-difference scriptAndrew Kaster
It's now been replaced with "${CMAKE_PROGRAM}" -E copy_if_different in all previous usage locations.
2021-08-28Everywhere: Move all host tools into the Lagom/Tools subdirectoryAndrew Kaster
This allows us to remove all the add_subdirectory calls from the top level CMakeLists.txt that referred to targets linking LagomCore. Segregating the host tools and Serenity targets helps us get to a place where the main Serenity build can simply use a CMake toolchain file rather than swapping all the compiler/sysroot variables after building host libraries and tools.
2021-08-28Meta+LibUnicode: Move unicode_data helper to Meta/CMakeAndrew Kaster
Moving this helper CMake file to the centralized Meta/CMake folder helps to get a better grasp on what extra files are required for the build, and what files are generated. While we're at it, don't use add_compile_definitions for ENABLE_UNICODE_DATA, which only needs to be seen by LibUnicode sources.
2021-08-28Meta: Prefer SerenityOS_SOURCE_DIR to CMAKE_SOURCE_DIRAndrew Kaster
By using SerenityOS_SOURCE_DIR we can make custom targets and commands agnostic to the actual location of the root CMakeLists directory. All we care about is the root of the SerenityOS project.
2021-08-28Meta: Move code generator helpers to their own CMake helper fileAndrew Kaster
compile_gml, compile_ipc, and generate_state_machine all use host tools to generate sources for the target build. As part of trying to organize host tools into a common area, let's move these helper rules to a common file that we can add other host tools to later. And, keep the host tool helpers separate from the CMake target helpers for apps and libraries.
2021-08-28Meta: Move components CMake helpers to their own fileAndrew Kaster
It's hard to follow how all the functions in the utils.cmake helper file flow together, so let's move the pieces that are related to each other into specialized helpers. First up: all the ConfigureComponents related properties and functions.
2021-08-27Meta: Add System32 to the PATH so that reg.exe is always foundkleines Filmröllchen
On my machine (c), /mnt/c/Windows/System32 is not on the PATH by default. This causes reg.exe to fail, which is responsible for detecting the presence of QEMU. By putting this path on the PATH on WSL, it will always work regardless of the specific PATH configuration, and QEMU is always detected.
2021-08-26CI: Ensure unzip is installed on the buildersTimothy Flynn
The CLDR database comes in a .zip file.
2021-08-26CI: Skip Unicode caches for Fuzzer buildTimothy Flynn
There is a bit of a race here between the Fuzzer and non-Fuzzer Lagom builds. If the Unicode caches are empty, and the Fuzzer build completes first, then the UCD and CLDR directories will be empty or won't exist. Skip handling the Unicode caches for this build.
2021-08-26CI: Cache downloaded Unicode CLDR databaseTimothy Flynn
2021-08-24Userland: Remove IRC ClientAndreas Kling
The IRC Client application made some sense while our main communication hub was an IRC channel. Now that we've moved on, IRC is just a random protocol with no particular relevance to this project. This also has the benefit of removing one major client of the single- process Web::InProcessWebView class.
2021-08-22Meta: Add 'copy-src' command to serenity.shItamar
This command copies the project's source tree to /home/anon/Source/serenity in the built disk image. This will be useful for working on serenity inside serenity :^)
2021-08-20CI: Set on-target test timeout to 60 minutesTimothy Flynn
The on-target pipelines have a timeout of 6 hours to allow time for a clean toolchain + Serenity build. Tests should time out much sooner than that though.
2021-08-20CI: Include a timestamp in the Azure ccache keyTimothy Flynn
Caches on Azure are immutable - so if a cache changes, but its key does not, then the cache is not updated. Include a timestamp in the ccache key so that we always push an updated cache from the master branch. Then use a subkey without the timestamp to pull the cache. We use a similar trick on GitHub Actions.
2021-08-19Meta: Explicitly configure source directory in debug-kernel.shBrian Gianforcaro
Previously debug-kernel.sh wouldn't detect source if you launched the script from the wrong path. By explicitly setting the name, source will be loaded by gdb in all situations.
2021-08-18README+Meta: Update the screenshot :^)networkException
2021-08-18Meta: Assume and find GNU duMartin Åberg
We want to use use the 'du' option '--apparent-size' which is a GNU coreutils extension. GNU coreutils is a build dependency so we know it is available. With this commit we first try to pick up du as 'gdu', and if that fails, try 'du' instead.
2021-08-18Meta: Create memory disk before mounting it on FreeBSDMartin Åberg
There was previously a case where the build-image-qemu.sh script decided to mount an existing disk image, but without creating the memory disk device and recording its /dev file name. After this commit, We create the memory disk device just before it is used to mount the disk image.
2021-08-18CI: Ensure relevant patch files are part of Toolchain cache hashAndrew Kaster
We were over-hashing for the GNU build on GitHub Actions by including the LLVM patch as well. The GNU Toolchain doesn't care about our LLVM patches. For Azure, fix the inversion of the condition for which jobs check which Build*.sh script, and add the Toolchain patch files to the cache hash calculation.
2021-08-18CI: Print on-target debug logs when the tests failTimothy Flynn
2021-08-17CI: Build Lagom with fuzzing on AzureTimothy Flynn
2021-08-17CI: Build and test SerenityOS with the Clang toolchain on AzureTimothy Flynn
2021-08-17CI: Use Azure caching for Lagom buildTimothy Flynn
Adds a compiler cache and a cache for the UCD files.
2021-08-17Meta: Semi-automatically detect ccache for Lagom buildsTimothy Flynn
The top-level CMakeLists.txt already automatically detects ccache, but CI will invoke CMake with Lagom's CMakeLists.txt. Add an option to Lagom to do the same detection.
2021-08-16CI: Build and test Lagom (non-fuzzer) on AzureTimothy Flynn
2021-08-14Meta: Disable printing frame args when debugging the kernel with gdbBrian Gianforcaro
The function arguments almost always optimized away, so you never get much value out of showing these in the default back trace view, it just adds a bunch of extra stuff that you need to visual wade through. So lets disable showing them.
2021-08-14Tests: Add regression tests for the LibCpp preprocessorItamar
Similarly to the LibCpp parser regression tests, these tests run the preprocessor on the .cpp test files under Userland/LibCpp/Tests/preprocessor, and compare the output with existing .txt ground truth files.
2021-08-14LibCpp: Move parser tests to Userland/Libraries/LibCpp/Tests/parserItamar
2021-08-13Meta: Add new-project.sh :^)sin-ack
This script will instantiate a HackStudio template into a project on the host. It currently supports all templates used by HackStudio. To avoid having to maintain compatibility between other shells and the Serenity shell in the postcreate scripts, we build the Serenity shell with Lagom and use that to run the script.
2021-08-13Meta: Tune default QEMU disk sizeJean-Baptiste Boric
Having lots of small files in Base/ may require more inodes in the ext2 filesystem than the format utility sets aside by default. Let's make a more educated guess since we have a rough idea of how many inodes we need by counting files and directories.
2021-08-12Meta: Un-escape escaped strings when generating Wasm testsAli Mohammad Pur
2021-08-12Meta: Don't roundtrip floats for i64/i32 hex literals in wasm testsAli Mohammad Pur
2021-08-12Meta: Properly quote some CMake variables in serenity_componentsin-ack
This probably isn't all of them, because I'm no CMake expert. :^) It does however allow "/bin/false" to build now.
2021-08-09Meta: Add SERENITY_CPUS environment variable to control number of CPUsTom
2021-08-08Meta: Add Clang support to the CMake build scriptsDaniel Bertalan