commit: d98f97e21413efc32c770d0356f1feda66025686
parent f2a0d74bfb8821b8839df1862786724cc71876d5
Author: fosslinux <fosslinux@aussies.space>
Date: Mon, 10 Apr 2023 15:30:16 +1000
Introduce parallelism
By using --cores argument to rootfs.py, JOBS= is set in the
live-bootstrap environment, and -j${JOBS} is used on builds. This speeds
larger packages up significantly.
A fair number of packages do not build properly with parallelism. Most
of these, at least for now, are disabled with -j1.
Diffstat:
74 files changed, 146 insertions(+), 95 deletions(-)
diff --git a/rootfs.py b/rootfs.py
@@ -29,10 +29,11 @@ def create_configuration_file(args):
"""
config_path = os.path.join('sysa', 'bootstrap.cfg')
with open(config_path, "w", encoding="utf_8") as config:
- config.write("FORCE_TIMESTAMPS=" + str(args.force_timestamps) + "\n")
- config.write("CHROOT=" + str(args.chroot or args.bwrap) + "\n")
- config.write("CHROOT_ONLY_SYSA=" + str(args.bwrap) + "\n")
- config.write("UPDATE_CHECKSUMS=" + str(args.update_checksums) + "\n")
+ config.write(f"FORCE_TIMESTAMPS={args.force_timestamps}\n")
+ config.write(f"CHROOT={args.chroot or args.bwrap}\n")
+ config.write(f"CHROOT_ONLY_SYSA={args.bwrap}\n")
+ config.write(f"UPDATE_CHECKSUMS={args.update_checksums}\n")
+ config.write(f"JOBS={args.cores}\n")
config.write("DISK=sda1\n")
if (args.bare_metal or args.qemu) and not args.kernel:
config.write("KERNEL_BOOTSTRAP=True\n")
@@ -61,6 +62,8 @@ def main():
action="store_true")
parser.add_argument("--tmpfs-size", help="Size of the tmpfs",
default="8G")
+ parser.add_argument("--cores", help="Cores to use for building",
+ default=2)
parser.add_argument("--force-timestamps",
help="Force all files timestamps to be 0 unix time",
action="store_true")
@@ -119,6 +122,10 @@ def main():
if args.bwrap and args.tmpfs:
raise ValueError("tmpfs cannot be used with bwrap.")
+ # Cores validation
+ if int(args.cores) < 1:
+ raise ValueError("Must use one or more cores.")
+
# bootstrap.cfg
if args.bare_metal:
args.no_create_config = True
@@ -221,6 +228,7 @@ print(shutil.which('chroot'))
run(args.qemu_cmd,
'-enable-kvm',
'-m', str(args.qemu_ram) + 'M',
+ '-smp', str(args.cores),
'-no-reboot',
'-hda', tmpdir.get_disk("sysc"),
'-nic', 'user,ipv6=off,model=e1000',
@@ -233,6 +241,7 @@ print(shutil.which('chroot'))
run(args.qemu_cmd,
'-enable-kvm',
'-m', "4G",
+ '-smp', str(args.cores),
'-no-reboot',
'-drive', 'file=' + os.path.join(system_a.tmp_dir, 'sysa.img') + ',format=raw',
'-machine', 'kernel-irqchip=split',
diff --git a/sysa/autoconf-2.53/autoconf-2.53.sh b/sysa/autoconf-2.53/autoconf-2.53.sh
@@ -31,7 +31,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true DESTDIR="${DESTDIR}"
+ make "${MAKEJOBS}" MAKEINFO=true DESTDIR="${DESTDIR}"
}
src_install() {
diff --git a/sysa/autoconf-2.54/autoconf-2.54.sh b/sysa/autoconf-2.54/autoconf-2.54.sh
@@ -33,7 +33,7 @@ src_compile() {
# Workaround for racy make dependencies
make -C bin autom4te
make -C lib
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/autoconf-2.55/autoconf-2.55.sh b/sysa/autoconf-2.55/autoconf-2.55.sh
@@ -27,7 +27,7 @@ src_compile() {
make -C bin autom4te
make -C lib
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/autoconf-2.57/autoconf-2.57.sh b/sysa/autoconf-2.57/autoconf-2.57.sh
@@ -25,7 +25,7 @@ src_compile() {
# Workaround for racy make dependencies
make -C bin autom4te
make -C lib
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/autoconf-2.59/autoconf-2.59.sh b/sysa/autoconf-2.59/autoconf-2.59.sh
@@ -25,7 +25,7 @@ src_compile() {
# Workaround for racy make dependencies
make -C bin autom4te
make -C lib
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/autoconf-2.61/autoconf-2.61.sh b/sysa/autoconf-2.61/autoconf-2.61.sh
@@ -19,7 +19,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make -j1 MAKEINFO=true PREFIX="${PREFIX}"
}
src_install() {
diff --git a/sysa/autoconf-2.64/autoconf-2.64.sh b/sysa/autoconf-2.64/autoconf-2.64.sh
@@ -18,7 +18,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/autoconf-2.69/autoconf-2.69.sh b/sysa/autoconf-2.69/autoconf-2.69.sh
@@ -18,7 +18,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/automake-1.10.3/automake-1.10.3.sh b/sysa/automake-1.10.3/automake-1.10.3.sh
@@ -19,7 +19,7 @@ src_configure() {
}
src_compile() {
- AUTOM4TE=autom4te-2.61 make MAKEINFO=true CC=tcc
+ AUTOM4TE=autom4te-2.61 make "${MAKEJOBS}" MAKEINFO=true CC=tcc
}
src_install() {
diff --git a/sysa/automake-1.11.2/automake-1.11.2.sh b/sysa/automake-1.11.2/automake-1.11.2.sh
@@ -20,7 +20,7 @@ src_configure() {
}
src_compile() {
- AUTORECONF=autoreconf-2.64 AUTOM4TE=autom4te-2.64 AUTOHEADER=autoheader-2.64 AUTOCONF=autoconf-2.64 make MAKEINFO=true
+ AUTORECONF=autoreconf-2.64 AUTOM4TE=autom4te-2.64 AUTOHEADER=autoheader-2.64 AUTOCONF=autoconf-2.64 make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/automake-1.15.1/automake-1.15.1.sh b/sysa/automake-1.15.1/automake-1.15.1.sh
@@ -22,7 +22,7 @@ src_configure() {
}
src_compile() {
- AUTORECONF=autoreconf-2.69 AUTOM4TE=autom4te-2.69 AUTOHEADER=autoheader-2.69 AUTOCONF=autoconf-2.69 make MAKEINFO=true
+ AUTORECONF=autoreconf-2.69 AUTOM4TE=autom4te-2.69 AUTOHEADER=autoheader-2.69 AUTOCONF=autoconf-2.69 make -j1 MAKEINFO=true
}
src_install() {
diff --git a/sysa/automake-1.7.8/automake-1.7.8.sh b/sysa/automake-1.7.8/automake-1.7.8.sh
@@ -13,7 +13,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/automake-1.7/automake-1.7.sh b/sysa/automake-1.7/automake-1.7.sh
@@ -15,7 +15,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/automake-1.8.5/automake-1.8.5.sh b/sysa/automake-1.8.5/automake-1.8.5.sh
@@ -13,7 +13,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/automake-1.9.6/automake-1.9.6.sh b/sysa/automake-1.9.6/automake-1.9.6.sh
@@ -14,7 +14,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/bash-2.05b/bash-2.05b.sh b/sysa/bash-2.05b/bash-2.05b.sh
@@ -39,6 +39,10 @@ src_configure() {
bash_cv_dev_fd=whacky
}
+src_compile() {
+ make -j1
+}
+
src_install() {
install -D bash "${DESTDIR}${PREFIX}/bin/bash"
# Work around weird symlink bug
diff --git a/sysa/bc-1.07.1/bc-1.07.1.sh b/sysa/bc-1.07.1/bc-1.07.1.sh
@@ -18,4 +18,3 @@ src_configure() {
./configure --prefix="${PREFIX}" \
--build=i386-unknown-linux-musl
}
-
diff --git a/sysa/binutils-2.30/binutils-2.30.sh b/sysa/binutils-2.30/binutils-2.30.sh
@@ -88,7 +88,7 @@ src_configure() {
src_compile() {
make -C bfd headers
for dir in libiberty zlib bfd opcodes binutils gas gprof ld; do
- make -C $dir tooldir=${PREFIX} CPPFLAGS="-DPLUGIN_LITTLE_ENDIAN" MAKEINFO=true
+ make "${MAKEJOBS}" -C $dir tooldir=${PREFIX} CPPFLAGS="-DPLUGIN_LITTLE_ENDIAN" MAKEINFO=true
done
}
diff --git a/sysa/bison-3.4.1/stage1.sh b/sysa/bison-3.4.1/stage1.sh
@@ -19,3 +19,7 @@ src_prepare() {
cp ../../mk/lib.mk lib/Makefile
cp ../../mk/src.mk src/Makefile
}
+
+src_compile() {
+ make -j1 -f Makefile PREFIX="${PREFIX}"
+}
diff --git a/sysa/bison-3.4.1/stage2.sh b/sysa/bison-3.4.1/stage2.sh
@@ -19,3 +19,7 @@ src_prepare() {
cp ../../mk/lib.mk lib/Makefile
cp ../../mk/src.mk src/Makefile
}
+
+src_compile() {
+ make -j1 -f Makefile PREFIX="${PREFIX}"
+}
diff --git a/sysa/bison-3.4.1/stage3.sh b/sysa/bison-3.4.1/stage3.sh
@@ -16,3 +16,7 @@ src_prepare() {
cp ../../mk/lib.mk lib/Makefile
cp ../../mk/src.mk src/Makefile
}
+
+src_compile() {
+ make -j1 -f Makefile PREFIX="${PREFIX}"
+}
diff --git a/sysa/bzip2-1.0.8/bzip2-1.0.8.sh b/sysa/bzip2-1.0.8/bzip2-1.0.8.sh
@@ -9,7 +9,7 @@ src_prepare() {
}
src_compile() {
- make CC=tcc AR="tcc -ar" bzip2
+ make "${MAKEJOBS}" CC=tcc AR="tcc -ar" bzip2
}
src_install() {
diff --git a/sysa/findutils-4.2.33/findutils-4.2.33.sh b/sysa/findutils-4.2.33/findutils-4.2.33.sh
@@ -25,7 +25,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true DESTDIR="${DESTDIR}"
+ make "${MAKEJOBS}" MAKEINFO=true DESTDIR="${DESTDIR}"
}
src_install() {
diff --git a/sysa/flex-2.5.11/flex-2.5.11.sh b/sysa/flex-2.5.11/flex-2.5.11.sh
@@ -11,6 +11,10 @@ src_prepare() {
rm parse.c parse.h scan.c skel.c
}
+src_compile() {
+ make -j1 PREFIX="${PREFIX}"
+}
+
src_install() {
if test -d /lex; then
# Remove lex, later make install will symlink lex to flex
diff --git a/sysa/flex-2.6.4/flex-2.6.4.sh b/sysa/flex-2.6.4/flex-2.6.4.sh
@@ -12,7 +12,7 @@ src_prepare() {
src_compile() {
cd src
- default
+ make -j1 PREFIX="${PREFIX}"
cd ..
}
diff --git a/sysa/gcc-4.0.4/pass1.sh b/sysa/gcc-4.0.4/pass1.sh
@@ -93,7 +93,7 @@ src_compile() {
mkdir build/gcc/include
ln -s ../../../gcc/gsyslimits.h build/gcc/include/syslimits.h
for dir in libiberty libcpp gcc; do
- make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" STMP_FIXINC=
+ make "${MAKEJOBS}" -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" STMP_FIXINC=
done
}
diff --git a/sysa/gcc-4.0.4/pass2.sh b/sysa/gcc-4.0.4/pass2.sh
@@ -87,7 +87,7 @@ src_configure() {
src_compile() {
ln -s . build/build-i386-unknown-linux-musl
for dir in libiberty libcpp gcc; do
- make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" STMP_FIXINC=
+ make "${MAKEJOBS}" -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" STMP_FIXINC=
done
}
diff --git a/sysa/help2man-1.36.4/help2man-1.36.4.sh b/sysa/help2man-1.36.4/help2man-1.36.4.sh
@@ -18,7 +18,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/helpers.sh b/sysa/helpers.sh
@@ -321,7 +321,7 @@ default_src_configure() {
# Default function for compiling source. It simply runs make without any parameters.
default_src_compile() {
- make -f Makefile PREFIX="${PREFIX}"
+ make "${MAKEJOBS}" -f Makefile PREFIX="${PREFIX}"
}
# Default installing function. PREFIX should be set by run.sh script.
diff --git a/sysa/kbd-1.15/kbd-1.15.sh b/sysa/kbd-1.15/kbd-1.15.sh
@@ -22,7 +22,7 @@ src_configure() {
src_compile() {
# Missing dependency in Makefile
flex -o src/analyze.c src/analyze.l
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysa/libtool-2.2.4/libtool-2.2.4.sh b/sysa/libtool-2.2.4/libtool-2.2.4.sh
@@ -29,7 +29,7 @@ src_configure() {
}
src_compile() {
- make AUTOM4TE=autom4te-2.61 MAKEINFO=true
+ make "${MAKEJOBS}" AUTOM4TE=autom4te-2.61 MAKEINFO=true
}
src_install() {
diff --git a/sysa/linux-4.9.10/linux-4.9.10.sh b/sysa/linux-4.9.10/linux-4.9.10.sh
@@ -50,8 +50,8 @@ src_compile() {
generate_autoconf_h
# Allow use of patched initramfs_list.sh (which is required anyway)
- make ARCH=i386 prepare
- PATH="${PWD}/usr:${PATH}" make ARCH=i386
+ make "${MAKEJOBS}" ARCH=i386 prepare
+ PATH="${PWD}/usr:${PATH}" make "${MAKEJOBS}" ARCH=i386
# Clear up more space
find . -name '*.o' -delete
diff --git a/sysa/make-3.82/make-3.82.sh b/sysa/make-3.82/make-3.82.sh
@@ -20,7 +20,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO="true"
+ make "${MAKEJOBS}" MAKEINFO="true"
}
src_install() {
diff --git a/sysa/musl-1.1.24/binutils-rebuild.sh b/sysa/musl-1.1.24/binutils-rebuild.sh
@@ -24,7 +24,7 @@ src_configure() {
}
src_compile() {
- make PREFIX="${PREFIX}" CROSS_COMPILE= CFLAGS="-DSYSCALL_NO_TLS" AS_CMD='as -o $@ $<'
+ make "${MAKEJOBS}" PREFIX="${PREFIX}" CROSS_COMPILE= CFLAGS="-DSYSCALL_NO_TLS" AS_CMD='as -o $@ $<'
}
src_install() {
diff --git a/sysa/musl-1.1.24/musl-1.1.24.sh b/sysa/musl-1.1.24/musl-1.1.24.sh
@@ -27,5 +27,5 @@ src_configure() {
}
src_compile() {
- make CROSS_COMPILE= AR="tcc -ar" RANLIB=true CFLAGS="-DSYSCALL_NO_TLS"
+ make "${MAKEJOBS}" CROSS_COMPILE= AR="tcc -ar" RANLIB=true CFLAGS="-DSYSCALL_NO_TLS"
}
diff --git a/sysa/musl-1.2.3/musl-1.2.3.sh b/sysa/musl-1.2.3/musl-1.2.3.sh
@@ -29,5 +29,5 @@ src_configure() {
}
src_compile() {
- make CROSS_COMPILE=
+ make "${MAKEJOBS}" CROSS_COMPILE=
}
diff --git a/sysa/perl-5.6.2/perl-5.6.2.sh b/sysa/perl-5.6.2/perl-5.6.2.sh
@@ -34,6 +34,10 @@ src_prepare() {
sed -i "s#/usr/include/errno.h#${PREFIX}/include/musl/bits/errno.h#" ext/Errno/Errno_pm.PL
}
+src_compile() {
+ make -j1 PREFIX="${PREFIX}"
+}
+
src_install() {
# Remove old perl
rm -rf "${PREFIX}"/lib/perl5/
diff --git a/sysa/run.sh b/sysa/run.sh
@@ -21,6 +21,13 @@ SRCDIR="${srcdir}"
# shellcheck source=sysa/helpers.sh
. helpers.sh
+if [ "${KERNEL_BOOTSTRAP}" ]; then
+ # Fiwix does not support SMP
+ MAKEJOBS="-j1"
+else
+ MAKEJOBS="-j${JOBS}"
+fi
+
# Ask some questions
echo
echo "Now that bash has been built, there are potentially some questions for you!"
@@ -178,6 +185,7 @@ SOURCES=${SOURCES}
DESTDIR=${DESTDIR}
DISTFILES=${DISTFILES}
SRCDIR=${SRCDIR}
+MAKEJOBS=${MAKEJOBS}
EOF
exec env -i bash run2.sh
diff --git a/sysa/sed-4.0.9/sed-4.0.9.sh b/sysa/sed-4.0.9/sed-4.0.9.sh
@@ -8,6 +8,10 @@ src_prepare() {
touch config.h
}
+src_compile() {
+ make -j1 PREFIX="${PREFIX}"
+}
+
src_install() {
default
}
diff --git a/sysc/autoconf-2.71/autoconf-2.71.sh b/sysc/autoconf-2.71/autoconf-2.71.sh
@@ -15,7 +15,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysc/autoconf-archive-2021.02.19/autoconf-archive-2021.02.19.sh b/sysc/autoconf-archive-2021.02.19/autoconf-archive-2021.02.19.sh
@@ -11,7 +11,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true DESTDIR="${DESTDIR}"
+ make "${MAKEJOBS}" MAKEINFO=true DESTDIR="${DESTDIR}"
}
src_install() {
diff --git a/sysc/autogen-5.18.16/autogen-5.18.16.sh b/sysc/autogen-5.18.16/autogen-5.18.16.sh
@@ -47,7 +47,7 @@ src_compile() {
--disable-shared \
--enable-timeout=15
touch doc/agdoc.texi # build later
- make CFLAGS=-Wno-error
+ make -j1 CFLAGS=-Wno-error
# Fix non-reproducible man-page
awk '{gsub("\\(/tmp/.*", "", $7); print}' agen5/autogen.1 > autogen.1
diff --git a/sysc/automake-1.16.3/automake-1.16.3.sh b/sysc/automake-1.16.3/automake-1.16.3.sh
@@ -15,7 +15,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysc/bash-5.2.15/bash-5.2.15.sh b/sysc/bash-5.2.15/bash-5.2.15.sh
@@ -47,6 +47,10 @@ src_configure() {
bash_cv_dev_fd=whacky
}
+src_compile() {
+ make -j1 PREFIX="${PREFIX}"
+}
+
src_install() {
install -D bash "${DESTDIR}${PREFIX}/bin/bash"
# Work around weird symlink bug
diff --git a/sysc/binutils-2.38/binutils-2.38.sh b/sysc/binutils-2.38/binutils-2.38.sh
@@ -89,7 +89,7 @@ src_configure() {
src_compile() {
make -C bfd headers
for dir in libiberty bfd opcodes libctf binutils gas gprof ld; do
- make -C $dir tooldir=${PREFIX} CFLAGS="-std=c99"
+ make "${MAKEJOBS}" -C $dir tooldir=${PREFIX} CFLAGS="-std=c99"
done
}
diff --git a/sysc/bison-2.3/bison-2.3.sh b/sysc/bison-2.3/bison-2.3.sh
@@ -26,7 +26,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make -j1 MAKEINFO=true
}
src_install() {
diff --git a/sysc/bison-3.4.2/bison-3.4.2.sh b/sysc/bison-3.4.2/bison-3.4.2.sh
@@ -27,7 +27,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make -j1 MAKEINFO=true
}
src_install() {
diff --git a/sysc/coreutils-8.32/coreutils-8.32.sh b/sysc/coreutils-8.32/coreutils-8.32.sh
@@ -42,7 +42,7 @@ src_configure() {
}
src_compile() {
- make PREFIX="${PREFIX}" MAKEINFO="true"
+ make "${MAKEJOBS}" PREFIX="${PREFIX}" MAKEINFO="true"
}
src_install() {
diff --git a/sysc/flex-2.5.33/flex-2.5.33.sh b/sysc/flex-2.5.33/flex-2.5.33.sh
@@ -22,7 +22,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysc/gc-8.0.4/gc-8.0.4.sh b/sysc/gc-8.0.4/gc-8.0.4.sh
@@ -11,6 +11,6 @@ src_configure() {
./configure \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
- --disable-shared \
+ --disable-shared \
CFLAGS='-D_GNU_SOURCE -DNO_GETCONTEXT -DSEARCH_FOR_DATA_START -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR'
}
diff --git a/sysc/gcc-4.7.4/gcc-4.7.4.sh b/sysc/gcc-4.7.4/gcc-4.7.4.sh
@@ -125,15 +125,15 @@ src_compile() {
ln -s . build/build-i386-unknown-linux-musl
for dir in libiberty libcpp libdecnumber gcc; do
# We have makeinfo now but it is not happy with gcc .info files, so skip it
- make -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" \
+ make "${MAKEJOBS}" -C build/$dir LIBGCC2_INCLUDES=-I"${PREFIX}/include" \
STMP_FIXINC= GMPLIBS="-lmpc -lmpfr -lgmp" MAKEINFO=true
done
# host_subdir is necessary because we have slightly different build directory layout
- make -C build/libgcc PATH="${PATH}:../gcc" CC=../gcc/xgcc \
+ make "${MAKEJOBS}" -C build/libgcc PATH="${PATH}:../gcc" CC=../gcc/xgcc \
host_subdir=build CFLAGS="-I../gcc/include -I/${PREFIX}/include"
- make -C build/libstdc++-v3 PATH="${PATH}:${PWD}/build/gcc" \
+ make "${MAKEJOBS}" -C build/libstdc++-v3 PATH="${PATH}:${PWD}/build/gcc" \
CXXFLAGS="-I${PWD}/build/gcc/include -I ${PREFIX}/include"
}
diff --git a/sysc/gettext-0.21/gettext-0.21.sh b/sysc/gettext-0.21/gettext-0.21.sh
@@ -21,7 +21,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true CFLAGS="-I${PWD}/libtextstyle/lib"
+ make "${MAKEJOBS}" MAKEINFO=true CFLAGS="-I${PWD}/libtextstyle/lib"
}
src_install() {
diff --git a/sysc/gmp-6.2.1/gmp-6.2.1.sh b/sysc/gmp-6.2.1/gmp-6.2.1.sh
@@ -23,7 +23,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true DESTDIR="${DESTDIR}"
+ make "${MAKEJOBS}" MAKEINFO=true DESTDIR="${DESTDIR}"
}
src_install() {
diff --git a/sysc/init b/sysc/init
@@ -21,6 +21,8 @@ export SOURCE_DATE_EPOCH=0
# shellcheck source=sysa/helpers.sh
. "${SOURCES}/helpers.sh"
+MAKEJOBS="-j${JOBS}"
+
echo
echo "Installing packages into sysc"
@@ -75,6 +77,7 @@ SOURCES=${SOURCES}
DESTDIR=${DESTDIR}
DISTFILES=${DISTFILES}
SRCDIR=${SRCDIR}
+MAKEJOBS=${MAKEJOBS}
EOF
exec ./run.sh
diff --git a/sysc/libarchive-3.5.2/libarchive-3.5.2.sh b/sysc/libarchive-3.5.2/libarchive-3.5.2.sh
@@ -14,7 +14,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysc/libtool-2.4.7/libtool-2.4.7.sh b/sysc/libtool-2.4.7/libtool-2.4.7.sh
@@ -35,7 +35,7 @@ src_configure() {
}
src_compile() {
- make AUTOM4TE=autom4te-2.69 MAKEINFO=true
+ make "${MAKEJOBS}" AUTOM4TE=autom4te-2.69 MAKEINFO=true
}
src_install() {
diff --git a/sysc/make-4.2.1/make-4.2.1.sh b/sysc/make-4.2.1/make-4.2.1.sh
@@ -21,7 +21,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO="true"
+ make "${MAKEJOBS}" MAKEINFO="true"
}
src_install() {
diff --git a/sysc/mpc-1.2.1/mpc-1.2.1.sh b/sysc/mpc-1.2.1/mpc-1.2.1.sh
@@ -17,7 +17,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true DESTDIR="${DESTDIR}"
+ make "${MAKEJOBS}" MAKEINFO=true DESTDIR="${DESTDIR}"
}
src_install() {
diff --git a/sysc/mpfr-4.1.0/mpfr-4.1.0.sh b/sysc/mpfr-4.1.0/mpfr-4.1.0.sh
@@ -20,7 +20,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true DESTDIR="${DESTDIR}"
+ make "${MAKEJOBS}" MAKEINFO=true DESTDIR="${DESTDIR}"
}
src_install() {
diff --git a/sysc/musl-1.2.3/musl-1.2.3.sh b/sysc/musl-1.2.3/musl-1.2.3.sh
@@ -13,7 +13,7 @@ src_configure() {
}
src_compile() {
- make CROSS_COMPILE=
+ make "${MAKEJOBS}" CROSS_COMPILE=
}
src_install() {
diff --git a/sysc/patch-2.7.6/patch-2.7.6.sh b/sysc/patch-2.7.6/patch-2.7.6.sh
@@ -16,7 +16,7 @@ src_configure() {
}
src_compile() {
- make MAKEINFO=true
+ make "${MAKEJOBS}" MAKEINFO=true
}
src_install() {
diff --git a/sysc/python-2.0.1/stage1.sh b/sysc/python-2.0.1/stage1.sh
@@ -36,11 +36,11 @@ src_configure() {
src_compile() {
# Build pgen
pushd Parser
- make pgen
+ make -j1 pgen
popd
# Regen graminit.c and graminit.h
pushd Grammar
- make graminit.c
+ make -j1 graminit.c
popd
# Regenerate some Python scripts using the other regenerated files
@@ -56,7 +56,7 @@ src_compile() {
mv Lib/token.py.new Lib/token.py
# Now build the main program
- make
+ make -j1
}
src_install() {
diff --git a/sysc/python-2.0.1/stage2.sh b/sysc/python-2.0.1/stage2.sh
@@ -35,11 +35,11 @@ src_configure() {
src_compile() {
# Build pgen
pushd Parser
- make pgen
+ make -j1 pgen
popd
# Regen graminit.c and graminit.h
pushd Grammar
- make graminit.c
+ make -j1 graminit.c
popd
# Regenerate some Python scripts using the other regenerated files
@@ -55,7 +55,7 @@ src_compile() {
mv Lib/token.py.new Lib/token.py
# Now build the main program
- make
+ make -j1
}
src_install() {
diff --git a/sysc/python-2.3.7/stage1.sh b/sysc/python-2.3.7/stage1.sh
@@ -46,9 +46,9 @@ src_configure() {
src_compile() {
# Build pgen
- make Parser/pgen
+ make "${MAKEJOBS}" Parser/pgen
# Regen graminit.c and graminit.h
- make Include/graminit.h
+ make "${MAKEJOBS}" Include/graminit.h
# Regenerate some Python scripts using the other regenerated files
# Must move them out to avoid using Lib/ module files which are
@@ -59,7 +59,7 @@ src_compile() {
python token.py
# Now build the main program
- make CFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/python-2.3.7/stage2.sh b/sysc/python-2.3.7/stage2.sh
@@ -47,9 +47,9 @@ src_configure() {
src_compile() {
# Build pgen
- make Parser/pgen
+ make "${MAKEJOBS}" Parser/pgen
# Regen graminit.c and graminit.h
- make Include/graminit.h
+ make "${MAKEJOBS}" Include/graminit.h
# Regenerate some Python scripts using the other regenerated files
# Must move them out to avoid using Lib/ module files which are
@@ -60,7 +60,7 @@ src_compile() {
python token.py
# Now build the main program
- make CFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/python-2.5.6/python-2.5.6.sh b/sysc/python-2.5.6/python-2.5.6.sh
@@ -58,9 +58,9 @@ src_compile() {
# Temporarily break include cycle
patch -Np0 -i graminit-regen.patch
# Build pgen
- make Parser/pgen
+ make "${MAKEJOBS}" Parser/pgen
# Regen graminit.c and graminit.h
- make Include/graminit.h
+ make "${MAKEJOBS}" Include/graminit.h
# Regenerate some Python scripts using the other regenerated files
# Must move them out to avoid using Lib/ module files which are
@@ -73,7 +73,7 @@ src_compile() {
# Undo change
patch -Np0 -R -i graminit-regen.patch
# Now build the main program
- make CFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/python-3.1.5/stage1.sh b/sysc/python-3.1.5/stage1.sh
@@ -52,9 +52,9 @@ src_compile() {
# Temporarily break include cycle
patch -Np0 -i graminit-regen.patch
# Build pgen
- make Parser/pgen
+ make "${MAKEJOBS}" Parser/pgen
# Regen graminit.c and graminit.h
- make Include/graminit.h
+ make "${MAKEJOBS}" Include/graminit.h
# Regenerate some Python scripts using the other regenerated files
# Must move them out to avoid using Lib/ module files which are
@@ -67,7 +67,7 @@ src_compile() {
# Undo change
patch -Np0 -R -i graminit-regen.patch
# Now build the main program
- make CFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/python-3.1.5/stage2.sh b/sysc/python-3.1.5/stage2.sh
@@ -57,9 +57,9 @@ src_compile() {
# Temporarily break include cycle
patch -Np0 -i graminit-regen.patch
# Build pgen
- make Parser/pgen
+ make "${MAKEJOBS}" Parser/pgen
# Regen graminit.c and graminit.h
- make Include/graminit.h
+ make "${MAKEJOBS}" Include/graminit.h
# Regenerate some Python scripts using the other regenerated files
# Must move them out to avoid using Lib/ module files which are
@@ -72,7 +72,7 @@ src_compile() {
# Undo change
patch -Np0 -R -i graminit-regen.patch
# Now build the main program
- make CFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/python-3.11.1/python-3.11.1.sh b/sysc/python-3.11.1/python-3.11.1.sh
@@ -69,7 +69,7 @@ src_compile() {
# We have to choose the order ourselves because the Makefile is extremely lax about the order
# First of all, do everything that doesn't use any C
rm Modules/_blake2/blake2s_impl.c
- make regen-opcode \
+ make "${MAKEJOBS}" regen-opcode \
regen-opcode-targets \
regen-typeslots \
regen-token \
@@ -82,17 +82,17 @@ src_compile() {
regen-global-objects
# Do the freeze regen process
- make regen-frozen
- make regen-deepfreeze
- make regen-global-objects
+ make "${MAKEJOBS}" regen-frozen
+ make "${MAKEJOBS}" regen-deepfreeze
+ make "${MAKEJOBS}" regen-global-objects
- make CPPFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CPPFLAGS="-U__DATE__ -U__TIME__"
# Regen Python/stdlib_module_names.h (you must have an existing build first)
- make regen-stdlib-module-names
+ make "${MAKEJOBS}" regen-stdlib-module-names
# Now rebuild with proper stdlib_module_names.h
- make CPPFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CPPFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/python-3.3.7/python-3.3.7.sh b/sysc/python-3.3.7/python-3.3.7.sh
@@ -55,9 +55,9 @@ src_configure() {
src_compile() {
# Build pgen
- make Parser/pgen
+ make "${MAKEJOBS}" Parser/pgen
# Regen graminit.c and graminit.h
- make Include/graminit.h
+ make "${MAKEJOBS}" Include/graminit.h
# Regenerate some Python scripts using the other regenerated files
# Must move them out to avoid using Lib/ module files which are
@@ -69,7 +69,7 @@ src_compile() {
python token.py
# Now build the main program
- make CFLAGS="-U__DATE__ -U__TIME__"
+ make -j1 CFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/python-3.4.10/python-3.4.10.sh b/sysc/python-3.4.10/python-3.4.10.sh
@@ -58,9 +58,9 @@ src_configure() {
src_compile() {
# Build pgen
- make Parser/pgen
+ make -j1 Parser/pgen
# Regen graminit.c and graminit.h
- make Include/graminit.h
+ make "${MAKEJOBS}" Include/graminit.h
# Regenerate some Python scripts using the other regenerated files
# Must move them out to avoid using Lib/ module files which are
@@ -72,7 +72,7 @@ src_compile() {
python token.py
# Now build the main program
- make CFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/python-3.8.16/python-3.8.16.sh b/sysc/python-3.8.16/python-3.8.16.sh
@@ -53,9 +53,9 @@ src_configure() {
src_compile() {
# Regenerations
rm Modules/_blake2/blake2s_impl.c
- make regen-all
+ make "${MAKEJOBS}" regen-all
- make CPPFLAGS="-U__DATE__ -U__TIME__"
+ make "${MAKEJOBS}" CPPFLAGS="-U__DATE__ -U__TIME__"
}
src_install() {
diff --git a/sysc/tar-1.34/tar-1.34.sh b/sysc/tar-1.34/tar-1.34.sh
@@ -27,7 +27,7 @@ src_configure() {
}
src_compile() {
- make PREFIX="${PREFIX}" MAKEINFO="true"
+ make "${MAKEJOBS}" PREFIX="${PREFIX}" MAKEINFO="true"
}
src_install() {