Define "TARGET" variable to avoid hardcoding "i386-unknown-linux-musl" everywhere

This commit is contained in:
Eduardo Sánchez Muñoz 2025-07-18 14:28:30 +02:00
parent a7397d5caa
commit 502e8f944c
37 changed files with 81 additions and 79 deletions

View file

@ -394,7 +394,7 @@ tcc 0.9.27 (patched)
We recompile ``tcc`` with some patches needed to build musl.
musl 1.1.24 and musl_libdir
musl 1.1.24 and musl_target
===========================
``musl`` is a C standard library that is lightweight, fast, simple,

View file

@ -35,7 +35,7 @@ fd65c11422588984bc3a440b1fd9d022307a200de182cfedfe3387a09cbece98 ca-certificate
982a3496ce3277c562acc896ba796939fe55a37432b2c76ab16b76e051a045a2 coreutils-5.0_0.tar.bz2
27f283c42e2728d0d0682d56ada44b11ff11d07843e595c133a43f4c6aef53d0 coreutils-6.10_0.tar.bz2
22d4dcf97bc9caf36f2abc4fbfc2f40d13a0be2db2efce913b09a00461db7a06 coreutils-9.4_0.tar.bz2
c0ab68a12ff82cb2b65b9c480281b70441ee14ef9bfe93605d1d5852379dbbaf curl-8.12.1_0.tar.bz2
55435a61930f799a1a02f0a359081580b292c526f071aff3532170b3d9e37227 curl-8.12.1_0.tar.bz2
ea841c92382860d3618368b86510514ed7d717c64625740e70baba2508e182c4 curl-8.12.1_1.tar.bz2
fedf6ffbd37b14e9a0c94cd3063c6ac5d38f13be8a3399093ec112f9cd9d0816 dhcpcd-10.0.1_0.tar.bz2
0462b6a04899a98d60c33f9d16fa00e2e6b7c21cc80ccebc8358fc08105467a2 diffutils-2.7_0.tar.bz2

View file

@ -43,7 +43,7 @@ src_compile() {
# Specify timeout to avoid non-reproducibility
CPPFLAGS=-D_LARGEFILE64_SOURCE=1 ./configure \
--prefix="${FINALPREFIX}" \
--libdir="${FINALPREFIX}/lib/i386-unknown-linux-musl" \
--libdir="${FINALPREFIX}/lib/${TARGET}" \
--disable-shared \
--enable-timeout=15
touch doc/agdoc.texi # build later

View file

@ -41,7 +41,7 @@ src_configure() {
./configure --prefix="${PREFIX}" \
--without-bash-malloc \
--disable-nls \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
--enable-static-link \
bash_cv_dev_stdin=absent \
bash_cv_dev_fd=whacky

View file

@ -20,7 +20,7 @@ src_prepare() {
src_configure() {
./configure --prefix="${PREFIX}" \
--build=i386-unknown-linux-musl
--build="${TARGET}"
}
src_compile() {

View file

@ -121,9 +121,9 @@ src_configure() {
--disable-nls \
--enable-deterministic-archives \
--enable-64-bit-bfd \
--build=i386-unknown-linux-gnu \
--host=i386-unknown-linux-gnu \
--target=i386-unknown-linux-gnu \
--build="${TARGET/-musl/-gnu}" \
--host="${TARGET/-musl/-gnu}" \
--target="${TARGET/-musl/-gnu}" \
--program-prefix="" \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
@ -150,6 +150,6 @@ src_install() {
# Create triplet symlinks
cd "${DESTDIR}${PREFIX}/bin"
for f in *; do
ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
ln -s "${PREFIX}/bin/${f}" "${TARGET}-${f}"
done
}

View file

@ -120,9 +120,9 @@ src_configure() {
--enable-install-libiberty \
--enable-deterministic-archives \
--with-system-zlib \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--target=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--target="${TARGET}" \
--program-prefix="" \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
@ -147,7 +147,7 @@ src_install() {
# Create triplet symlinks
pushd "${DESTDIR}${PREFIX}/bin"
for f in *; do
ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
ln -s "${PREFIX}/bin/${f}" "${TARGET}-${f}"
done
popd

View file

@ -131,9 +131,9 @@ src_configure() {
../configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--target=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--target="${TARGET}" \
--enable-static \
--disable-nls \
--disable-multilib \
@ -157,7 +157,7 @@ src_install() {
# Create triplet symlinks
pushd "${DESTDIR}${PREFIX}/bin"
for f in *; do
ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
ln -s "${PREFIX}/bin/${f}" "${TARGET}-${f}"
done
popd

View file

@ -47,7 +47,7 @@ src_configure() {
# Also, tell coreutils we don't have perl, which disables help2man
FORCE_UNSAFE_CONFIGURE=1 ./configure CFLAGS="-static" \
--prefix="${PREFIX}" \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
gl_cv_func_getcwd_path_max="no, but it is partly working" \
gl_cv_prog_perl="no"
}

View file

@ -31,7 +31,7 @@ src_configure() {
LDFLAGS="-static" ./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-gnu \
--build="${TARGET}" \
--enable-ipv6 \
--without-ssl \
--without-libpsl \

View file

@ -23,7 +23,7 @@ src_configure() {
LDFLAGS="-static" ./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
--enable-ipv6 \
--with-openssl \
--without-libpsl \

View file

@ -8,7 +8,7 @@ src_prepare() {
src_configure() {
./configure --prefix="${PREFIX}" \
--build=i386-unknown-linux-musl
--build="${TARGET}"
}
src_install() {

View file

@ -21,7 +21,7 @@ src_configure() {
# Musl is not recognized, pretend to be uClibc
# Must use --host for config.charset reproducibility
CC=tcc ./configure --prefix="${PREFIX}" \
--host=i386-unknown-linux-gnu \
--host="${TARGET/-musl/-gnu}" \
CPPFLAGS="-D__UCLIBC__"
}

View file

@ -177,9 +177,9 @@ src_configure() {
../configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--target=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--target="${TARGET}" \
--host="${TARGET}" \
--disable-bootstrap \
--enable-static \
--program-transform-name= \

View file

@ -208,9 +208,9 @@ src_configure() {
../configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--target=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--target="${TARGET}" \
--host="${TARGET}" \
--enable-bootstrap \
--enable-static \
--disable-plugins \

View file

@ -82,9 +82,9 @@ src_configure() {
CC=tcc CFLAGS="-D HAVE_ALLOCA_H" ../../$dir/configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--target=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--target="${TARGET}" \
--host="${TARGET}" \
--disable-shared \
--program-transform-name=
cd ..
@ -96,7 +96,7 @@ src_configure() {
}
src_compile() {
ln -s . build/build-i386-unknown-linux-musl
ln -s . "build/build-${TARGET}"
mkdir build/gcc/include
ln -s ../../../gcc/gsyslimits.h build/gcc/include/syslimits.h
make -j1 -C build/gcc gengtype-yacc.c
@ -106,9 +106,9 @@ src_compile() {
}
src_install() {
mkdir -p "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/install-tools/include"
mkdir -p "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/install-tools/include"
make -C build/gcc install STMP_FIXINC= DESTDIR="${DESTDIR}"
mkdir -p "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/include"
rm "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/include/syslimits.h"
cp gcc/gsyslimits.h "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/include/syslimits.h"
mkdir -p "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/include"
rm "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/include/syslimits.h"
cp gcc/gsyslimits.h "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/include/syslimits.h"
}

View file

@ -83,9 +83,9 @@ src_configure() {
../../$dir/configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--target=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--target="${TARGET}" \
--host="${TARGET}" \
--disable-shared \
--program-transform-name=
cd ..
@ -94,14 +94,14 @@ src_configure() {
}
src_compile() {
ln -s . build/build-i386-unknown-linux-musl
ln -s . "build/build-${TARGET}"
for dir in libiberty libcpp gcc; do
make "${MAKEJOBS}" -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" STMP_FIXINC=
done
}
src_install() {
mkdir -p "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/install-tools/include"
mkdir -p "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/install-tools/include"
make -C build/gcc install STMP_FIXINC= DESTDIR="${DESTDIR}"
cp gcc/gsyslimits.h "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/include/syslimits.h"
cp gcc/gsyslimits.h "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/include/syslimits.h"
}

View file

@ -181,9 +181,9 @@ src_configure() {
../../$dir/configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--target=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--target="${TARGET}" \
--host="${TARGET}" \
--disable-shared \
--program-transform-name= \
--enable-languages=c,c++ \
@ -195,7 +195,7 @@ src_configure() {
}
src_compile() {
ln -s . build/build-i386-unknown-linux-musl
ln -s . "build/build-${TARGET}"
for dir in libiberty libcpp libdecnumber gcc; do
# We have makeinfo now but it is not happy with gcc .info files, so skip it
make "${MAKEJOBS}" -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" \
@ -215,11 +215,11 @@ src_install() {
make -C build/libgcc install DESTDIR="${DESTDIR}" host_subdir=build
make -C build/libstdc++-v3 install DESTDIR="${DESTDIR}"
ln -s gcc "${DESTDIR}${PREFIX}/bin/cc"
cp gcc/gsyslimits.h "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.7.4/include/syslimits.h"
cp gcc/gsyslimits.h "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.7.4/include/syslimits.h"
# Very strange mis-versoning error
mkdir -p "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.7.4/include/"
mv "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/include/"* "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.7.4/include/"
rmdir "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/include"
mv "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.0.4/"* "${DESTDIR}${LIBDIR}/gcc/i386-unknown-linux-musl/4.7.4/"
mkdir -p "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.7.4/include/"
mv "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/include/"* "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.7.4/include/"
rmdir "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/include"
mv "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.0.4/"* "${DESTDIR}${LIBDIR}/gcc/${TARGET}/4.7.4/"
}

View file

@ -23,7 +23,7 @@ src_configure() {
./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
--disable-shared
}

View file

@ -55,7 +55,7 @@ src_configure() {
PKG_CONFIG_PATH="${LIBDIR}/pkgconfig" ./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
--disable-shared \
--disable-jit
popd

View file

@ -5,5 +5,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later
sed -i "/^LIBDIR/d" /steps/env
LIBDIR=${PREFIX}/lib/i386-unknown-linux-musl
TARGET=i386-unknown-linux-musl
LIBDIR=${PREFIX}/lib/${TARGET}
echo "LIBDIR=${LIBDIR}" >> /steps/env
echo "TARGET=${TARGET}" >> /steps/env

View file

@ -12,7 +12,7 @@ src_configure() {
./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
--disable-shared \
--with-gcc-arch=generic \
--enable-pax_emutramp

View file

@ -16,7 +16,7 @@ src_prepare() {
src_configure() {
./configure \
--prefix="${PREFIX}" \
--build=i386-unknown-linux-gnu \
--build="${TARGET/-musl/-gnu}" \
--disable-nls
}

View file

@ -15,7 +15,7 @@ src_prepare() {
src_configure() {
./configure \
--prefix="${PREFIX}" \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
--disable-nls
}

View file

@ -59,7 +59,7 @@ improve: populate_device_nodes
define: CONSOLES = ( INTERACTIVE == True && CHROOT == False )
improve: open_console ( CONSOLES == True )
build: tcc-0.9.27
improve: musl_libdir
improve: musl_target
build: musl-1.1.24
build: tcc-0.9.27
build: musl-1.1.24

View file

@ -15,7 +15,7 @@ src_get() {
src_configure() {
CC=gcc ./configure \
--host=i386-unknown-linux-musl \
--host="${TARGET}" \
--disable-shared \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \

View file

@ -6,7 +6,7 @@
src_configure() {
./configure \
--host=i386-unknown-linux-musl \
--host="${TARGET}" \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--includedir="${PREFIX}/include/"

View file

@ -21,6 +21,6 @@ src_configure() {
# pkg-config and other software (python/meson) that we do not have.
./configure \
--prefix="${PREFIX}" \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
--with-internal-glib
}

View file

@ -46,8 +46,8 @@ src_configure() {
CFLAGS="-U__DATE__ -U__TIME__" \
LDFLAGS="-L${LIBDIR}" \
./configure \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--with-system-ffi \

View file

@ -41,8 +41,8 @@ src_configure() {
./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--with-pydebug \
--with-system-ffi \
--enable-ipv6

View file

@ -46,8 +46,8 @@ src_configure() {
./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--with-pydebug \
--with-system-ffi \
--enable-ipv6

View file

@ -55,8 +55,8 @@ src_configure() {
CPPFLAGS="-U__DATE__ -U__TIME__" \
PKG_CONFIG_PATH="${LIBDIR}/pkgconfig/" \
./configure \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--with-system-ffi

View file

@ -46,8 +46,8 @@ src_configure() {
CFLAGS="-U__DATE__ -U__TIME__" \
LDFLAGS="-L${LIBDIR}" \
./configure \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--with-system-ffi

View file

@ -49,8 +49,8 @@ src_configure() {
CFLAGS="-U__DATE__ -U__TIME__" \
LDFLAGS="-L${LIBDIR}" \
./configure \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--with-system-ffi

View file

@ -44,8 +44,8 @@ src_configure() {
LDFLAGS="-L${LIBDIR}" \
PYTHON_FOR_BUILD="python -B" \
./configure \
--build=i386-unknown-linux-musl \
--host=i386-unknown-linux-musl \
--build="${TARGET}" \
--host="${TARGET}" \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
--with-system-ffi

View file

@ -24,7 +24,7 @@ src_configure() {
--bindir="${PREFIX}/bin" \
--sbindir="${PREFIX}/bin" \
--libdir="${LIBDIR}" \
--build=i386-unknown-linux-gnu \
--build="${TARGET/-musl/-gnu}" \
--disable-cramfs \
--without-ncurses \
--enable-static \
@ -38,6 +38,6 @@ src_install() {
default
# A weird behaviour I can't find the source of
mv "${DESTDIR}${PREFIX}/i386-unknown-linux-musl/"* "${DESTDIR}${LIBDIR}/"
rmdir "${DESTDIR}${PREFIX}/i386-unknown-linux-musl/"
mv "${DESTDIR}${PREFIX}/${TARGET}/"* "${DESTDIR}${LIBDIR}/"
rmdir "${DESTDIR}${PREFIX}/${TARGET}/"
}

View file

@ -53,6 +53,6 @@ src_configure() {
--prefix="${PREFIX}" \
--disable-shared \
--disable-nls \
--build=i386-unknown-linux-musl \
--build="${TARGET}" \
--libdir="${LIBDIR}"
}