mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2025-12-05 09:44:20 +01:00
commit
90f9812283
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@ -37,7 +37,7 @@ jobs:
|
||||
- name: Upload to Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Clover-GCC-15.1.0-${{ env.GIT_SHA }}
|
||||
name: Clover-GCC-15.2.0-${{ env.GIT_SHA }}
|
||||
path: |
|
||||
*.7z
|
||||
CloverV2*.zip
|
||||
|
||||
@ -133,6 +133,7 @@ DEFINE GCC53_IA32_PREFIX = ENV(GCC53_BIN)
|
||||
DEFINE GCC53_X64_PREFIX = ENV(GCC53_BIN)
|
||||
DEFINE GCC131_X64_PREFIX = ENV(GCC131_BIN)
|
||||
DEFINE GCC151_X64_PREFIX = ENV(GCC151_BIN)
|
||||
DEFINE GCC152_X64_PREFIX = ENV(GCC152_BIN)
|
||||
|
||||
DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl
|
||||
DEFINE WIN_IASL_BIN = ENV(IASL_PREFIX)iasl.exe
|
||||
@ -2124,6 +2125,13 @@ DEFINE GCC151_IA32_X64_DLINK_FLAGS = DEF(GCC151_IA32_X64_DLINK_COMMON),--entr
|
||||
DEFINE GCC151_X64_DLINK_FLAGS = DEF(GCC151_IA32_X64_DLINK_FLAGS),-melf_x86_64,-znoexecstack,--oformat=elf64-x86-64,-pie
|
||||
DEFINE GCC151_ASM_FLAGS = DEF(GCC49_ASM_FLAGS)
|
||||
|
||||
DEFINE GCC152_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -fno-unwind-tables -Wno-incompatible-ms-struct -Wno-misleading-indentation -mms-bitfields -fno-ms-extensions -ffreestanding -fno-exceptions
|
||||
DEFINE GCC152_IA32_X64_DLINK_COMMON = -nostdlib -Wl,--no-warn-rwx-segments,--gc-sections,-n,-q,--gc-sections,-z,common-page-size=0x40,--defsym=PECOFF_HEADER_SIZE=0x240,--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
|
||||
DEFINE GCC152_IA32_X64_ASLDLINK_FLAGS = DEF(GCC152_IA32_X64_DLINK_COMMON),--entry,ReferenceAcpiTable,-u,ReferenceAcpiTable
|
||||
DEFINE GCC152_IA32_X64_DLINK_FLAGS = DEF(GCC152_IA32_X64_DLINK_COMMON),--entry,$(IMAGE_ENTRY_POINT),-u,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
|
||||
DEFINE GCC152_X64_DLINK_FLAGS = DEF(GCC152_IA32_X64_DLINK_FLAGS),-melf_x86_64,-znoexecstack,--oformat=elf64-x86-64,-pie
|
||||
DEFINE GCC152_ASM_FLAGS = DEF(GCC49_ASM_FLAGS)
|
||||
|
||||
|
||||
|
||||
####################################################################################
|
||||
@ -2641,6 +2649,63 @@ RELEASE_GCC151_X64_CC_FLAGS = DEF(GCC151_X64_CC_FLAGS) -Os -Werror
|
||||
DEBUG_GCC151_X64_CXX_FLAGS = DEF(GCC151_X64_CC_FLAGS) -g3 -O0
|
||||
RELEASE_GCC151_X64_CXX_FLAGS = DEF(GCC151_X64_CC_FLAGS) -Os -Werror
|
||||
|
||||
|
||||
####################################################################################
|
||||
#
|
||||
# GCC 15.2 - This configuration is used to compile under Linux/MacOSX to produce
|
||||
# PE/COFF binaries using GCC 15.2.
|
||||
#
|
||||
####################################################################################
|
||||
*_GCC152_*_*_FAMILY = GCC
|
||||
*_GCC152_*_*_BUILDRULEORDER = nasm S s
|
||||
|
||||
*_GCC152_*_MAKE_PATH = make
|
||||
|
||||
*_GCC152_*_*_DLL = ENV(GCC152_DLL)
|
||||
|
||||
*_GCC152_X64_GCCLINK_PREFIX = -Wl,
|
||||
|
||||
*_GCC152_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
||||
|
||||
*_GCC152_*_NASM_PATH = ENV(NASM_PREFIX)nasm
|
||||
|
||||
*_GCC152_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
||||
*_GCC152_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
|
||||
*_GCC152_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
|
||||
*_GCC152_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
|
||||
*_GCC152_*_APP_FLAGS =
|
||||
*_GCC152_*_ASL_FLAGS = DEF(IASL_FLAGS)
|
||||
*_GCC152_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
|
||||
|
||||
##################
|
||||
# GCC152 X64 definitions
|
||||
##################
|
||||
*_GCC152_X64_OBJCOPY_PATH = DEF(GCC152_X64_PREFIX)objcopy
|
||||
*_GCC152_X64_CC_PATH = DEF(GCC152_X64_PREFIX)gcc
|
||||
*_GCC152_X64_CXX_PATH = DEF(GCC152_X64_PREFIX)g++
|
||||
*_GCC152_X64_SLINK_PATH = DEF(GCC152_X64_PREFIX)gcc-ar
|
||||
*_GCC152_X64_DLINK_PATH = DEF(GCC152_X64_PREFIX)gcc
|
||||
*_GCC152_X64_ASLDLINK_PATH = DEF(GCC152_X64_PREFIX)gcc
|
||||
*_GCC152_X64_ASM_PATH = DEF(GCC152_X64_PREFIX)gcc
|
||||
*_GCC152_X64_PP_PATH = DEF(GCC152_X64_PREFIX)gcc
|
||||
*_GCC152_X64_VFRPP_PATH = DEF(GCC152_X64_PREFIX)gcc
|
||||
*_GCC152_X64_ASLCC_PATH = DEF(GCC152_X64_PREFIX)gcc
|
||||
*_GCC152_X64_ASLPP_PATH = DEF(GCC152_X64_PREFIX)gcc
|
||||
*_GCC152_X64_RC_PATH = DEF(GCC152_X64_PREFIX)objcopy
|
||||
|
||||
*_GCC152_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64
|
||||
*_GCC152_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS),-m,elf_x86_64
|
||||
*_GCC152_X64_ASM_FLAGS = DEF(GCC152_ASM_FLAGS) -m64
|
||||
*_GCC152_X64_DLINK_FLAGS = DEF(GCC152_X64_DLINK_FLAGS) DEF(GCC152_X64_CC_FLAGS) ENV(GCC152_X64_EXTRA_CC_FLAGS)
|
||||
*_GCC152_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
|
||||
*_GCC152_X64_OBJCOPY_FLAGS =
|
||||
*_GCC152_X64_NASM_FLAGS = -f elf64
|
||||
|
||||
DEBUG_GCC152_X64_CC_FLAGS = DEF(GCC152_X64_CC_FLAGS) -g3 -O0
|
||||
RELEASE_GCC152_X64_CC_FLAGS = DEF(GCC152_X64_CC_FLAGS) -Os -Werror
|
||||
DEBUG_GCC152_X64_CXX_FLAGS = DEF(GCC152_X64_CC_FLAGS) -g3 -O0
|
||||
RELEASE_GCC152_X64_CXX_FLAGS = DEF(GCC152_X64_CC_FLAGS) -Os -Werror
|
||||
|
||||
#
|
||||
#
|
||||
# XCODE5 support
|
||||
|
||||
@ -28,7 +28,7 @@ set -u # exit with error if unbound variables
|
||||
# here we can change source versions of tools
|
||||
#
|
||||
export BINUTILS_VERSION=${BINUTILS_VERSION:-binutils-2.45} #2.42
|
||||
export GCC_VERSION=${GCC_VERSION:-15.1.0}
|
||||
export GCC_VERSION=${GCC_VERSION:-15.2.0}
|
||||
|
||||
# Version of libraries are from ./contrib/download_prerequisites in gcc source directory
|
||||
export GMP_VERSION=${GMP_VERSION:-gmp-6.3.0} #6.2.1
|
||||
|
||||
8
buildme
8
buildme
@ -43,7 +43,7 @@ fi
|
||||
cd "$(dirname $([ -L $0 ] && readlink $0 || echo $0))"
|
||||
declare -r CLOVERROOT="$PWD"
|
||||
declare -r SYSNAME="$(uname)"
|
||||
MYTOOLCHAIN=${1:-GCC151}
|
||||
MYTOOLCHAIN=${1:-GCC152}
|
||||
revision=$(git describe --tags $(git rev-list --tags --max-count=1))
|
||||
lsha1="not a git repo"
|
||||
pyversion=$(echo $COL_CYAN"Current Python version: "$COL_WHITE$($(which python3) --version))
|
||||
@ -122,9 +122,9 @@ checkTools() {
|
||||
if [[ "$SYSNAME" == Darwin ]]; then
|
||||
checkXCODE
|
||||
exportPaths
|
||||
local GCC151_BIN="$PREFIX/cross/bin/x86_64-clover-linux-gnu-gcc"
|
||||
if [[ $MYTOOLCHAIN == GCC* ]] && [[ ! -x "${GCC151_BIN}" ]]; then
|
||||
if [[ $MYTOOLCHAIN == GCC151 ]]; then
|
||||
local GCC152_BIN="$PREFIX/cross/bin/x86_64-clover-linux-gnu-gcc"
|
||||
if [[ $MYTOOLCHAIN == GCC* ]] && [[ ! -x "${GCC152_BIN}" ]]; then
|
||||
if [[ $MYTOOLCHAIN == GCC152 ]]; then
|
||||
cd "${CLOVERROOT}"
|
||||
./build_gcc15.sh
|
||||
else
|
||||
|
||||
11
ebuild.sh
11
ebuild.sh
@ -52,7 +52,7 @@ export PYTHON_COMMAND=python3
|
||||
# if building through Xcode, then TOOLCHAIN_DIR is not defined
|
||||
# checking if it is where CloverGrowerPro put it
|
||||
if [[ "$SYSNAME" == Linux ]]; then
|
||||
export TOOLCHAIN=GCC151
|
||||
export TOOLCHAIN=GCC152
|
||||
TOOLCHAIN_DIR=${TOOLCHAIN_DIR:-/usr}
|
||||
else
|
||||
if [[ -d ~/src/opt/local ]]; then
|
||||
@ -315,6 +315,7 @@ checkCmdlineArguments() {
|
||||
-gcc53 | --gcc53) TOOLCHAIN=GCC53 ;;
|
||||
-gcc131 | --gcc131) TOOLCHAIN=GCC131 ;;
|
||||
-gcc151 | --gcc151) TOOLCHAIN=GCC151 ;;
|
||||
-gcc152 | --gcc152) TOOLCHAIN=GCC152 ;;
|
||||
-xcode | --xcode ) TOOLCHAIN=XCODE32 ;;
|
||||
-x64 | --x64)
|
||||
printf "\`%s' is deprecated because Clover is 64 bit only. This message will be removed soon\n" "$option" 1>&2
|
||||
@ -426,15 +427,15 @@ checkToolchain() {
|
||||
esac
|
||||
|
||||
if [[ "$SYSNAME" == Linux ]]; then
|
||||
export GCC151_BIN="$TOOLCHAIN_DIR/bin/"
|
||||
if [[ ! -x "${GCC151_BIN}gcc" ]]; then
|
||||
export GCC152_BIN="$TOOLCHAIN_DIR/bin/"
|
||||
if [[ ! -x "${GCC152_BIN}gcc" ]]; then
|
||||
echo "No clover toolchain for Linux found !" >&2
|
||||
echo "Install on your system or define the TOOLCHAIN_DIR variable." >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
export GCC151_BIN="$TOOLCHAIN_DIR/cross/bin/x86_64-clover-linux-gnu-"
|
||||
if [[ $TOOLCHAIN == GCC* ]] && [[ ! -x "${GCC151_BIN}gcc" ]]; then
|
||||
export GCC152_BIN="$TOOLCHAIN_DIR/cross/bin/x86_64-clover-linux-gnu-"
|
||||
if [[ $TOOLCHAIN == GCC* ]] && [[ ! -x "${GCC152_BIN}gcc" ]]; then
|
||||
echo "No clover toolchain found !" >&2
|
||||
echo "Build it with the build_gcc15.sh script or define the TOOLCHAIN_DIR variable." >&2
|
||||
exit 1
|
||||
|
||||
14
hebuild.sh
14
hebuild.sh
@ -43,7 +43,7 @@ M_NOGRUB=0
|
||||
M_APPLEHFS=0
|
||||
|
||||
# Default values
|
||||
export TOOLCHAIN=GCC151
|
||||
export TOOLCHAIN=GCC152
|
||||
export TARGETARCH=X64
|
||||
export BUILDTARGET=RELEASE
|
||||
export BUILDTHREADS=$(( NUMBER_OF_CPUS + 1 ))
|
||||
@ -55,7 +55,7 @@ export PYTHON_COMMAND=python3
|
||||
# if building through Xcode, then TOOLCHAIN_DIR is not defined
|
||||
# checking if it is where CloverGrowerPro put it
|
||||
if [[ "$SYSNAME" == Linux ]]; then
|
||||
export TOOLCHAIN=GCC151
|
||||
export TOOLCHAIN=GCC152
|
||||
TOOLCHAIN_DIR=${TOOLCHAIN_DIR:-/usr}
|
||||
else
|
||||
if [[ -d ~/src/opt/local ]]; then
|
||||
@ -251,6 +251,7 @@ usage() {
|
||||
print_option_help "-gcc53" "use GCC 5.3 toolchain, including gcc-11"
|
||||
print_option_help "-gcc131" "use GCC 13.1 toolchain, including gcc-14.2"
|
||||
print_option_help "-gcc151" "use GCC 15.1 toolchain"
|
||||
print_option_help "-gcc152" "use GCC 15.2 toolchain"
|
||||
# print_option_help "-unixgcc" "use UNIXGCC toolchain, unsupported"
|
||||
# print_option_help "-xcode" "use XCode 3.2 toolchain"
|
||||
print_option_help "-xcode5" "use XCode 5 toolchain, "
|
||||
@ -319,6 +320,7 @@ checkCmdlineArguments() {
|
||||
-gcc53 | --gcc53) TOOLCHAIN=GCC53 ;;
|
||||
-gcc131 | --gcc131) TOOLCHAIN=GCC131 ;;
|
||||
-gcc151 | --gcc151) TOOLCHAIN=GCC151 ;;
|
||||
-gcc152 | --gcc152) TOOLCHAIN=GCC152 ;;
|
||||
-x64 | --x64)
|
||||
# printf "\`%s' is deprecated because Clover is 64 bit only. This message will be removed soon\n" "$option" 1>&2
|
||||
# sleep 4
|
||||
@ -429,15 +431,15 @@ checkToolchain() {
|
||||
esac
|
||||
|
||||
if [[ "$SYSNAME" == Linux ]]; then
|
||||
export GCC151_BIN="$TOOLCHAIN_DIR/bin/"
|
||||
if [[ ! -x "${GCC151_BIN}gcc" ]]; then
|
||||
export GCC152_BIN="$TOOLCHAIN_DIR/bin/"
|
||||
if [[ ! -x "${GCC152_BIN}gcc" ]]; then
|
||||
echo "No clover toolchain for Linux found !" >&2
|
||||
echo "Install on your system or define the TOOLCHAIN_DIR variable." >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
export GCC151_BIN="$TOOLCHAIN_DIR/cross/bin/x86_64-clover-linux-gnu-"
|
||||
if [[ $TOOLCHAIN == GCC* ]] && [[ ! -x "${GCC151_BIN}gcc" ]]; then
|
||||
export GCC152_BIN="$TOOLCHAIN_DIR/cross/bin/x86_64-clover-linux-gnu-"
|
||||
if [[ $TOOLCHAIN == GCC* ]] && [[ ! -x "${GCC152_BIN}gcc" ]]; then
|
||||
echo "No clover toolchain found !" >&2
|
||||
echo "Build it with the build_gcc15.sh script or define the TOOLCHAIN_DIR variable." >&2
|
||||
exit 1
|
||||
|
||||
2
xbuildme
2
xbuildme
@ -89,7 +89,7 @@ echo -e "${COL_WHITE} Switch to ${COL_CYAN}XCODE${COL_WHITE}
|
||||
echo -e "${COL_WHITE} Depending on your ${COL_CYAN}XCODE version${COL_WHITE} the Toolset will be ${COL_CYAN}automatically chosen"
|
||||
echo -e "${COL_GREEN} ---------------------- ${COL_CYAN}Current Python version: ${COL_WHITE}Python 3.13.7${COL_GREEN} --------------------${COL_RESET}"
|
||||
declare -r CLOVERROOT="$PWD"
|
||||
declare -r MYTOOLCHAIN=${1:-GCC151}
|
||||
declare -r MYTOOLCHAIN=${1:-GCC152}
|
||||
|
||||
TOOLCHAIN_DIR=${TOOLCHAIN_DIR:-"$CLOVERROOT/toolchain"}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user