Files
RedBear-OS/.gitignore
T
vasilito f2b6c1e0ed gcc: port GCC 16.1.0 to the Redox target and install the toolchain
The Redox target port applier claimed validation on 16.1.0 but its
idempotency probe used each block's longest line, which for three blocks
is generic upstream boilerplate. Against a pristine 16.1.0 tree that
silently skipped the libgcc target arms and BOTH crossconfig.m4 arms
(libgcc/config.host and crossconfig.m4 contain zero redox references, yet
the applier reported 'already present'), producing a half-ported tree --
the exact failure the script documents itself as preventing. Probe on the
longest redox-bearing line instead, matched whole.

Two port requirements the original extraction missed, both fatal:

- gcc/config/redox.opt.urls. GCC 16 requires a .opt.urls companion for
  every .opt; s-options fails without it. Contents match what
  regenerate-opt-urls.py emits for these two options, cross-checked
  against the six upstream .opt.urls declaring the same pthread/rdynamic.

- libtool has no redox host. Upstream Redox gets shared libraries from
  recipes/dev/libtool (a Redox-patched libtool 2.5.4-redox-9510) via
  libtoolize during autoreconf, not from GCC's bundled libtool.m4. That
  route does not apply to GCC 16, which bundles 2.2.7-era macros plus its
  own ltgcc.m4. Without redox arms _LT_SYS_DYNAMIC_LINKER leaves
  dynamic_linker=no, libstdc++ builds static-only, and the desktop stack
  cannot link -- libQt6Core.so and every KF6 library carry DT_NEEDED
  libstdc++.so.6. apply-libtool-redox.py registers the four arms that
  matter, verbatim from the Redox libtool macros already in prefix/.

Result: x86_64-unknown-redox-gcc 16.1.0 with libstdc++.so.6.0.35 (SONAME
libstdc++.so.6, NEEDED libc.so.6 + libgcc_s.so.1 -- identical to the
13.2.0 library it replaces, exports a superset up to GLIBCXX_3.4.35).
std::ranges::to now compiles for the Redox target; GCC 13.2.0 fails the
same test, which is what blocked kwin's 16 affected files.

install-gcc16-toolchain.sh installs into all three locations a recipe can
resolve a compiler from -- including ~/.redoxer, which src/cook/script.rs
puts highest on PATH -- and is reversible with --restore. Its cstdlib
strtold patch is guarded; the mk/prefix.mk sed is not, and had applied
that block 17 times to the GCC 13 toolchain.
2026-08-03 12:40:15 +03:00

98 lines
2.8 KiB
Plaintext

/build/
**/my_*
.idea/
.vs/
.vscode/
.devcontainer/
/repo
/web
/cookbook.toml
# Nested recipe debris from prior build-system layouts (4.2GB+ of duplicates)
recipes/recipes/
# Fetched source trees in mainline recipes AND in specific local/ build-cache
# recipes (those whose source/ is a transient working copy re-fetched by the
# build system from the recipe's `git` URL). The durable code for these is
# recipe.toml + local/patches/. — DO NOT add a blanket `local/recipes/**/source`
# rule here: ~150 Red Bear recipes have durable source code under
# `local/recipes/<name>/source/` (the fork model).
recipes/**/source
recipes/**/source.tmp
recipes/**/source-new
recipes/**/source-old
recipes/**/source.tar
recipes/**/source.tar.tmp
recipes/**/source.pre-preservation-test/
local/recipes/archives/uutils-tar/source
# Bump-recipe cache used by local/scripts/bump-graphics-recipes.sh.
# Cache is fetched from upstream release indexes; reproducible from script run.
.redbear-recipe-bump/
# Build artifacts — target/ dirs are everywhere
target
wget-log
/sysroot/
# Vendor source trees (fetched, not our code)
**/amdgpu-source/
# External reference trees (read-only consultation sources). The Linux
# reference tree (local/reference/linux-7.1) is currently kept locally
# but is gitignored by size; seL4 reference is an empty placeholder.
local/reference/linux-*/
local/reference/seL4/
# Per-fork upstream content fingerprint cache. Built by
# verify-fork-versions.sh on each preflight run; reproducible from
# a fork upgrade, not source of truth.
.redbear-fork-verify/
# Compiled objects
*.o
*.so
*.bin
*.fw
*.lock
# Internal tooling
.sisyphus/
TASK_COMPLETION_SUMMARY.md
__pycache__/
extra.img: 1073741824 bytes
extra.img
Packages/redbear-firmware.pkgar
packages/
sources/x86_64-unknown-redox/
sources/*.tar.gz
Packages/*.pkgar
.slim/deepwork/
# Bare git fetcher caches at the repo root. The cookbook's fetch workflow
# creates these as transient scratch space (shallow clones used during
# recipe source acquisition). Not declared submodules — see .gitmodules
# for the canonical 9 `submodule/<component>` entries. Anchored to root
# only; does NOT match nested `.git` directories inside submodules.
/*.git/
# Empty placeholder file at the repo root. Was an artifact of a reverted
# "phase 1.1: refresh gitlink SHAs for 9 submodules" attempt — see commit
# b062cf43b7. The real relibc lives at local/sources/relibc/ (a submodule).
/relibc
# Downloaded toolchain installer tarballs under prefix/. Reproducible
# from build-redbear.sh — never commit them. The toolchain is rebuilt by
# `make prefix` after fork (relibc/kernel/base) changes.
/prefix/**/*.tar.gz
# GCC 16 cross-toolchain build artifacts (reproducible via
# local/scripts/build-gcc16-cross.sh from local/recipes/dev/gcc16/source.tar)
/build/gcc16-build/
/build/gcc16-install/
/build/gcc13-backup/
/build/host-tools/