Skip to content

bsp: eliminate Makefile.pup preprocessing#12

Merged
typeless merged 7 commits intomainfrom
eliminate-makefile-preprocessing
Mar 10, 2026
Merged

bsp: eliminate Makefile.pup preprocessing#12
typeless merged 7 commits intomainfrom
eliminate-makefile-preprocessing

Conversation

@typeless
Copy link
Owner

@typeless typeless commented Mar 9, 2026

Summary

  • Eliminate setup-host-configs: Libraries with darwin-specific configs (binutils, gcc, libcpp) get defaults-darwin.config alongside defaults.config, selected via ifeq (@(HOST_OS),darwin) in the Tupfile
  • Make resolve-mpn Tupfile-driven: @(MPN_CPU) in the platform config drives config-generating rules in gcc/gmp/Tupfile and gcc/gmp/mpn/Tupfile during putup configure
  • Remove Makefile.pup: Download logic extracted to scripts/download-source.sh; the canonical build is now putup configure && putup
  • Update CI: build-gcc-bsp job uses direct putup commands

Net: -414 lines (498 deleted, 84 added). The config tree is now immutable — no preprocessing step writes into it.

Test plan

  • CI build-gcc-bsp job passes (downloads source, configures, builds, smoke-tests cc1)
  • All other CI jobs unaffected (no putup source changes)

🤖 Generated with Claude Code

typeless and others added 7 commits March 10, 2026 10:08
Libraries with darwin-specific configs (binutils, gcc, libcpp) get a
defaults-darwin.config alongside their defaults.config. The Tupfile
selects via ifeq (@(HOST_OS),darwin). No more Makefile preprocessing.
MPN source resolution (generic C vs arch-specific asm) is now driven
by @(MPN_CPU) in the platform config, read by Tupfile rules during
putup configure. No more Makefile preprocessing step.
The canonical build command is now:
  putup configure --config configs/x86_64-linux.config -C . -S ../src -B ../build
  putup -C . -S ../src -B ../build -j$(nproc)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@typeless typeless force-pushed the eliminate-makefile-preprocessing branch from 80eb52c to 472a54b Compare March 10, 2026 02:35
@typeless typeless merged commit 7b9299f into main Mar 10, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant