Add explanation comments on the build system files
This commit is contained in:
parent
06f038eced
commit
49102f6332
|
@ -1,3 +1,4 @@
|
||||||
|
# The GitLab Continuous Integration configuration
|
||||||
image: "ubuntu:22.04"
|
image: "ubuntu:22.04"
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
|
|
5
Makefile
5
Makefile
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
2
build.sh
2
build.sh
|
@ -1,3 +1,5 @@
|
||||||
|
# Alternative script for the build system Makefiles
|
||||||
|
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Configuration for using acid
|
# Configuration to run the "acid" tests
|
||||||
|
|
||||||
include = ["../acid.toml"]
|
include = ["../acid.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# This is the CI configuration file
|
# The Redox build server configuration
|
||||||
|
|
||||||
# General settings
|
# General settings
|
||||||
[general]
|
[general]
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
|
# Configuration for demonstration
|
||||||
|
|
||||||
include = ["desktop.toml"]
|
include = ["desktop.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# Minimal desktop configuration
|
||||||
|
|
||||||
include = ["../desktop-minimal.toml"]
|
include = ["../desktop-minimal.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# Default build system configuration
|
||||||
|
|
||||||
include = ["../minimal.toml"]
|
include = ["../minimal.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
|
# Configuration for Jeremy Soller
|
||||||
|
|
||||||
include = ["desktop.toml"]
|
include = ["desktop.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Minimal configuration
|
# Minimal network configuration
|
||||||
|
|
||||||
include = ["../minimal-net.toml"]
|
include = ["../minimal-net.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Configuration for using resist
|
# Configuration to run the "resist" tests
|
||||||
|
|
||||||
include = ["../resist.toml"]
|
include = ["../resist.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default server configuration
|
# Server configuration
|
||||||
|
|
||||||
include = ["../server.toml"]
|
include = ["../server.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Configuration for using acid
|
# Configuration to run the "acid" tests
|
||||||
|
|
||||||
include = ["base.toml"]
|
include = ["base.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# Minimal desktop configuration
|
||||||
|
|
||||||
include = ["minimal-net.toml"]
|
include = ["minimal-net.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# Default build system configuration
|
||||||
|
|
||||||
include = ["server.toml"]
|
include = ["server.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Configuration for development, includes cargo and rustc
|
# Configuration for development
|
||||||
|
|
||||||
include = ["desktop.toml"]
|
include = ["desktop.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Configuration for using acid
|
# Configuration to run the "acid" tests
|
||||||
|
|
||||||
include = ["../acid.toml"]
|
include = ["../acid.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# This is the CI configuration file
|
# The Redox build server configuration
|
||||||
|
|
||||||
# General settings
|
# General settings
|
||||||
[general]
|
[general]
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# Configuration for demonstration
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Redox Demo Configuration #
|
# Redox Demo Configuration #
|
||||||
# #
|
# #
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# Minimal desktop configuration
|
||||||
|
|
||||||
include = ["../desktop-minimal.toml"]
|
include = ["../desktop-minimal.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# Default build system configuration
|
||||||
|
|
||||||
include = ["../desktop.toml"]
|
include = ["../desktop.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Configuration for development, includes cargo and rustc
|
# Configuration for development
|
||||||
|
|
||||||
include = ["../dev.toml"]
|
include = ["../dev.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Jeremy's configuration
|
# Configuration for Jeremy Soller
|
||||||
|
|
||||||
include = ["../desktop.toml"]
|
include = ["../desktop.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Minimal configuration
|
# Minimal network configuration
|
||||||
|
|
||||||
include = ["../minimal-net.toml"]
|
include = ["../minimal-net.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Configuration for using resist
|
# Configuration to use the "resist" tests
|
||||||
|
|
||||||
include = ["../resist.toml"]
|
include = ["../resist.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default server configuration
|
# Server configuration
|
||||||
|
|
||||||
include = ["../server.toml"]
|
include = ["../server.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# # Configuration to create "llvm-config" script
|
||||||
|
|
||||||
include = ["base.toml"]
|
include = ["base.toml"]
|
||||||
|
|
||||||
|
|
|
@ -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"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Configuration for redoxer GUI image
|
# Configuration for the Redoxer GUI image
|
||||||
|
|
||||||
include = ["redoxer.toml"]
|
include = ["redoxer.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Configuration for redoxer image
|
# Configuration for the Redoxer image
|
||||||
|
|
||||||
include = ["net.toml"]
|
include = ["net.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Configuration for using resist
|
# Configuration to run the "resist" tests
|
||||||
|
|
||||||
include = ["net.toml"]
|
include = ["net.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default server configuration
|
# Server configuration
|
||||||
|
|
||||||
include = ["net.toml"]
|
include = ["net.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Configuration for using acid
|
# Configuration to use the "acid" tests
|
||||||
|
|
||||||
include = ["../acid.toml"]
|
include = ["../acid.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# This is the CI configuration file
|
# The Redox build server configuration
|
||||||
|
|
||||||
# General settings
|
# General settings
|
||||||
[general]
|
[general]
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# Configuration for demonstration
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Redox Demo Configuration #
|
# Redox Demo Configuration #
|
||||||
# #
|
# #
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration using contain
|
# Desktop configuration using the Contain sandbox
|
||||||
|
|
||||||
include = ["../desktop.toml"]
|
include = ["../desktop.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# Minimal desktop configuration
|
||||||
|
|
||||||
include = ["../desktop-minimal.toml"]
|
include = ["../desktop-minimal.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default desktop configuration
|
# Default build system configuration
|
||||||
|
|
||||||
include = ["../desktop.toml"]
|
include = ["../desktop.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Configuration for development, includes cargo and rustc
|
# Configuration for development
|
||||||
|
|
||||||
include = ["../dev.toml"]
|
include = ["../dev.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Jeremy's configuration
|
# Configuration for Jeremy Soller
|
||||||
|
|
||||||
include = ["../desktop.toml"]
|
include = ["../desktop.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Config for creating llvm-config script
|
# Configuration to create "llvm-config" script
|
||||||
|
|
||||||
include = ["../llvm.toml"]
|
include = ["../llvm.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Minimal configuration
|
# Minimal network configuration
|
||||||
|
|
||||||
include = ["../minimal-net.toml"]
|
include = ["../minimal-net.toml"]
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# Configuration for using resist
|
# Configuration to run the "resist" tests
|
||||||
|
|
||||||
include = ["../resist.toml"]
|
include = ["../resist.toml"]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Default server configuration
|
# Server configuration
|
||||||
|
|
||||||
include = ["../server.toml"]
|
include = ["../server.toml"]
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 \
|
||||||
|
|
2
mk/ci.mk
2
mk/ci.mk
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)"
|
||||||
|
|
||||||
|
|
|
@ -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) $@
|
||||||
|
|
|
@ -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; \
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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" ]
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ]
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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 ]
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue