logo

live-bootstrap

Mirror of <https://github.com/fosslinux/live-bootstrap>

pass3.sh (1466B)


  1. # SPDX-FileCopyrightText: 2021-2022 Andrius Štikonas <andrius@stikonas.eu>
  2. # SPDX-FileCopyrightText: 2022-23 fosslinux <fosslinux@aussies.space>
  3. #
  4. # SPDX-License-Identifier: GPL-3.0-or-later
  5. src_prepare() {
  6. default
  7. touch config.h
  8. }
  9. src_compile() {
  10. # We first have to recompile using tcc-0.9.26 as tcc-0.9.27 is not self-hosting,
  11. # but when linked with musl it is.
  12. ln -sf "${PREFIX}/lib/mes/tcc/libtcc1.a" ./libtcc1.a
  13. for TCC in tcc-0.9.26 ./tcc-musl; do
  14. "${TCC}" \
  15. -v \
  16. -static \
  17. -o tcc-musl \
  18. -D TCC_TARGET_I386=1 \
  19. -D CONFIG_TCCDIR=\""${LIBDIR}/tcc"\" \
  20. -D CONFIG_TCC_CRTPREFIX=\""${LIBDIR}"\" \
  21. -D CONFIG_TCC_ELFINTERP=\"/musl/loader\" \
  22. -D CONFIG_TCC_LIBPATHS=\""${LIBDIR}:${LIBDIR}/tcc"\" \
  23. -D CONFIG_TCC_SYSINCLUDEPATHS=\""${PREFIX}/include"\" \
  24. -D TCC_LIBGCC=\""${LIBDIR}/libc.a"\" \
  25. -D CONFIG_TCC_STATIC=1 \
  26. -D CONFIG_USE_LIBGCC=1 \
  27. -D TCC_VERSION=\"0.9.27\" \
  28. -D ONE_SOURCE=1 \
  29. -B . \
  30. tcc.c
  31. # libtcc1.a
  32. rm -f libtcc1.a
  33. ${TCC} -c -D HAVE_CONFIG_H=1 lib/libtcc1.c
  34. ${TCC} -ar cr libtcc1.a libtcc1.o
  35. done
  36. }
  37. src_install() {
  38. install -D tcc-musl "${DESTDIR}${PREFIX}/bin/tcc-musl"
  39. ln -s tcc-musl "${DESTDIR}${PREFIX}/bin/tcc"
  40. install -D libtcc1.a "${DESTDIR}${LIBDIR}/tcc/libtcc1.a"
  41. }