live-bootstrap/sysa/tcc-0.9.27/tcc-musl-pass1.sh

48 lines
1.4 KiB
Bash
Raw Normal View History

2022-05-09 19:55:26 +01:00
# SPDX-FileCopyrightText: 2021-2022 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2022-23 fosslinux <fosslinux@aussies.space>
2021-02-08 06:23:31 +00:00
#
# SPDX-License-Identifier: GPL-3.0-or-later
2021-02-03 00:16:39 +00:00
src_prepare() {
default
touch config.h
2021-02-03 00:16:39 +00:00
}
src_compile() {
# We first have to recompile using tcc-0.9.26 as tcc-0.9.27 is not self-hosting,
# but when linked with musl it is.
ln -sf "${PREFIX}/lib/mes/tcc/libtcc1.a" ./libtcc1.a
2022-01-14 10:53:30 +00:00
for TCC in tcc-0.9.26 ./tcc-musl; do
"${TCC}" \
2021-02-03 00:16:39 +00:00
-v \
-static \
2022-01-14 10:53:30 +00:00
-o tcc-musl \
2021-02-03 00:16:39 +00:00
-D TCC_TARGET_I386=1 \
-D CONFIG_TCCDIR=\""${LIBDIR}/tcc"\" \
-D CONFIG_TCC_CRTPREFIX=\""${LIBDIR}"\" \
2021-02-03 00:16:39 +00:00
-D CONFIG_TCC_ELFINTERP=\"/musl/loader\" \
-D CONFIG_TCC_LIBPATHS=\""${LIBDIR}:${LIBDIR}/tcc"\" \
-D CONFIG_TCC_SYSINCLUDEPATHS=\""${PREFIX}/include/musl"\" \
-D TCC_LIBGCC=\""${LIBDIR}/libc.a"\" \
2021-02-03 00:16:39 +00:00
-D CONFIG_TCC_STATIC=1 \
-D CONFIG_USE_LIBGCC=1 \
-D TCC_VERSION=\"0.9.27\" \
-D ONE_SOURCE=1 \
-B . \
2021-02-03 00:16:39 +00:00
tcc.c
# libtcc1.a
rm -f libtcc1.a
2021-02-03 00:16:39 +00:00
${TCC} -c -D HAVE_CONFIG_H=1 lib/libtcc1.c
${TCC} -ar cr libtcc1.a libtcc1.o
2021-02-03 00:16:39 +00:00
done
}
src_install() {
install -D tcc-musl "${DESTDIR}${PREFIX}/bin/tcc-musl"
ln -s tcc-musl "${DESTDIR}${PREFIX}/bin/tcc"
install -D libtcc1.a "${DESTDIR}${LIBDIR}/tcc/libtcc1.a"
2021-02-03 00:16:39 +00:00
}