2022-05-09 19:55:26 +01:00
|
|
|
# SPDX-FileCopyrightText: 2021-2022 Andrius Štikonas <andrius@stikonas.eu>
|
2022-03-07 07:58:20 +00:00
|
|
|
# SPDX-FileCopyrightText: 2022 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() {
|
2021-05-03 23:48:06 +01:00
|
|
|
default
|
2021-04-15 01:45:06 +01:00
|
|
|
|
|
|
|
touch config.h
|
2021-02-03 00:16:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
src_compile() {
|
2021-04-02 12:24:40 +01:00
|
|
|
export libdir=${PREFIX}/lib/musl
|
|
|
|
export incdir=${PREFIX}/include/musl
|
|
|
|
export bindir=${PREFIX}/bin
|
2021-02-03 00:16:39 +00:00
|
|
|
|
2022-05-09 19:55:26 +01:00
|
|
|
mkdir -p "${libdir}/tcc"
|
2021-02-03 00:16:39 +00:00
|
|
|
|
|
|
|
# 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.
|
2022-01-14 10:53:30 +00:00
|
|
|
for TCC in tcc-0.9.26 ./tcc-musl; do
|
2021-02-03 00:16:39 +00:00
|
|
|
${TCC} \
|
|
|
|
-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 \
|
2022-05-09 19:55:26 +01:00
|
|
|
-D CONFIG_TCCDIR=\""${libdir}/tcc"\" \
|
|
|
|
-D CONFIG_TCC_CRTPREFIX=\""${libdir}"\" \
|
2021-02-03 00:16:39 +00:00
|
|
|
-D CONFIG_TCC_ELFINTERP=\"/musl/loader\" \
|
2022-05-09 19:55:26 +01:00
|
|
|
-D CONFIG_TCC_LIBPATHS=\""${libdir}:${libdir}/tcc"\" \
|
|
|
|
-D CONFIG_TCC_SYSINCLUDEPATHS=\""${incdir}"\" \
|
|
|
|
-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 \
|
|
|
|
tcc.c
|
|
|
|
|
|
|
|
# libtcc1.a
|
|
|
|
${TCC} -c -D HAVE_CONFIG_H=1 lib/libtcc1.c
|
2022-05-09 19:55:26 +01:00
|
|
|
${TCC} -ar cr "${libdir}/tcc/libtcc1.a" libtcc1.o
|
2021-02-03 00:16:39 +00:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
2021-03-20 21:20:43 +00:00
|
|
|
# Remove old tcc binaries
|
2022-05-09 19:55:26 +01:00
|
|
|
rm "${bindir}/tcc"
|
|
|
|
rm "${bindir}"/boot*-tcc "${bindir}/tcc-0.9.26" "${bindir}/mes-tcc"
|
|
|
|
install -D tcc-musl "${DESTDIR}${bindir}/tcc-musl"
|
|
|
|
ln -s tcc-musl "${DESTDIR}${bindir}/tcc"
|
2021-02-03 00:16:39 +00:00
|
|
|
}
|