Add explanation comments on the build system files

This commit is contained in:
Ribbon 2024-07-09 12:58:07 +00:00 committed by Jeremy Soller
parent 06f038eced
commit 49102f6332
70 changed files with 109 additions and 47 deletions

View file

@ -1,3 +1,4 @@
# The GitLab Continuous Integration configuration
image: "ubuntu:22.04" image: "ubuntu:22.04"
variables: variables:

View file

@ -1,7 +1,8 @@
# Configuration and variables # This file contains the build system commands configuration
# and environment variables
include mk/config.mk include mk/config.mk
# Dependencies # Build system dependencies
include mk/depends.mk include mk/depends.mk
all: $(BUILD)/harddrive.img all: $(BUILD)/harddrive.img

View file

@ -1,3 +1,7 @@
# This script setup the Redox build system
# It install Rustup, the recipe dependencies for cross-compilation
# and download the build system configuration files
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e

View file

@ -1,3 +1,5 @@
# Alternative script for the build system Makefiles
#!/usr/bin/env bash #!/usr/bin/env bash
########################################################################### ###########################################################################

View file

@ -1,3 +1,3 @@
# Configuration for using acid # Configuration to run the "acid" tests
include = ["../acid.toml"] include = ["../acid.toml"]

View file

@ -1,4 +1,4 @@
# This is the CI configuration file # The Redox build server configuration
# General settings # General settings
[general] [general]

View file

@ -1 +1,3 @@
# Configuration for demonstration
include = ["desktop.toml"] include = ["desktop.toml"]

View file

@ -1,4 +1,4 @@
# Default desktop configuration # Minimal desktop configuration
include = ["../desktop-minimal.toml"] include = ["../desktop-minimal.toml"]

View file

@ -1,4 +1,4 @@
# Default desktop configuration # Default build system configuration
include = ["../minimal.toml"] include = ["../minimal.toml"]

View file

@ -1 +1,3 @@
# Configuration for Jeremy Soller
include = ["desktop.toml"] include = ["desktop.toml"]

View file

@ -1,4 +1,4 @@
# Minimal configuration # Minimal network configuration
include = ["../minimal-net.toml"] include = ["../minimal-net.toml"]

View file

@ -1,3 +1,3 @@
# Configuration for using resist # Configuration to run the "resist" tests
include = ["../resist.toml"] include = ["../resist.toml"]

View file

@ -1,4 +1,4 @@
# Default server configuration # Server configuration
include = ["../server.toml"] include = ["../server.toml"]

View file

@ -1,4 +1,4 @@
# Configuration for using acid # Configuration to run the "acid" tests
include = ["base.toml"] include = ["base.toml"]

View file

@ -1,4 +1,4 @@
# Default desktop configuration # Minimal desktop configuration
include = ["minimal-net.toml"] include = ["minimal-net.toml"]

View file

@ -1,4 +1,4 @@
# Default desktop configuration # Default build system configuration
include = ["server.toml"] include = ["server.toml"]

View file

@ -1,4 +1,4 @@
# Configuration for development, includes cargo and rustc # Configuration for development
include = ["desktop.toml"] include = ["desktop.toml"]

View file

@ -1,3 +1,3 @@
# Configuration for using acid # Configuration to run the "acid" tests
include = ["../acid.toml"] include = ["../acid.toml"]

View file

@ -1,4 +1,4 @@
# This is the CI configuration file # The Redox build server configuration
# General settings # General settings
[general] [general]

View file

@ -1,3 +1,4 @@
# Configuration for demonstration
############################################################################## ##############################################################################
# Redox Demo Configuration # # Redox Demo Configuration #
# # # #

View file

@ -1,4 +1,4 @@
# Default desktop configuration # Minimal desktop configuration
include = ["../desktop-minimal.toml"] include = ["../desktop-minimal.toml"]

View file

@ -1,4 +1,4 @@
# Default desktop configuration # Default build system configuration
include = ["../desktop.toml"] include = ["../desktop.toml"]

View file

@ -1,4 +1,4 @@
# Configuration for development, includes cargo and rustc # Configuration for development
include = ["../dev.toml"] include = ["../dev.toml"]

View file

@ -1,4 +1,4 @@
# Jeremy's configuration # Configuration for Jeremy Soller
include = ["../desktop.toml"] include = ["../desktop.toml"]

View file

@ -1,4 +1,4 @@
# Minimal configuration # Minimal network configuration
include = ["../minimal-net.toml"] include = ["../minimal-net.toml"]

View file

@ -1,3 +1,3 @@
# Configuration for using resist # Configuration to use the "resist" tests
include = ["../resist.toml"] include = ["../resist.toml"]

View file

@ -1,4 +1,4 @@
# Default server configuration # Server configuration
include = ["../server.toml"] include = ["../server.toml"]

View file

@ -1,4 +1,4 @@
# Default desktop configuration # # Configuration to create "llvm-config" script
include = ["base.toml"] include = ["base.toml"]

View file

@ -1,4 +1,4 @@
# Net configuration: includes the base configuration and adds files required # Network configuration: includes the base configuration and adds files required
# for networking # for networking
include = ["base.toml"] include = ["base.toml"]

