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"
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
# Dependencies
# Build system dependencies
include mk/depends.mk
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
set -e

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,4 @@
# Default desktop configuration
# # Configuration to create "llvm-config" script
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
include = ["base.toml"]

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,3 +1,5 @@
# Configuration file to setup the Docker container of Redox
FROM rustlang/rust:nightly
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 \
-e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \
-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_SEPARATOR?=_
IMG_DIR?=build/img/$(ARCH)

View file

@ -1,3 +1,5 @@
# Configuration file of the build system environment variables
-include .config
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
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)
mkdir -p $(BUILD)
rm -rf $@ $@.partial

View file

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

View file

@ -1,6 +1,4 @@
##############################################
# podman.mk - Use Podman to build components #
##############################################
# Configuration file of the Podman commands
# Configuration variables for running make in Podman
## 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_INSTALL=$(PREFIX)/relibc-install

View file

@ -1,3 +1,5 @@
# Configuration file for QEMU
QEMU=SDL_VIDEO_X11_DGAMOUSE=0 qemu-system-$(QEMU_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)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) $(MAKE) $@

View file

@ -1,3 +1,5 @@
# Configuration file for VirtualBox, it creates a VirtualBox virtual machine
virtualbox: $(BUILD)/harddrive.img
echo "Delete VM"
-$(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
# _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
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
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
usage()

View file

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

View file

@ -1,3 +1,5 @@
# This script show the changelog of all Redox components
#!/usr/bin/env bash
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
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
set -e

View file

@ -1,3 +1,5 @@
# This script show all files installed by a recipe
#!/usr/bin/env bash
# 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
# 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
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 "$*" ]
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
set -e