diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index c05bb88..be3b593 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -56,5 +56,6 @@ c365874794187f8444e5d22998cd5888ffa47f36def4b77517a808dec27c0600 sed-4.0.9.tar. 404a8d72427a559c074e581bf8f7d5a73283faf249cd3faf6dc1c6faf97d07c7 sha-2-61555d.tar.gz c6c37e888b136ccefab903c51149f4b7bd659d69d4aea21245f61053a57aa60a tar-1.12.tar.gz 63bebd26879c5e1eea4352f0d03c991f966aeb3ddeb3c7445c902568d5411d28 tar-1.34.tar.xz +de23af78fca90ce32dff2dd45b3432b2334740bb9bb7b05bf60fdbfc396ceb9c tcc-0.9.27.tar.bz2 1b700d375e253e88bdf79caa244284a899b80f59fd64fdd3aaa6408b7bd715ae untar.c 166c48d2842519bc4f96333bff9e265f8cdda44d38e40594ef3f9bbb52890490 xz-5.0.5.tar.bz2 diff --git a/parts.rst b/parts.rst index 122c409..d8da74f 100644 --- a/parts.rst +++ b/parts.rst @@ -85,6 +85,11 @@ recompiled 5(!) times to add new features that are required for other features, namely ``long long`` and ``float``. Each time, the libc is also recompiled. +Note that now we begin to delve into the realm of old GNU software, +using older versions compilable by tinycc. Prior to this point, all tools +have been adapted significantly for the bootstrap; now, we will be using +old tooling instead. + untar ===== @@ -93,18 +98,6 @@ code, often compressed also. To avoid continuing using submodules we switch to software distribution using tar tarchives. ``untar.c`` is a single file implementation of tar format and is part of libarchive 3.4. -tinycc 0.9.27 -============= - -Now, we compile upstream tcc 0.9.27, the latest release of tinycc, using -the final version of tcc 0.9.26. We then recompile the libc once more. - -From this point onwards, until further notice, all programs are compiled -using tinycc 0.9.27. Note that now we begin to delve into the realm of -old GNU software, using older versions compilable by tinycc. Prior to -this point, all tools have been adapted significantly for the bootstrap; -now, we will be using old tooling instead. - gzip 1.2.4 ========== @@ -117,7 +110,7 @@ Going forward, we can now use ``.tar.gz`` for source code. tar 1.12 ======== -We build GNU tar 1.12, the last version compilable with mes libc. +We build GNU Tar 1.12, the last version compilable with mes libc. sed 4.0.9 ========= @@ -129,7 +122,7 @@ patch 2.5.9 ``patch`` is a very useful tool at this stage, allowing us to make significantly more complex edits, including just changes to lines. -Luckily, we are able to patch patch using sed only. +Luckily, we are able to patch ``patch`` using ``sed`` only. sha-2 ===== @@ -146,23 +139,6 @@ We have now just built ``sha256sum``, which has a significantly (many orders of magnitude) lower collision rate than ``fletcher16``, so we recheck all of the existing binaries using ``sha256sum``. -patched mes-libc -================ - -Since patch is available at this point, we can apply additional fixes to -mes-libc that are not included in the wip-m2 branch and recompile libc. - -patched tinycc -============== - -In Guix, tinycc is patched to force static linking. Prior to this step, -we have been forced to manually specify static linking for each tool. -Now that we have patch, we can patch tinycc to force static linking and -then recompile it. - -Note that we have to do this using tinycc 0.9.26, as tinycc 0.9.27 -cannot recompile itself for unknown reasons. - make 3.80 ========= @@ -176,6 +152,23 @@ bzip2 1.0.8 ``bzip2`` is a compression format that compresses more than ``gzip``. It is preferred where we can use it, and makes source code sizes smaller. +patched mes-libc +================ + +Since patch is available at this point, we can apply additional fixes to +mes-libc that are not included in the wip-m2 branch and recompile libc. + +tinycc 0.9.27 +============= + +Now, we compile upstream tcc 0.9.27, the latest release of tinycc, using +the final version of tcc 0.9.26. We then recompile the libc once more. + +From this point onwards, until further notice, all programs are compiled +using tinycc 0.9.27. + +We patch tinycc to force static linking. + coreutils 5.0 ============= @@ -238,8 +231,9 @@ tcc 0.9.27 (musl) ================= We recompile ``tcc`` against musl. This is a two stage process. First we -build tcc-0.9.27 that itself links to Mes C library but produces -binaries linked to musl. Then we recompile newly produced tcc with +build tcc-0.9.27 using tcc-0.9.26 that itself links to Mes C library but produces +binaries linked to musl (we have to do it using older `tcc` because +tcc-0.9.27 is not self hosting). Then we recompile newly produced tcc with itself. Interestingly, tcc-0.9.27 linked against musl is self hosting. musl 1.1.24 (tcc-musl) diff --git a/sysa.py b/sysa.py index 9e03524..fcf1ea6 100755 --- a/sysa.py +++ b/sysa.py @@ -116,7 +116,8 @@ class SysA: # Install base files src_tree = os.path.join(self.sysa_dir, target_name) copytree(src_tree, self.after_dir) - os.mkdir(target_src_dir) + if not os.path.isdir(target_src_dir): + os.mkdir(target_src_dir) for i, _ in enumerate(urls): # Download files into cache directory @@ -190,7 +191,6 @@ class SysA: self.mescc_tools_extra() self.mes() self.tcc_0_9_26() - self.tcc_0_9_27() self.get_packages() def create_after_dirs(self): @@ -252,15 +252,11 @@ class SysA: """TinyCC 0.9.26 (patched by janneke)""" copytree(os.path.join(self.sysa_dir, 'tcc-0.9.26'), self.after_dir) - def tcc_0_9_27(self): - """TinyCC 0.9.27""" - copytree(os.path.join(self.sysa_dir, 'tcc-0.9.27'), self.after_dir) - # pylint: disable=line-too-long,too-many-statements def get_packages(self): """Prepare remaining sources""" # untar from libarchive 3.4 - self.get_file("https://raw.githubusercontent.com/libarchive/libarchive/3.4/contrib/untar.c", mkbuild=True) + self.get_file("https://raw.githubusercontent.com/libarchive/libarchive/3.4/contrib/untar.c") # gzip 1.2.4 self.get_file("https://mirrors.kernel.org/gnu/gzip/gzip-1.2.4.tar", mkbuild=True) @@ -284,6 +280,9 @@ class SysA: # bzip2 1.0.8 self.get_file("https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz", mkbuild=True) + # tcc 0.9.27 + self.get_file("https://download.savannah.gnu.org/releases/tinycc/tcc-0.9.27.tar.bz2", mkbuild=True) + # coreutils 5.0 self.get_file("https://mirrors.kernel.org/gnu/coreutils/coreutils-5.0.tar.bz2", mkbuild=True) diff --git a/sysa/after.kaem.run b/sysa/after.kaem.run index b82f60f..b837ebe 100755 --- a/sysa/after.kaem.run +++ b/sysa/after.kaem.run @@ -56,12 +56,6 @@ cd ${pkg} kaem --file ${pkg}.kaem cd .. -# tcc 0.9.27 -pkg="tcc-0.9.27" -cd ${pkg} -kaem --file ${pkg}.kaem -cd .. - # gzip pkg="gzip-1.2.4" cd ${pkg} @@ -95,16 +89,6 @@ cd .. # Check all up to this part as sha256sum sha256sum -c pre-sha.sha256sums -# mes-libc-patched -cd tcc-0.9.27 -kaem --file mes-libc-patched.kaem -cd .. - -# tcc-patched -cd tcc-0.9.27 -kaem --file tcc-patched.kaem -cd .. - # make pkg="make-3.80" cd ${pkg} @@ -117,6 +101,17 @@ cd ${pkg} kaem --file ${pkg}.kaem cd .. +# mes-libc-patched +cd tcc-0.9.27 +kaem --file mes-libc-patched.kaem +cd .. + +# tcc 0.9.27 +pkg="tcc-0.9.27" +cd ${pkg} +kaem --file ${pkg}.kaem +cd .. + # coreutils pkg="coreutils-5.0" cd ${pkg} diff --git a/sysa/bzip2-1.0.8/checksums/bzip2-pass1 b/sysa/bzip2-1.0.8/checksums/bzip2-pass1 index 5d7aa35..2261224 100644 --- a/sysa/bzip2-1.0.8/checksums/bzip2-pass1 +++ b/sysa/bzip2-1.0.8/checksums/bzip2-pass1 @@ -1,2 +1,2 @@ -74cb8b1278d648d3f63b71cc5b055a83e83e12a044c7e533c1b348ee8cf34314 /after/bin/bzip2 -74cb8b1278d648d3f63b71cc5b055a83e83e12a044c7e533c1b348ee8cf34314 /after/bin/bunzip2 +6b7d8a7a65da9beb4c6deb0391be5f1f0da18e77d3f292ae433ffc43b89a3a5f /after/bin/bzip2 +6b7d8a7a65da9beb4c6deb0391be5f1f0da18e77d3f292ae433ffc43b89a3a5f /after/bin/bunzip2 diff --git a/sysa/gzip-1.2.4/checksums b/sysa/gzip-1.2.4/checksums index 9c900cf..e812ff8 100644 --- a/sysa/gzip-1.2.4/checksums +++ b/sysa/gzip-1.2.4/checksums @@ -1,3 +1,3 @@ -47018 /after/bin/gzip -47018 /after/bin/gunzip -47018 /after/bin/zcat +20706 /after/bin/gzip +20706 /after/bin/gunzip +20706 /after/bin/zcat diff --git a/sysa/make-3.80/checksums b/sysa/make-3.80/checksums index 5f0bbed..2aa4f04 100644 --- a/sysa/make-3.80/checksums +++ b/sysa/make-3.80/checksums @@ -1 +1 @@ -7745ab1036a83ed63416af84bd166bfe768554ac393fbc53818acd4ccc18ce7f /after/bin/make +06699b2728829d9c989f28a28af3d9ea00391a8678140af77a5ba4892244c4e8 /after/bin/make diff --git a/sysa/patch-2.5.9/checksums b/sysa/patch-2.5.9/checksums index a2be0d4..4682cb6 100644 --- a/sysa/patch-2.5.9/checksums +++ b/sysa/patch-2.5.9/checksums @@ -1 +1 @@ -10790 /after/bin/patch +62187 /after/bin/patch diff --git a/sysa/pre-sha.sha256sums b/sysa/pre-sha.sha256sums index 65f6bd1..2d57917 100644 --- a/sysa/pre-sha.sha256sums +++ b/sysa/pre-sha.sha256sums @@ -7,19 +7,19 @@ d4708bc79bee1f4d23789866380a98b5ed0e165ac8ca917b8b928c2d323ddc10 /after/bin/boo 773eae17b7f347526f8033afc9d1f06af116dfbcd0a26cbde7e29ab47e77850d /after/bin/chmod 764881d80efac5509aa85fd4683a20beffa831442f57815d43ee030fb8f9f486 /after/bin/cp e1481ecf337fb657f3949af0b45bb620c1886cd1a1b003fe27338832c250f41d /after/bin/fletcher16 -fc2d3f6a7227836526d278d4e4b642a72c1a83c03c3363f3376100798e0eb145 /after/bin/gunzip -fc2d3f6a7227836526d278d4e4b642a72c1a83c03c3363f3376100798e0eb145 /after/bin/gzip +c8c923c0bea92a642e1b3e5dde162bb7c35ea14a75e0f8fbb811d7ea92edffe6 /after/bin/gunzip +c8c923c0bea92a642e1b3e5dde162bb7c35ea14a75e0f8fbb811d7ea92edffe6 /after/bin/gzip e835fdb1cd8c7852e8c879f1efdea6f7392bdd04938f5a01a6199ab2730fac4b /after/bin/mes b91c81e543b878ead4cc975df75e3d211f7bd2dcdd4c90e42df99d44311ce71e /after/bin/mescc.scm e94a2468c045582cfd13df51acd0932afdc834fa60139f7bfb7a2d65afa39a65 /after/bin/mes-tcc -3cf426251744300a099a40f3609ccbd32ec3b9f3334601defa5736e7fd6c6f1d /after/bin/patch -d453932b7d83fc3e183afeca65c1afb2a620b985c378ee072710e0cc593d9811 /after/bin/sed -bc9ddf9854bd954c71bb1cf5b0af77fd65b8fa7f290b42c75020fb8893deb53c /after/bin/sha256sum +032c0a3bb32b542f7d3eb0305bd89898ab2fc4b9fd0502085337e3422db1f393 /after/bin/patch +61d9850bf8348a5571f59231e392a06021c9be78f32797943d98bc493ea5b03f /after/bin/sed +c09ac8658c8853f5316c8abbf5b8379dba03a42dfc3eb9c07982a4da85480b6f /after/bin/sha256sum 74e0a13cb6e92d70c43f71ec704afbc44b7a38c703fe40700f7af7c640a22158 /after/bin/untar -957229511dc5ac62a949dbd76e965e3a476ce214b8e6fc7f120bf17d195b924b /after/bin/tar -690c2a941c444ba761076f6b8ef1ba2b634ebe2e63ea44c8f3789f6e3df6d2a9 /after/bin/tcc -cacc2cda3ce6c2cc0cb761b8aa2115a003e166c94d1039974fc0221263897c52 /after/bin/tcc-0.9.26 -fc2d3f6a7227836526d278d4e4b642a72c1a83c03c3363f3376100798e0eb145 /after/bin/zcat +ade67862293d3193aaa569931d520dab26b26fcfebd538346a2a83195a59d7e7 /after/bin/tar +819ebd10859c34f1f34b5ab341fdce4541ccade97ec96b7eac5876875f91e8a7 /after/bin/tcc +819ebd10859c34f1f34b5ab341fdce4541ccade97ec96b7eac5876875f91e8a7 /after/bin/tcc-0.9.26 +c8c923c0bea92a642e1b3e5dde162bb7c35ea14a75e0f8fbb811d7ea92edffe6 /after/bin/zcat 44b5f15e1f015685fe4c3d66eda5ba52aac77b94f2edd98b764cec05ca350d49 /after/lib/crt1.o 90811dafd33ad56b8e4b0adcc04263f9329b9047b7cc337abe8151a75017172c /after/lib/x86-mes/crt1.s 09d4f9821a2566f7e56381a19259c41bd97f3c5ed83f490705acbfd1139a7736 /after/lib/crti.o diff --git a/sysa/run.sh b/sysa/run.sh index 5c837af..7df6ad7 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -96,7 +96,7 @@ build musl-1.1.24 binutils-rebuild.sh checksums/pass3 patches-pass3 populate_device_nodes # Rebuild tcc-musl using new musl -build tcc-0.9.27 tcc-musl-pass3.sh checksums/tcc-musl-pass3 +build tcc-0.9.27 tcc-musl-pass3.sh checksums/tcc-musl-pass3 patches-musl-pass3 build autoconf-2.53 stage1.sh build autoconf-2.53 stage2.sh diff --git a/sysa/sed-4.0.9/checksums/pass1 b/sysa/sed-4.0.9/checksums/pass1 index b014f1a..e20c8ff 100644 --- a/sysa/sed-4.0.9/checksums/pass1 +++ b/sysa/sed-4.0.9/checksums/pass1 @@ -1 +1 @@ -10514 /after/bin/sed +32529 /after/bin/sed diff --git a/sysa/sha-2-61555d/checksums b/sysa/sha-2-61555d/checksums index 4c9c42d..a173a25 100644 --- a/sysa/sha-2-61555d/checksums +++ b/sysa/sha-2-61555d/checksums @@ -1 +1 @@ -53384 /after/bin/sha256sum +11460 /after/bin/sha256sum diff --git a/sysa/tar-1.12/checksums b/sysa/tar-1.12/checksums index 6b2e5e5..2939655 100644 --- a/sysa/tar-1.12/checksums +++ b/sysa/tar-1.12/checksums @@ -1 +1 @@ -3497 /after/bin/tar +56696 /after/bin/tar diff --git a/sysa/tcc-0.9.27/checksums/tcc-0.9.27 b/sysa/tcc-0.9.27/checksums/tcc-0.9.27 index a891c8a..0b8c0a5 100644 --- a/sysa/tcc-0.9.27/checksums/tcc-0.9.27 +++ b/sysa/tcc-0.9.27/checksums/tcc-0.9.27 @@ -1,8 +1,6 @@ -35075 /after/bin/tcc -47832 /after/lib/libc.a -47832 /after/lib/libc+gnu.a -54049 /after/lib/libgetopt.a -23061 /after/lib/crt1.o -16980 /after/lib/crti.o -47705 /after/lib/crtn.o -54138 /after/lib/tcc/libtcc1.a +0bd8c89f8eee4b8e185b404308a79b3cd315a2143f864d7c250a8f088ae1149d /after/bin/tcc +a1313f0a2aef2e63a3d03b2c8de98e6c022f0999e4d7e039bd140c250be4a4da /after/lib/libc.a +12c07ae103e7e3b390150a79e5c600d88de14e9bb73a066f6342582729ef5a3f /after/lib/libgetopt.a +d1168ee9b528e39f0b40e8d51fb7fa3619c4a5ee928137f7faf6d0879b0916b0 /after/lib/crt1.o +09d4f9821a2566f7e56381a19259c41bd97f3c5ed83f490705acbfd1139a7736 /after/lib/crti.o +461ca1494737fab86fe1c1d3addeaf9d0ece413e353abcdea8674db3f700cda3 /after/lib/crtn.o diff --git a/sysa/tcc-0.9.27/checksums/tcc-musl-pass2 b/sysa/tcc-0.9.27/checksums/tcc-musl-pass2 index 792ceb0..9383e88 100644 --- a/sysa/tcc-0.9.27/checksums/tcc-musl-pass2 +++ b/sysa/tcc-0.9.27/checksums/tcc-musl-pass2 @@ -1,2 +1 @@ c65633cb875609df7aab2225a24334b5853a0b3e097bdb3ba8a0ae80c1bf5bf0 /after/bin/tcc-musl -a650b13efc65073fb851e9db89728089d8845c401f85faaa09801874ab058089 /after/lib/tcc/libtcc1.a diff --git a/sysa/tcc-0.9.27/checksums/tcc-musl-pass3 b/sysa/tcc-0.9.27/checksums/tcc-musl-pass3 index 0ab43d9..ac6ad8a 100644 --- a/sysa/tcc-0.9.27/checksums/tcc-musl-pass3 +++ b/sysa/tcc-0.9.27/checksums/tcc-musl-pass3 @@ -1,2 +1 @@ 068384be93b6654d6ad555881eaf24d221cc3edf229465f050fec30c30648047 /after/bin/tcc-musl -a650b13efc65073fb851e9db89728089d8845c401f85faaa09801874ab058089 /after/lib/tcc/libtcc1.a diff --git a/sysa/tcc-0.9.27/checksums/tcc-patched b/sysa/tcc-0.9.27/checksums/tcc-patched deleted file mode 100644 index f2ea2fe..0000000 --- a/sysa/tcc-0.9.27/checksums/tcc-patched +++ /dev/null @@ -1 +0,0 @@ -0bd8c89f8eee4b8e185b404308a79b3cd315a2143f864d7c250a8f088ae1149d /after/bin/tcc diff --git a/sysa/tcc-0.9.27/compile-libc.kaem b/sysa/tcc-0.9.27/compile-libc.kaem index 2225a00..fac1ac6 100755 --- a/sysa/tcc-0.9.27/compile-libc.kaem +++ b/sysa/tcc-0.9.27/compile-libc.kaem @@ -6,10 +6,6 @@ set -ex -# libtcc1.a -tcc -c -D HAVE_CONFIG_H=1 lib/libtcc1.c -tcc -ar cr ${libdir}/tcc/libtcc1.a libtcc1.o -cd ../mes-libc # crt{1,n,i}.o tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c diff --git a/sysa/tcc-0.9.27/mes-libc-patched.kaem b/sysa/tcc-0.9.27/mes-libc-patched.kaem index 19171c3..9c57d68 100755 --- a/sysa/tcc-0.9.27/mes-libc-patched.kaem +++ b/sysa/tcc-0.9.27/mes-libc-patched.kaem @@ -10,11 +10,10 @@ set -ex cd src/mes-libc # Patch -patch -Np0 -i ../../patches/mes-libc-qsort.patch -patch -Np0 -i ../../patches/mes-libc-crt1.patch +patch -Np0 -i ../../patches-mes-libc/qsort.patch +patch -Np0 -i ../../patches-mes-libc/crt1.patch # Recompile libc -cd ../tcc-0.9.27 kaem --file ../../compile-libc.kaem cd ../.. diff --git a/sysa/tcc-0.9.27/patches/mes-libc-crt1.patch b/sysa/tcc-0.9.27/patches-mes-libc/crt1.patch similarity index 100% rename from sysa/tcc-0.9.27/patches/mes-libc-crt1.patch rename to sysa/tcc-0.9.27/patches-mes-libc/crt1.patch diff --git a/sysa/tcc-0.9.27/patches/mes-libc-qsort.patch b/sysa/tcc-0.9.27/patches-mes-libc/qsort.patch similarity index 100% rename from sysa/tcc-0.9.27/patches/mes-libc-qsort.patch rename to sysa/tcc-0.9.27/patches-mes-libc/qsort.patch diff --git a/sysa/tcc-0.9.27/patches-musl-pass3/ignore-static-inside-array.patch b/sysa/tcc-0.9.27/patches-musl-pass3/ignore-static-inside-array.patch new file mode 120000 index 0000000..3ba9adc --- /dev/null +++ b/sysa/tcc-0.9.27/patches-musl-pass3/ignore-static-inside-array.patch @@ -0,0 +1 @@ +../patches/ignore-static-inside-array.patch \ No newline at end of file diff --git a/sysa/tcc-0.9.27/patches-musl-pass3/static-link.patch b/sysa/tcc-0.9.27/patches-musl-pass3/static-link.patch new file mode 120000 index 0000000..6d77dd3 --- /dev/null +++ b/sysa/tcc-0.9.27/patches-musl-pass3/static-link.patch @@ -0,0 +1 @@ +../patches/static-link.patch \ No newline at end of file diff --git a/sysa/tcc-0.9.27/src/tcc-0.9.27 b/sysa/tcc-0.9.27/src/tcc-0.9.27 deleted file mode 160000 index d348a9a..0000000 --- a/sysa/tcc-0.9.27/src/tcc-0.9.27 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d348a9a51d32cece842b7885d27a411436d7887b diff --git a/sysa/tcc-0.9.27/tcc-0.9.27.kaem b/sysa/tcc-0.9.27/tcc-0.9.27.kaem index 862c344..27af3e0 100755 --- a/sysa/tcc-0.9.27/tcc-0.9.27.kaem +++ b/sysa/tcc-0.9.27/tcc-0.9.27.kaem @@ -1,21 +1,31 @@ #!/bin/sh # SPDX-FileCopyrightText: 2021 fosslinux +# SPDX-FileCopyrightText: 2021 Andrius Štikonas # # SPDX-License-Identifier: GPL-3.0-or-later set -ex -cd src/tcc-0.9.27 +cd build + +# Extract +bunzip2 ../src/${pkg}.tar.bz2 +tar xf ../src/${pkg}.tar +cd ${pkg} # Create config.h catm config.h -# Compile the binary -tcc \ +# Patch +patch -Np0 -i ../../patches/static-link.patch +patch -Np0 -i ../../patches/ignore-static-inside-array.patch + +# Compile +tcc-0.9.26 \ -v \ -static \ - -o tcc \ + -o ${bindir}/tcc \ -D TCC_TARGET_I386=1 \ -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ @@ -29,17 +39,14 @@ tcc \ -D ONE_SOURCE=1 \ tcc.c -# Install the binary -cp tcc ${bindir}/tcc -chmod 755 ${bindir}/tcc - # Test tcc -version # Recompile libc +cd ../../src/mes-libc/ kaem --file ../../compile-libc.kaem cd ../.. # Checksums -fletcher16 checksums/tcc-0.9.27 +sha256sum -c checksums/tcc-0.9.27 diff --git a/sysa/tcc-0.9.27/tcc-musl-pass1.sh b/sysa/tcc-0.9.27/tcc-musl-pass1.sh index f3bdec0..f880e29 100755 --- a/sysa/tcc-0.9.27/tcc-musl-pass1.sh +++ b/sysa/tcc-0.9.27/tcc-musl-pass1.sh @@ -2,14 +2,10 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -src_unpack() { - cp -r ../src/tcc-0.9.27 . -} - src_prepare() { - # Note that tcc includes static-link and ignore-static-inside-array patches - # since we do not build from clean checkout. - patch -Np0 -i ../../patches/ignore-duplicate-symbols.patch + default_src_prepare + + touch config.h } src_compile() { diff --git a/sysa/tcc-0.9.27/tcc-musl-pass2.sh b/sysa/tcc-0.9.27/tcc-musl-pass2.sh index 080a935..d5c8a8a 100755 --- a/sysa/tcc-0.9.27/tcc-musl-pass2.sh +++ b/sysa/tcc-0.9.27/tcc-musl-pass2.sh @@ -3,15 +3,10 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -src_unpack() { - cp -r ../src/tcc-0.9.27 . -} - src_prepare() { - # Note that tcc includes static-link and ignore-static-inside-array patches - # since we do not build from clean checkout. + default_src_prepare - patch -Np0 -i ../../patches/ignore-duplicate-symbols.patch + touch config.h } src_compile() { diff --git a/sysa/tcc-0.9.27/tcc-musl-pass3.sh b/sysa/tcc-0.9.27/tcc-musl-pass3.sh index 84b8745..dc2b351 100755 --- a/sysa/tcc-0.9.27/tcc-musl-pass3.sh +++ b/sysa/tcc-0.9.27/tcc-musl-pass3.sh @@ -3,15 +3,10 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -src_unpack() { - cp -r ../src/tcc-0.9.27 . -} - src_prepare() { - # Note that tcc includes static-link and ignore-static-inside-array patches - # since we do not build from clean checkout. + default_src_prepare - : + touch config.h } src_compile() { diff --git a/sysa/tcc-0.9.27/tcc-patched.kaem b/sysa/tcc-0.9.27/tcc-patched.kaem deleted file mode 100755 index 9f7ca75..0000000 --- a/sysa/tcc-0.9.27/tcc-patched.kaem +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -# SPDX-FileCopyrightText: 2021 fosslinux -# -# SPDX-License-Identifier: GPL-3.0-or-later - -set -ex - -cd src/tcc-0.9.27 - -# Patch -patch -Np0 -i ../../patches/static-link.patch -patch -Np0 -i ../../patches/ignore-static-inside-array.patch - -# Compile -## We have to use 0.9.26 to recompile 0.9.27, 0.9.27 is not self-hosting for -## whatever reason. -tcc-0.9.26 \ - -v \ - -static \ - -o ${bindir}/tcc \ - -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ - -D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \ - -D CONFIG_TCC_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ - -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ - -D TCC_LIBGCC=\"${libdir}/libc.a\" \ - -D CONFIG_TCC_STATIC=1 \ - -D CONFIG_USE_LIBGCC=1 \ - -D TCC_VERSION=\"0.9.27\" \ - -D ONE_SOURCE=1 \ - tcc.c - -# Test -tcc -version - -cd ../.. - -# Checksums -sha256sum -c checksums/tcc-patched