更新 toolchain/build.sh
Signed-off-by: zhao <zhao@noreply.localhost>
This commit is contained in:
parent
2af307a92c
commit
1178572508
@ -1,9 +1,7 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
export Github=https://raw.githubusercontent.com/oppen321/ZeroWrt-Action/refs/heads/master
|
|
||||||
|
|
||||||
# Clone source code
|
# Clone source code
|
||||||
git clone -b openwrt-24.10 --single-branch --filter=blob:none https://github.com/openwrt/openwrt openwrt
|
git clone -b openwrt-24.10 --single-branch --filter=blob:none https://github.com/immortalwrt/immortalwrt openwrt
|
||||||
|
|
||||||
# Enter source code
|
# Enter source code
|
||||||
cd openwrt
|
cd openwrt
|
||||||
@ -12,132 +10,6 @@ cd openwrt
|
|||||||
./scripts/feeds update -a
|
./scripts/feeds update -a
|
||||||
./scripts/feeds install -a
|
./scripts/feeds install -a
|
||||||
|
|
||||||
# x86 - disable mitigations
|
|
||||||
sed -i 's/noinitrd/noinitrd mitigations=off/g' target/linux/x86/image/grub-efi.cfg
|
|
||||||
|
|
||||||
# gcc15 patches
|
|
||||||
curl -s $Github/patch/gcc-15/202-toolchain-gcc-add-support-for-GCC-15.patch | patch -p1
|
|
||||||
|
|
||||||
# GCC Optimization level -O3
|
|
||||||
if [ "$model" = "OpenWrt_Rockchip_v24.10" ]; then
|
|
||||||
curl -s $Github/patch/target-modify_for_rockchip.patch | patch -p1
|
|
||||||
elif [ "$model" = "OpenWrt_X86_64_v24.10" ]; then
|
|
||||||
curl -s $Github/patch/target-modify_for_x86_64.patch | patch -p1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# fix gcc14
|
|
||||||
if [ "$USE_GCC14" = y ] || [ "$USE_GCC15" = y ]; then
|
|
||||||
# linux-atm
|
|
||||||
rm -rf package/network/utils/linux-atm
|
|
||||||
git clone https://github.com/sbwml/package_network_utils_linux-atm package/network/utils/linux-atm
|
|
||||||
# glibc
|
|
||||||
# Added the compiler flag -Wno-implicit-function-declaration to suppress
|
|
||||||
# warnings about implicit function declarations during the build process.
|
|
||||||
# This change addresses build issues in environments where some functions
|
|
||||||
# are used without prior declaration.
|
|
||||||
if [ "$ENABLE_GLIBC" = "y" ]; then
|
|
||||||
# perl
|
|
||||||
sed -i "/Target perl/i\TARGET_CFLAGS_PERL += -Wno-implicit-function-declaration -Wno-int-conversion\n" feeds/packages/lang/perl/Makefile
|
|
||||||
sed -i '/HOST_BUILD_PARALLEL/aPKG_BUILD_FLAGS:=no-mold' feeds/packages/lang/perl/Makefile
|
|
||||||
# lucihttp
|
|
||||||
sed -i "/TARGET_CFLAGS/i\TARGET_CFLAGS += -Wno-implicit-function-declaration" feeds/luci/contrib/package/lucihttp/Makefile
|
|
||||||
# rpcd
|
|
||||||
sed -i "/TARGET_LDFLAGS/i\TARGET_CFLAGS += -Wno-implicit-function-declaration" package/system/rpcd/Makefile
|
|
||||||
# ucode-mod-lua
|
|
||||||
sed -i "/Build\/Configure/i\TARGET_CFLAGS += -Wno-implicit-function-declaration" feeds/luci/contrib/package/ucode-mod-lua/Makefile
|
|
||||||
# luci-base
|
|
||||||
sed -i "s/-DNDEBUG/-DNDEBUG -Wno-implicit-function-declaration/g" feeds/luci/modules/luci-base/src/Makefile
|
|
||||||
# uhttpd
|
|
||||||
sed -i "/Package\/uhttpd\/install/i\TARGET_CFLAGS += -Wno-implicit-function-declaration\n" package/network/services/uhttpd/Makefile
|
|
||||||
# shadow
|
|
||||||
sed -i '/TARGET_LDFLAGS/d' feeds/packages/utils/shadow/Makefile
|
|
||||||
sed -i 's/libxcrypt/openssl/g' feeds/packages/utils/shadow/Makefile
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# fix gcc-15
|
|
||||||
if [ "$USE_GCC15" = y ]; then
|
|
||||||
# Mbedtls
|
|
||||||
curl -s $Github/patch/gcc-15/mbedtls/901-tests-fix-string-initialization-error-on-gcc15.patch > package/libs/mbedtls/patches/901-tests-fix-string-initialization-error-on-gcc15.patch
|
|
||||||
sed -i '/TARGET_CFLAGS/ s/$/ -Wno-error=unterminated-string-initialization/' package/libs/mbedtls/Makefile
|
|
||||||
# elfutils
|
|
||||||
curl -s $Github/patch/gcc-15/elfutils/901-backends-fix-string-initialization-error-on-gcc15.patch > package/libs/elfutils/patches/901-backends-fix-string-initialization-error-on-gcc15.patch
|
|
||||||
# libwebsockets
|
|
||||||
mkdir -p feeds/packages/libs/libwebsockets/patches
|
|
||||||
curl -s $Github/patch/gcc-15/libwebsockets/901-fix-string-initialization-error-on-gcc15.patch > feeds/packages/libs/libwebsockets/patches/901-fix-string-initialization-error-on-gcc15.patch
|
|
||||||
# libxcrypt
|
|
||||||
mkdir -p feeds/packages/libs/libxcrypt/patches
|
|
||||||
curl -s $Github/patch/gcc-15/libxcrypt/901-fix-string-initialization-error-on-gcc15.patch > feeds/packages/libs/libxcrypt/patches/901-fix-string-initialization-error-on-gcc15.patch
|
|
||||||
fi
|
|
||||||
|
|
||||||
# fix gcc-15.0.1 C23
|
|
||||||
if [ "$USE_GCC15" = y ]; then
|
|
||||||
# gmp
|
|
||||||
mkdir -p package/libs/gmp/patches
|
|
||||||
curl -s $Github/patch/gcc-15-c23/gmp/001-fix-build-with-gcc-15.patch > package/libs/gmp/patches/001-fix-build-with-gcc-15.patch
|
|
||||||
# htop
|
|
||||||
mkdir -p feeds/packages/admin/htop/patches
|
|
||||||
curl -s $Github/patch/gcc-15-c23/htop/001-Avoid-compilation-issues-with-ncurses-on-GCC-15.patch > feeds/packages/admin/htop/patches/001-Avoid-compilation-issues-with-ncurses-on-GCC-15.patch
|
|
||||||
# libtirpc
|
|
||||||
sed -i '/TARGET_CFLAGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/libs/libtirpc/Makefile
|
|
||||||
# libsepol
|
|
||||||
sed -i '/HOST_MAKE_FLAGS/i TARGET_CFLAGS += -std=gnu17\n' package/libs/libsepol/Makefile
|
|
||||||
# tree
|
|
||||||
sed -i '/MAKE_FLAGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/utils/tree/Makefile
|
|
||||||
# gdbm
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/libs/gdbm/Makefile
|
|
||||||
# libical
|
|
||||||
sed -i '/CMAKE_OPTIONS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/libs/libical/Makefile
|
|
||||||
# libconfig
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' package/feeds/packages/libconfig/Makefile
|
|
||||||
# lsof
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/utils/lsof/Makefile
|
|
||||||
# screen
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/utils/screen/Makefile
|
|
||||||
# ppp
|
|
||||||
sed -i '/CONFIGURE_VARS/i \\nTARGET_CFLAGS += -std=gnu17\n' package/network/services/ppp/Makefile
|
|
||||||
# vim
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/utils/vim/Makefile
|
|
||||||
# mtd
|
|
||||||
sed -i '/target=/i TARGET_CFLAGS += -std=gnu17\n' package/system/mtd/Makefile
|
|
||||||
# libselinux
|
|
||||||
sed -i '/MAKE_FLAGS/i TARGET_CFLAGS += -std=gnu17\n' package/libs/libselinux/Makefile
|
|
||||||
# avahi
|
|
||||||
sed -i '/TARGET_CFLAGS +=/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/libs/avahi/Makefile
|
|
||||||
# bash
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/utils/bash/Makefile
|
|
||||||
# xl2tpd
|
|
||||||
sed -i '/ifneq (0,0)/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/net/xl2tpd/Makefile
|
|
||||||
# dnsmasq
|
|
||||||
sed -i '/MAKE_FLAGS/i TARGET_CFLAGS += -std=gnu17\n' package/network/services/dnsmasq/Makefile
|
|
||||||
# bluez
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/utils/bluez/Makefile
|
|
||||||
# e2fsprogs
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' package/utils/e2fsprogs/Makefile
|
|
||||||
# f2fs-tools
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' package/utils/f2fs-tools/Makefile
|
|
||||||
# krb5
|
|
||||||
sed -i '/CONFIGURE_VARS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/net/krb5/Makefile
|
|
||||||
# parted
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/utils/parted/Makefile
|
|
||||||
# iperf3
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/net/iperf3/Makefile
|
|
||||||
# db
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/libs/db/Makefile
|
|
||||||
# python3
|
|
||||||
sed -i '/TARGET_CONFIGURE_OPTS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/lang/python/python3/Makefile
|
|
||||||
# uwsgi
|
|
||||||
sed -i '/MAKE_VARS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/net/uwsgi/Makefile
|
|
||||||
# perl
|
|
||||||
sed -i '/Target perl/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/lang/perl/Makefile
|
|
||||||
# rsync
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/net/rsync/Makefile
|
|
||||||
# shine
|
|
||||||
sed -i '/Build\/InstallDev/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/sound/shine/Makefile
|
|
||||||
# jq
|
|
||||||
sed -i '/CONFIGURE_ARGS/i TARGET_CFLAGS += -std=gnu17\n' feeds/packages/utils/jq/Makefile
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Load devices Config
|
# Load devices Config
|
||||||
if [ "$model" = "OpenWrt_Rockchip_v24.10" ]; then
|
if [ "$model" = "OpenWrt_Rockchip_v24.10" ]; then
|
||||||
curl -s https://git.kejizero.online/zhao/files/raw/branch/main/toolchain/Configs/immortalwrt_rockchip.config > .config
|
curl -s https://git.kejizero.online/zhao/files/raw/branch/main/toolchain/Configs/immortalwrt_rockchip.config > .config
|
||||||
@ -145,41 +17,11 @@ elif [ "$model" = "OpenWrt_X86_64_v24.10" ]; then
|
|||||||
curl -s https://git.kejizero.online/zhao/files/raw/branch/main/toolchain/Configs/immortalwrt_x86_64.config > .config
|
curl -s https://git.kejizero.online/zhao/files/raw/branch/main/toolchain/Configs/immortalwrt_x86_64.config > .config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# bpf
|
|
||||||
[ "$ENABLE_BPF" = "y" ] && curl -s $Github/generic/config-bpf >> .config
|
|
||||||
|
|
||||||
# LTO
|
|
||||||
export ENABLE_LTO=$ENABLE_LTO
|
|
||||||
[ "$ENABLE_LTO" = "y" ] && curl -s $Github/generic/config-lto >> .config
|
|
||||||
|
|
||||||
# mold
|
|
||||||
[ "$ENABLE_MOLD" = "y" ] && echo 'CONFIG_USE_MOLD=y' >> .config
|
|
||||||
|
|
||||||
# glibc
|
|
||||||
[ "$ENABLE_GLIBC" = "y" ] && {
|
|
||||||
curl -s $Github/generic/config-glibc >> .config
|
|
||||||
sed -i '/NaiveProxy/d' .config
|
|
||||||
}
|
|
||||||
|
|
||||||
# mold
|
|
||||||
[ "$ENABLE_MOLD" = "y" ] && echo 'CONFIG_USE_MOLD=y' >> .config
|
|
||||||
|
|
||||||
# ccache
|
|
||||||
if [ "$USE_GCC15" = "y" ] && [ "$ENABLE_CCACHE" = "y" ]; then
|
|
||||||
echo "CONFIG_CCACHE=y" >> .config
|
|
||||||
echo "CONFIG_CCACHE_DIR=\"/builder/.ccache\"" >> .config
|
|
||||||
tools_suffix="_ccache"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# gcc14 & 15
|
# gcc14 & 15
|
||||||
if [ "$USE_GCC13" = y ]; then
|
if [ "$USE_GCC13" = y ]; then
|
||||||
export USE_GCC13=y gcc_version=13
|
export USE_GCC13=y gcc_version=13
|
||||||
elif [ "$USE_GCC14" = y ]; then
|
elif [ "$USE_GCC14" = y ]; then
|
||||||
export USE_GCC14=y gcc_version=14
|
export USE_GCC14=y gcc_version=14
|
||||||
elif [ "$USE_GCC15" = y ]; then
|
|
||||||
export USE_GCC15=y gcc_version=15
|
|
||||||
else
|
|
||||||
export USE_GCC14=y gcc_version=14
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# gcc config
|
# gcc config
|
||||||
|
Loading…
Reference in New Issue
Block a user