Compiled on RPI4B-8G with 6.6.47-piCore-v8 on portable SSD Compile Flags: CC="clang --gcc-install-dir=$(echo /usr/local/lib/gcc/*/*)" CXX="clang++ --gcc-install-dir=$(echo /usr/local/lib/gcc/*/*)" CFLAGS='-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe' CXXFLAGS='-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe' EXTRA_C=' -L/usr/local/lib -flto=full -fuse-ld=lld -fno-exceptions -Wno-fortify-source' EXTRA_CXX=' -L/usr/local/lib -flto=full -fuse-ld=lld -fno-exceptions -fno-rtti -Wno-fortify-source' CFLAGS="${CFLAGS}${EXTRA_C}" CXXFLAGS="${CXXFLAGS}${EXTRA_CXX}" LDFLAGS='-Wl,-L/usr/local/lib -Wl,-rpath,/usr/local/lib -Wl,-O1' export CC CXX CFLAGS CXXFLAGS LDFLAGS Dependencies: automake clang coreutils gettext-dev git gtk3-dev libtool-dev lld procps-ng python3.11-setuptools python3.11-dev Commands: # System adjustment, stop python from adding unwanted flags (-g, -O3) # Make these files are modified py1=$(echo /usr/local/lib/python3.*/*-linux-*/Makefile) py2=$(echo /usr/local/lib/python3.*/_sysconfigdata*.py) sudo busybox cp $(realpath $py1) $py1 sudo busybox cp $(realpath $py2) $py2 sudo sed -i 's/-g -fwrapv -O3/-fwrapv/g' $py1 $py2 unset py1 py2 git clone --depth 1 https://github.com/distcc/distcc.git cd distcc/ ############################################ $ git log -n 1 commit bddc1ba84943b2f03ab64d86a733a264bf5ce13f (grafted, HEAD -> master, origin/master, origin/HEAD) Author: Martin Pool Date: Tue Dec 31 09:35:15 2024 -0800 Merge pull request #535 from terence-deng/master Add prototypes to function declaration ############################################ # The team fixed it in recent git commit ### -Wno-strict-prototypes ##patch -Np1 < ../distcc.void.patch # adjust hardcoded file path for TC (/usr/lib --> /usr/local/lib) patch -Np1 < ../distcc.path.patch ./autogen.sh ./configure --prefix=/usr/local --without-libiberty time make -j4 real 0m 28.92s user 1m 12.24s sys 0m 5.49s # packing make install DESTDIR=/tmp/packing-distcc cd /tmp/packing-distcc rm -fr ./usr/local/sbin ./usr/local/lib/python3.11/site-packages/include_server/__pycache__/ ./usr/local/share/man ./usr/local/share/doc/distcc/example ./usr/local/share/doc/distcc/*txt # MASQUERADING mkdir ./usr/local/lib/distcc cd ./usr/local/lib/distcc COMPILER='gfortran aarch64-unknown-linux-gnu-cc aarch64-unknown-linux-gnu-c++ aarch64-unknown-linux-gnu-g++ aarch64-unknown-linux-gnu-gcc c++ cc g++ gcc' for COM in $COMPILER; do ln -s /usr/local/bin/distcc $COM done # /usr/local/tce.installed/distcc cd ../.. mkdir -m 775 tce.installed cp /mnt/sda1/notes/tce-installed/distcc tce.installed/ # strip find -type f -exec head -c4 {} ';' -print | awk '/^\x7fELF/{print(substr($0,5))}' | xargs llvm-strip --strip-unneeded # example file cp /mnt/sda1/notes/extra-files/distcc/tc.sh ./share/doc/distcc/ # commands.allow.sh cat /mnt/sda1/notes/extra-files/distcc/commands.allow.sh > ./etc/distcc/commands.allow.sh # extra deps echo procps-ng.tcz >> distcc.tcz.dep