logo

live-bootstrap

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

pass1.sh (8783B)


  1. # SPDX-FileCopyrightText: 2023 fosslinux <fosslinux@aussies.space>
  2. #
  3. # SPDX-License-Identifier: GPL-3.0-or-later
  4. src_prepare() {
  5. default
  6. # Remove unused pregenerated files
  7. rm libsanitizer/include/sanitizer/netbsd_syscall_hooks.h \
  8. libsanitizer/sanitizer_common/sanitizer_syscalls_netbsd.inc
  9. rm -r libgfortran/generated
  10. rm gcc/testsuite/go.test/test/bench/go1/jsondata_test.go \
  11. gcc/testsuite/go.test/test/bench/go1/parserdata_test.go \
  12. gcc/testsuite/go.test/test/cmplxdivide1.go \
  13. gcc/testsuite/go.test/test/fixedbugs/issue6866.go
  14. rm gcc/testsuite/gcc.target/x86_64/abi/test_3_element_struct_and_unions.c \
  15. gcc/testsuite/gcc.target/x86_64/abi/test_basic_returning.c \
  16. gcc/testsuite/gcc.target/x86_64/abi/test_passing_floats.c \
  17. gcc/testsuite/gcc.target/x86_64/abi/test_passing_integers.c \
  18. gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/test_passing_floats.c \
  19. gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/test_basic_returning.c \
  20. gcc/testsuite/gcc.target/x86_64/abi/avx512fp16/test_3_element_struct_and_unions.c \
  21. gcc/testsuite/gcc.target/x86_64/abi/bf16/test_passing_floats.c \
  22. gcc/testsuite/gcc.target/x86_64/abi/bf16/test_3_element_struct_and_unions.c
  23. rm gcc/testsuite/gm2/projects/pim/run/pass/tower/advflex.c \
  24. gcc/testsuite/gm2/projects/pim/run/pass/tower/AdvParse.mod
  25. rm gcc/testsuite/gcc.dg/analyzer/flex*.c
  26. rm -r gcc/testsuite/gdc.test/compilable
  27. rm gcc/config/rs6000/rs6000-tables.opt \
  28. gcc/config/rs6000/fusion.md \
  29. gcc/config/h8300/mova.md \
  30. gcc/config/aarch64/aarch64-tune.md \
  31. gcc/config/nios2/ldstwm.md \
  32. gcc/config/riscv/t-elf-multilib \
  33. gcc/config/riscv/t-linux-multilib \
  34. gcc/config/arm/arm-tune.md \
  35. gcc/config/arm/arm-tables.opt \
  36. gcc/config/arm/ldmstm.md \
  37. gcc/config/arc/t-multilib \
  38. gcc/config/m68k/m68k-tables.opt \
  39. gcc/config/c6x/c6x-mult.md \
  40. gcc/config/c6x/c6x-tables.opt \
  41. gcc/config/c6x/c6x-sched.md \
  42. gcc/config/csky/csky_tables.opt \
  43. gcc/config/mips/mips-tables.opt \
  44. gcc/config/nvptx/nvptx-gen.opt \
  45. gcc/config/nvptx/nvptx-gen.h \
  46. gcc/config/loongarch/loongarch.opt \
  47. gcc/config/loongarch/loongarch-str.h
  48. rm libphobos/src/std/internal/unicode_tables.d \
  49. libphobos/src/std/internal/unicode_decomp.d \
  50. libphobos/src/std/internal/unicode_grapheme.d \
  51. libphobos/src/std/internal/unicode_norm.d
  52. rm libgo/go/math/bits/example_test.go \
  53. libgo/go/math/bits/bits_tables.go \
  54. libgo/go/math/big/accuracy_string.go \
  55. libgo/go/math/big/roundingmode_string.go \
  56. libgo/go/strconv/isprint.go \
  57. libgo/go/strconv/eisel_lemire.go \
  58. libgo/go/sort/zfuncversion.go \
  59. libgo/go/golang.org/x/net/route/zsys_*.go \
  60. libgo/go/golang.org/x/net/idna/*.go \
  61. libgo/go/golang.org/x/text/unicode/bidi/t*.go \
  62. libgo/go/golang.org/x/text/unicode/norm/tables*.go \
  63. libgo/go/golang.org/x/tools/internal/typeparams/typeterm.go \
  64. libgo/go/golang.org/x/tools/internal/typeparams/termlist.go \
  65. libgo/go/golang.org/x/crypto/curve25519/internal/field/fe_amd64.go \
  66. libgo/go/internal/syscall/windows/registry/zsyscall_windows.go \
  67. libgo/go/internal/syscall/windows/zsyscall_windows.go \
  68. libgo/go/encoding/gob/*_helpers.go \
  69. libgo/go/index/suffixarray/sais2.go \
  70. libgo/go/net/http/*_bundle.go \
  71. libgo/go/runtime/sizeclasses.go \
  72. libgo/go/runtime/fastlog2table.go \
  73. libgo/go/html/template/*_string.go \
  74. libgo/go/crypto/md5/md5block.go \
  75. libgo/go/crypto/tls/common_string.go \
  76. libgo/go/crypto/elliptic/internal/fiat/p*.go \
  77. libgo/go/crypto/ed25519/internal/edwards25519/field/fe_amd64.go \
  78. libgo/go/time/zoneinfo_abbrs_windows.go \
  79. libgo/go/unicode/tables.go \
  80. libgo/go/regexp/syntax/doc.go \
  81. libgo/go/regexp/syntax/op_string.go \
  82. libgo/go/regexp/syntax/perl_groups.go \
  83. libgo/go/image/internal/imageutil/impl.go \
  84. libgo/go/image/color/palette/palette.go \
  85. libgo/go/cmd/internal/objabi/*_string.go \
  86. libgo/go/cmd/go/internal/test/flagdefs.go \
  87. libgo/go/debug/dwarf/*_string.go \
  88. libgo/go/debug/macho/reloctype_string.go \
  89. libgo/go/internal/goexperiment/exp_*.go \
  90. libgo/go/time/tzdata/zipdata.go \
  91. libgo/go/go/constant/kind_string.go
  92. rm libgo/go/compress/bzip2/testdata/*.bin \
  93. libgo/go/go/internal/gccgoimporter/testdata/v1reflect.gox \
  94. libgo/go/go/internal/gccgoimporter/testdata/time.gox \
  95. libgo/go/go/internal/gccgoimporter/testdata/unicode.gox \
  96. libgo/go/go/internal/gccgoimporter/testdata/escapeinfo.gox \
  97. libgo/go/go/internal/gccgoimporter/testdata/libimportsar.a \
  98. libgo/go/go/internal/gcimporter/testdata/versions/*.a
  99. rm -r libgo/go/compress/flate/testdata \
  100. libgo/go/runtime/pprof/testdata \
  101. libgo/go/debug/*/testdata \
  102. libgo/go/internal/trace/testdata \
  103. libgo/go/time/testdata \
  104. libgo/go/internal/xcoff/testdata
  105. find fixincludes/tests -name "*.h" -delete
  106. rm gcc/m2/mc/mcp*.bnf
  107. rm -r gcc/m2/pge-boot \
  108. gcc/m2/mc-boot
  109. # Partially generated unused files
  110. rm libgcc/config/sh/lib1funcs.S \
  111. libgcc/config/sh/lib1funcs-4-300.S \
  112. libgcc/config/arc/lib1funcs.S
  113. # Remove vendored zlib
  114. rm -r zlib/
  115. # gperf files
  116. rm gcc/cp/cfns.h gcc/cp/std-name-hint.h
  117. # Generate it now, because gcc doesn't regenerate it for some reason
  118. # (taken directly from gcc/cp/Make-lang.in)
  119. gperf -o -C -E -k '1-6,$' -j1 -D -N 'libc_name_p' -L C++ \
  120. gcc/cp/cfns.gperf --output-file gcc/cp/cfns.h
  121. # Regenerate autogen stuff
  122. rm Makefile.in fixincludes/fixincl.x
  123. autogen Makefile.def
  124. pushd fixincludes
  125. ./genfixes
  126. popd
  127. # Regenerate autotools
  128. # configure
  129. find . -name configure | sed 's:/configure::' | while read d; do
  130. pushd "${d}"
  131. AUTOMAKE=automake-1.15 ACLOCAL=aclocal-1.15 autoreconf-2.69 -fiv
  132. popd
  133. done
  134. # A odd script
  135. pushd gcc/m2/gm2-libs
  136. autoconf-2.69 -f config-host.in > config-host
  137. popd
  138. # Because GCC is stupid, copy depcomp back in
  139. cp "${PREFIX}/share/automake-1.15/depcomp" .
  140. # Makefile.in only
  141. local BACK="${PWD}"
  142. find . -type d \
  143. -exec test -e "{}/Makefile.am" -a ! -e "{}/configure" \; \
  144. -print | while read d; do
  145. d="$(readlink -f "${d}")"
  146. cd "${d}"
  147. # Find the appropriate configure script for automake
  148. while [ ! -e configure ]; do
  149. cd ..
  150. done
  151. automake-1.15 -fai "${d}/Makefile"
  152. cd "${BACK}"
  153. done
  154. # Remove bison generated files
  155. rm intl/plural.c
  156. # Remove flex generated files
  157. rm gcc/gengtype-lex.cc
  158. # intl/ Makefile is a bit broken because of new gettext
  159. sed -i 's/@USE_INCLUDED_LIBINTL@/no/' intl/Makefile.in
  160. # Regenerate crc table in libiberty/crc32.c
  161. pushd libiberty
  162. sed -n '/^ #include <stdio.h>/,/^ \}$/p' crc32.c > crcgen.c
  163. gcc -o crcgen crcgen.c
  164. sed '/crc_v3\.txt/{n; q}' crc32.c > crc32.c.new
  165. ./crcgen >> crc32.c.new
  166. sed '1,/^};$/d' crc32.c >> crc32.c.new
  167. mv crc32.c.new crc32.c
  168. popd
  169. # Regenerate decDPD.h
  170. rm libdecnumber/decDPD.h
  171. gcc -std=c99 -o decDPD_generate decDPD_generate.c
  172. cp decDPD.h.preamble libdecnumber/decDPD.h
  173. ./decDPD_generate >> libdecnumber/decDPD.h
  174. # Remove docs/translation
  175. find . -name "*.gmo" -delete
  176. find . -name "*.info" -delete
  177. find . -type f -name '*.[1-9]' -delete
  178. rm libiberty/functions.texi
  179. # Sphinx-generated
  180. rm gcc/jit/docs/conf.py
  181. rm gcc/jit/docs/_build/texinfo/libgccjit.texi \
  182. gcc/ada/gnat_rm.texi \
  183. gcc/ada/gnat_ugn.texi
  184. rm gcc/doc/avr-mmcu.texi
  185. gcc -o gen-avr-mmcu-texi gcc/config/avr/gen-avr-mmcu-texi.cc
  186. ./gen-avr-mmcu-texi > gcc/doc/avr-mmcu.texi
  187. }
  188. src_configure() {
  189. mkdir build
  190. cd build
  191. LDFLAGS="-static" \
  192. ../configure \
  193. --prefix="${PREFIX}" \
  194. --libdir="${LIBDIR}" \
  195. --build=i386-unknown-linux-musl \
  196. --target=i386-unknown-linux-musl \
  197. --host=i386-unknown-linux-musl \
  198. --enable-bootstrap \
  199. --enable-static \
  200. --disable-plugins \
  201. --disable-libssp \
  202. --disable-libsanitizer \
  203. --program-transform-name= \
  204. --enable-languages=c,c++ \
  205. --with-system-zlib \
  206. --disable-multilib \
  207. --enable-threads=posix
  208. }
  209. src_compile() {
  210. make "${MAKEJOBS}" BOOT_LDFLAGS="-static"
  211. }