View file

@ -1,4 +1,4 @@
# Configuration for redoxer GUI image # Configuration for the Redoxer GUI image
include = ["redoxer.toml"] include = ["redoxer.toml"]

View file

@ -1,4 +1,4 @@
# Configuration for redoxer image # Configuration for the Redoxer image
include = ["net.toml"] include = ["net.toml"]

View file

@ -1,4 +1,4 @@
# Configuration for using resist # Configuration to run the "resist" tests
include = ["net.toml"] include = ["net.toml"]

View file

@ -1,4 +1,4 @@
# Default server configuration # Server configuration
include = ["net.toml"] include = ["net.toml"]

View file

@ -1,3 +1,3 @@
# Configuration for using acid # Configuration to use the "acid" tests
include = ["../acid.toml"] include = ["../acid.toml"]

View file

@ -1,4 +1,4 @@
# This is the CI configuration file # The Redox build server configuration
# General settings # General settings
[general] [general]

View file

@ -1,3 +1,4 @@
# Configuration for demonstration
############################################################################## ##############################################################################
# Redox Demo Configuration # # Redox Demo Configuration #
# # # #

View file

@ -1,4 +1,4 @@
# Default desktop configuration using contain # Desktop configuration using the Contain sandbox
include = ["../desktop.toml"] include = ["../desktop.toml"]

View file

@ -1,4 +1,4 @@
# Default desktop configuration # Minimal desktop configuration
include = ["../desktop-minimal.toml"] include = ["../desktop-minimal.toml"]

View file

@ -1,4 +1,4 @@
# Default desktop configuration # Default build system configuration
include = ["../desktop.toml"] include = ["../desktop.toml"]

View file

@ -1,4 +1,4 @@
# Configuration for development, includes cargo and rustc # Configuration for development
include = ["../dev.toml"] include = ["../dev.toml"]

View file

@ -1,4 +1,4 @@
# Jeremy's configuration # Configuration for Jeremy Soller
include = ["../desktop.toml"] include = ["../desktop.toml"]

View file

@ -1,3 +1,3 @@
# Config for creating llvm-config script # Configuration to create "llvm-config" script
include = ["../llvm.toml"] include = ["../llvm.toml"]

View file

@ -1,4 +1,4 @@
# Minimal configuration # Minimal network configuration
include = ["../minimal-net.toml"] include = ["../minimal-net.toml"]

View file

@ -1,3 +1,3 @@
# Configuration for using resist # Configuration to run the "resist" tests
include = ["../resist.toml"] include = ["../resist.toml"]

View file

@ -1,4 +1,4 @@
# Default server configuration # Server configuration
include = ["../server.toml"] include = ["../server.toml"]

View file

@ -1,3 +1,5 @@
# Configuration file to setup the Docker container of Redox
FROM rustlang/rust:nightly FROM rustlang/rust:nightly
ENV IMAGE_NAME=redox-os-docker ENV IMAGE_NAME=redox-os-docker

View file

@ -1,3 +1,5 @@
# This script run the Docker image of Redox
docker run --privileged --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \ docker run --privileged --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \
-e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \ -e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \
-v redox-"$(id -u)-$(id -g)"-cargo:/usr/local/cargo \ -v redox-"$(id -u)-$(id -g)"-cargo:/usr/local/cargo \

View file

@ -1,3 +1,5 @@
# Configuration file of the build system commands for the build server
IMG_TAG?=$(shell git describe --tags) IMG_TAG?=$(shell git describe --tags)
IMG_SEPARATOR?=_ IMG_SEPARATOR?=_
IMG_DIR?=build/img/$(ARCH) IMG_DIR?=build/img/$(ARCH)

View file

@ -1,3 +1,5 @@
# Configuration file of the build system environment variables
-include .config -include .config
HOST_ARCH?=$(shell uname -m) HOST_ARCH?=$(shell uname -m)

View file

@ -1,4 +1,4 @@
# Dependencies # Configuration file for the build system dependencies
# Don't check for Rust/Cargo if you will be using Podman # Don't check for Rust/Cargo if you will be using Podman
ifneq ($(PODMAN_BUILD),1) ifneq ($(PODMAN_BUILD),1)

View file

@ -1,3 +1,5 @@
# Configuration file with the commands configuration of the Redox image
$(BUILD)/harddrive.img: $(FSTOOLS_TAG) $(REPO_TAG) $(BUILD)/harddrive.img: $(FSTOOLS_TAG) $(REPO_TAG)
mkdir -p $(BUILD) mkdir -p $(BUILD)
rm -rf $@ $@.partial rm -rf $@ $@.partial

View file

@ -1,3 +1,5 @@
# Configuration file for redox-installer, Cookbook and RedoxFS FUSE
fstools: $(FSTOOLS_TAG) fstools: $(FSTOOLS_TAG)
$(FSTOOLS_TAG): cookbook installer redoxfs $(CONTAINER_TAG) $(FSTOOLS_TAG): cookbook installer redoxfs $(CONTAINER_TAG)

View file

@ -1,6 +1,4 @@
############################################## # Configuration file of the Podman commands
# podman.mk - Use Podman to build components #
##############################################
# Configuration variables for running make in Podman # Configuration variables for running make in Podman
## Tag the podman image $IMAGE_TAG ## Tag the podman image $IMAGE_TAG

View file

@ -1,3 +1,5 @@
# Configuration file for the Rust/GCC cross-compilers and relibc
PREFIX=prefix/$(TARGET) PREFIX=prefix/$(TARGET)
PREFIX_INSTALL=$(PREFIX)/relibc-install PREFIX_INSTALL=$(PREFIX)/relibc-install

View file

@ -1,3 +1,5 @@
# Configuration file for QEMU
QEMU=SDL_VIDEO_X11_DGAMOUSE=0 qemu-system-$(QEMU_ARCH) QEMU=SDL_VIDEO_X11_DGAMOUSE=0 qemu-system-$(QEMU_ARCH)
QEMUFLAGS=-d guest_errors -name "Redox OS $(ARCH)" QEMUFLAGS=-d guest_errors -name "Redox OS $(ARCH)"

View file

@ -1,3 +1,5 @@
# Configuration file for recipe commands
$(BUILD)/fetch.tag: prefix $(FSTOOLS_TAG) $(FILESYSTEM_CONFIG) $(CONTAINER_TAG) $(BUILD)/fetch.tag: prefix $(FSTOOLS_TAG) $(FILESYSTEM_CONFIG) $(CONTAINER_TAG)
ifeq ($(PODMAN_BUILD),1) ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) $(MAKE) $@ $(PODMAN_RUN) $(MAKE) $@

View file

@ -1,3 +1,5 @@
# Configuration file for VirtualBox, it creates a VirtualBox virtual machine
virtualbox: $(BUILD)/harddrive.img virtualbox: $(BUILD)/harddrive.img
echo "Delete VM" echo "Delete VM"
-$(VBM) unregistervm Redox --delete; \ -$(VBM) unregistervm Redox --delete; \

View file

@ -1,3 +1,5 @@
# Configuration file to install the recipe dependencies inside the Podman container
FROM debian:bookworm-20240513-slim FROM debian:bookworm-20240513-slim
# _UID_ must be replaced with the user's uid on host # _UID_ must be replaced with the user's uid on host

View file

@ -1,6 +1,7 @@
#/usr/bin/env bash # This script install the Rust toolchain and the build system dependencies
# in Podman after the image has been built
# Install Rust in Podman, after the image has been built #/usr/bin/env bash
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable
cargo +stable install --force --version 0.1.1 cargo-config cargo +stable install --force --version 0.1.1 cargo-config

View file

@ -1,3 +1,7 @@
# This script setup the Redox build system with Podman
# It install the Podman dependencies, Rustup, recipes dependencies for cross-compilation
# and download the build system configuration files
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e

View file

@ -1,3 +1,6 @@
# This script allow the user to copy a Rust backtrace from Redox
# and retrieve the symbols
#!/usr/bin/env bash #!/usr/bin/env bash
usage() usage()

View file

@ -1,3 +1,5 @@
# This script run the recipe command options on some Cookbook category
#!/usr/bin/env bash #!/usr/bin/env bash
if [ -z "$1" ] || [ -z "$2" ] if [ -z "$1" ] || [ -z "$2" ]

View file

@ -1,3 +1,5 @@
# This script show the changelog of all Redox components
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e

View file

@ -1,3 +1,5 @@
# This script show the current Git branch and commit of the recipe source
#!/usr/bin/env bash #!/usr/bin/env bash
if [ $# -ne 1 ] if [ $# -ne 1 ]

View file

@ -1,3 +1,6 @@
# This script install Redox in the free space of your storage device
# and add a boot entry (if you are using the systemd-boot boot loader)
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e

View file

@ -1,3 +1,5 @@
# This script show all files installed by a recipe
#!/usr/bin/env bash #!/usr/bin/env bash
# Ensure arch and config are set as desired, we use these to find the build dir # Ensure arch and config are set as desired, we use these to find the build dir

View file

@ -1,3 +1,7 @@
# This script create a list with:
# "recipe-name = {} #TODO"
# For quick testing of WIP recipes
#!/usr/bin/env bash #!/usr/bin/env bash
# Given a string, find recipe.toml files containing that string. # Given a string, find recipe.toml files containing that string.

View file

@ -1,3 +1,6 @@
# This script show the package size of the recipes ("stage.pkgar" and "stage.tar.gz")
# It must be used by package maintainers to enforce the library linking size policy
#!/usr/bin/env bash #!/usr/bin/env bash
if [ $# = 0 ] if [ $# = 0 ]

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash # This script show the contents of the "stage" and "sysroot" folders in some recipe
# Show the contents of the stage and sysroot folders in some recipe #!/usr/bin/env bash
if [ -z "$*" ] if [ -z "$*" ]
then then

View file

@ -1,3 +1,5 @@
# This script create and copy the Redox bootable image to an Ventoy-formatted device
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e