logo

live-bootstrap

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

pass1.sh (3228B)


  1. # SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
  2. # SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
  3. # SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
  4. # SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
  5. #
  6. # SPDX-License-Identifier: GPL-3.0-or-later
  7. src_prepare() {
  8. default
  9. # Remove unused generated files
  10. rm etc/Makefile.in etc/configure
  11. # Regenerate files
  12. for dir in bfd binutils gas gprof intl ld libiberty opcodes zlib; do
  13. (
  14. cd $dir
  15. AUTOPOINT=true ACLOCAL=aclocal-1.11 AUTOMAKE=automake-1.11 autoreconf-2.64 -fi
  16. )
  17. done
  18. ACLOCAL=aclocal-1.11 autoreconf-2.64 -fi
  19. # Rebuild bison files
  20. touch -- */*.y
  21. rm binutils/arparse.c binutils/arparse.h
  22. rm binutils/defparse.c binutils/defparse.h
  23. rm binutils/mcparse.c binutils/mcparse.h
  24. rm binutils/rcparse.c binutils/rcparse.h
  25. rm binutils/sysinfo.c binutils/sysinfo.h
  26. rm gas/bfin-parse.c gas/bfin-parse.h
  27. rm gas/m68k-parse.c gas/rl78-parse.c
  28. rm gas/rl78-parse.h gas/rx-parse.c
  29. rm gas/rx-parse.h gas/itbl-parse.c
  30. rm gas/itbl-parse.h gold/yyscript.c
  31. rm gold/yyscript.h intl/plural.c
  32. rm ld/deffilep.c ld/deffilep.h
  33. rm ld/ldgram.c ld/ldgram.h
  34. # Rebuild flex generated files
  35. touch -- */*.l */*/*.l
  36. rm binutils/arlex.c binutils/deflex.c binutils/syslex.c
  37. rm gas/bfin-lex.c gas/itbl-lex.c
  38. rm ld/ldlex.c
  39. # Remove prebuilt texinfo files
  40. rm bfd/doc/bfd.info binutils/doc/binutils.info
  41. rm gas/doc/as.info gprof/gprof.info ld/ld.info
  42. # Remove pregenerated opcodes files
  43. rm opcodes/i386-init.h opcodes/i386-tbl.h
  44. rm opcodes/ia64-asmtab.c
  45. rm opcodes/z8k-opc.h
  46. rm opcodes/aarch64-asm-2.c opcodes/aarch64-opc-2.c opcodes/aarch64-dis-2.c
  47. rm $(grep -l 'MACHINE GENERATED' opcodes/*.c opcodes/*.h)
  48. # Regenerate MeP sections
  49. ./bfd/mep-relocs.pl
  50. # Manpages
  51. rm */*.1 */*/*.1 */*/*.man
  52. }
  53. src_configure() {
  54. for dir in intl libiberty opcodes bfd binutils gas gprof ld zlib; do
  55. (
  56. cd $dir
  57. LD="true" AR="tcc -ar" CC="tcc" ./configure \
  58. --disable-nls \
  59. --enable-deterministic-archives \
  60. --enable-64-bit-bfd \
  61. --build=i386-unknown-linux-gnu \
  62. --host=i386-unknown-linux-gnu \
  63. --target=i386-unknown-linux-gnu \
  64. --program-prefix="" \
  65. --prefix="${PREFIX}" \
  66. --libdir="${LIBDIR}" \
  67. --with-sysroot= \
  68. --srcdir=. \
  69. --enable-compressed-debug-sections=all \
  70. lt_cv_sys_max_cmd_len=32768
  71. )
  72. done
  73. }
  74. src_compile() {
  75. make -C bfd headers
  76. for dir in libiberty zlib bfd opcodes binutils gas gprof ld; do
  77. make "${MAKEJOBS}" -C $dir tooldir=${PREFIX} CPPFLAGS="-DPLUGIN_LITTLE_ENDIAN" MAKEINFO=true
  78. done
  79. }
  80. src_install() {
  81. for dir in libiberty zlib bfd opcodes binutils gas gprof ld; do
  82. make -C $dir tooldir=${PREFIX} DESTDIR="${DESTDIR}" install MAKEINFO=true
  83. done
  84. # Create triplet symlinks
  85. (
  86. cd "${DESTDIR}${PREFIX}/bin"
  87. for f in *; do
  88. ln -s "${PREFIX}/bin/${f}" "i386-unknown-linux-musl-${f}"
  89. done
  90. )
  91. }