Big script
This commit is contained in:
49
toolchain/scripts/111-m4.sh
Executable file
49
toolchain/scripts/111-m4.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# ============================================================================
|
||||
# DarkForge Linux — Phase 3, Chapter 8.14: M4
|
||||
# ============================================================================
|
||||
# Purpose: Build and install m4, the macro processing language.
|
||||
# M4 is a dependency for autoconf/automake and other build tools.
|
||||
# Required for building other packages in Phase 3+.
|
||||
# Inputs: /sources/m4-1.4.21.tar.xz
|
||||
# Outputs: /usr/bin/m4
|
||||
# Ref: LFS 13.0 §8.14
|
||||
# ============================================================================
|
||||
|
||||
set -euo pipefail
|
||||
source /sources/toolchain-scripts/100-chroot-env.sh
|
||||
|
||||
PACKAGE="m4"
|
||||
VERSION="1.4.21"
|
||||
|
||||
echo "=== Building ${PACKAGE}-${VERSION} (Phase 3) ==="
|
||||
|
||||
pkg_extract "${PACKAGE}-${VERSION}.tar.xz"
|
||||
cd "${PACKAGE}-${VERSION}"
|
||||
|
||||
# Configure m4 for the target system
|
||||
./configure --prefix=/usr
|
||||
|
||||
# Build m4
|
||||
make
|
||||
|
||||
# Run tests to ensure build is correct
|
||||
make check
|
||||
|
||||
# Install m4
|
||||
make install
|
||||
|
||||
# Verify installation
|
||||
if [ -x /usr/bin/m4 ]; then
|
||||
echo "PASS: m4 binary installed"
|
||||
else
|
||||
echo "FAIL: m4 binary not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test m4
|
||||
echo "define(HELLO, Hello World)" | /usr/bin/m4 | grep -q "Hello World" && \
|
||||
echo "PASS: m4 works correctly"
|
||||
|
||||
pkg_cleanup "${PACKAGE}-${VERSION}"
|
||||
echo "=== ${PACKAGE}-${VERSION} complete ==="
|
||||
Reference in New Issue
Block a user