From c9911aa227736faf8a787a6cc99fb4fbd659966e Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sun, 29 Jan 2023 20:35:59 -0500 Subject: Consolidate path variables --- mingw-w64-build | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mingw-w64-build b/mingw-w64-build index cc0f6f5..3bf1e5b 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -372,12 +372,6 @@ while :; do shift done -SRC_PATH="$ROOT_PATH/src" -BLD_PATH="$ROOT_PATH/bld" -LOG_FILE="$ROOT_PATH/build.log" -I686_PREFIX="$ROOT_PATH/i686" -X86_64_PREFIX="$ROOT_PATH/x86_64" - if [ ! "$BUILD_I686" ] && [ ! "$BUILD_X86_64" ]; then arg_error "no ARCH was specified" fi @@ -417,9 +411,16 @@ fi TOTAL_STEPS=$((TOTAL_STEPS + THREADS_STEPS + BUILD_STEPS)) +SRC_PATH="$ROOT_PATH/src" +BLD_PATH="$ROOT_PATH/bld" +LOG_FILE="$ROOT_PATH/build.log" + if [ "$PREFIX" ]; then I686_PREFIX="$PREFIX" X86_64_PREFIX="$PREFIX" +else + I686_PREFIX="$ROOT_PATH/i686" + X86_64_PREFIX="$ROOT_PATH/x86_64" fi CURRENT_STEP=1 -- cgit v1.2.3 From 648c3da5a9ade40a32b21290b2889c670d01380b Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sun, 29 Jan 2023 21:09:31 -0500 Subject: Avoid realpath for macOS Closes #27 --- mingw-w64-build | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mingw-w64-build b/mingw-w64-build index 3bf1e5b..e9ebda2 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -272,14 +272,14 @@ while :; do ;; -r|--root) if [ "$2" ]; then - ROOT_PATH=$(realpath "$2") + ROOT_PATH_ARG="$2" shift else arg_error "'--root' requires a non-empty option argument" fi ;; --root=?*) - ROOT_PATH=$(realpath "${1#*=}") + ROOT_PATH_ARG="${1#*=}" ;; --root=) arg_error "'--root' requires a non-empty option argument" @@ -411,6 +411,10 @@ fi TOTAL_STEPS=$((TOTAL_STEPS + THREADS_STEPS + BUILD_STEPS)) +if [ "$ROOT_PATH_ARG" ]; then + ROOT_PATH=$(mkdir -p "$ROOT_PATH_ARG" && cd "$ROOT_PATH_ARG" && pwd) +fi + SRC_PATH="$ROOT_PATH/src" BLD_PATH="$ROOT_PATH/bld" LOG_FILE="$ROOT_PATH/build.log" -- cgit v1.2.3 From 27de94ed0622423dea087002846d7a6f6994e22d Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sun, 29 Jan 2023 21:10:57 -0500 Subject: Update copyright year --- mingw-w64-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-build b/mingw-w64-build index e9ebda2..bff82aa 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (C) 2022 Kyle Schwarz <zeranoe@gmail.com> +# Copyright (C) 2023 Kyle Schwarz <zeranoe@gmail.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -- cgit v1.2.3 From d0e3b943e1bbaef84a6efb61d8ececf88ed6839d Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sun, 29 Jan 2023 22:00:46 -0500 Subject: Update binutils to binutils-2_40-branch --- README.md | 2 +- mingw-w64-build | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ab13bd2..12323e8 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ files. ## Default Branches * [MinGW-w64](https://mingw-w64.org) v9.x -* [Binutils](https://www.gnu.org/software/binutils/) binutils-2_39-branch +* [Binutils](https://www.gnu.org/software/binutils/) binutils-2_40-branch * [GCC](https://gcc.gnu.org/) releases/gcc-12 ## Default Prefix diff --git a/mingw-w64-build b/mingw-w64-build index bff82aa..eaf62e9 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -19,7 +19,7 @@ ROOT_PATH="$HOME/.zeranoe/mingw-w64" MINGW_W64_BRANCH="v9.x" -BINUTILS_BRANCH="binutils-2_39-branch" +BINUTILS_BRANCH="binutils-2_40-branch" GCC_BRANCH="releases/gcc-12" ENABLE_THREADS="--enable-threads=posix" @@ -445,6 +445,10 @@ change_dir "$SRC_PATH/gcc" execute "" "failed to download GCC dependencies" \ ./contrib/download_prerequisites +for i in mpc isl mpfr gmp; do + ln -s "$SRC_PATH/gcc/$i" "$SRC_PATH/binutils/$i" +done + export CFLAGS="-g0" export CXXFLAGS="-g0" export LDFLAGS="-s" -- cgit v1.2.3 From 4aad2e83aed7692c0d6d7941597a6a71ea7abb3d Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sun, 29 Jan 2023 22:01:22 -0500 Subject: Switch to master for MinGW-w64 --- README.md | 2 +- mingw-w64-build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 12323e8..5ed13b4 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ toolchain that can compile Windows executables that don't depend on any GCC dll files. ## Default Branches -* [MinGW-w64](https://mingw-w64.org) v9.x +* [MinGW-w64](https://mingw-w64.org) master * [Binutils](https://www.gnu.org/software/binutils/) binutils-2_40-branch * [GCC](https://gcc.gnu.org/) releases/gcc-12 diff --git a/mingw-w64-build b/mingw-w64-build index eaf62e9..300d5d3 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -18,7 +18,7 @@ ROOT_PATH="$HOME/.zeranoe/mingw-w64" -MINGW_W64_BRANCH="v9.x" +MINGW_W64_BRANCH="master" BINUTILS_BRANCH="binutils-2_40-branch" GCC_BRANCH="releases/gcc-12" -- cgit v1.2.3 From 8372642cb5f7c460e448334b3082720f32926c31 Mon Sep 17 00:00:00 2001 From: Thomas Perl <m@thp.io> Date: Thu, 2 Feb 2023 08:18:26 +0100 Subject: Fix shell quoting for $@ to prevent word-splitting --- mingw-w64-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-build b/mingw-w64-build index 300d5d3..bc8139e 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -88,7 +88,7 @@ execute() printf "(%d/%d): %s\n" "$CURRENT_STEP" "$TOTAL_STEPS" "$info_msg" CURRENT_STEP=$((CURRENT_STEP + 1)) fi - $@ >>"$LOG_FILE" 2>&1 || error_exit "$error_msg, check $LOG_FILE for details" + "$@" >>"$LOG_FILE" 2>&1 || error_exit "$error_msg, check $LOG_FILE for details" } create_dir() -- cgit v1.2.3 From e8709bd544b58b0b5aedc47e709cfb5999a5f484 Mon Sep 17 00:00:00 2001 From: Thomas Perl <m@thp.io> Date: Thu, 2 Feb 2023 08:21:18 +0100 Subject: Use bash arrays for the list of paths --- mingw-w64-build | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/mingw-w64-build b/mingw-w64-build index bc8139e..4db49c7 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -453,29 +453,27 @@ export CFLAGS="-g0" export CXXFLAGS="-g0" export LDFLAGS="-s" -COMPLETE_MSG="complete, to use MinGW-w64 everywhere add" +ADD_TO_PATH=() if [ "$BUILD_I686" ]; then build i686 "$I686_PREFIX" - COMPLETE_MSG="$COMPLETE_MSG '$I686_PREFIX/bin'" + ADD_TO_PATH+=("'$I686_PREFIX/bin'") fi if [ "$BUILD_X86_64" ]; then build x86_64 "$X86_64_PREFIX" - if [ "$BUILD_I686" ]; then - COMPLETE_MSG="$COMPLETE_MSG and " - fi - COMPLETE_MSG="$COMPLETE_MSG '$X86_64_PREFIX/bin'" + ADD_TO_PATH+=("'$X86_64_PREFIX/bin'") fi -COMPLETE_MSG="$COMPLETE_MSG to PATH." - if [ ! "$KEEP_ARTIFACTS" ]; then remove_path "$SRC_PATH" remove_path "$BLD_PATH" remove_path "$LOG_FILE" fi -printf "%s\n" "$COMPLETE_MSG" +echo "complete, to use MinGW-w64 everywhere add these to your \$PATH:" +for add_to_path in "${ADD_TO_PATH[@]}"; do + printf "\t%s\n" "$add_to_path" +done exit 0 -- cgit v1.2.3 From 3a43e408f90fadb2ed5b8084e1bedd4ae6774125 Mon Sep 17 00:00:00 2001 From: Thomas Perl <m@thp.io> Date: Thu, 2 Feb 2023 08:22:52 +0100 Subject: Calculate number of builds using arithmetic --- mingw-w64-build | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mingw-w64-build b/mingw-w64-build index 4db49c7..36495dd 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -26,6 +26,9 @@ ENABLE_THREADS="--enable-threads=posix" JOB_COUNT=$(($(getconf _NPROCESSORS_ONLN) + 2)) +BUILD_I686=0 +BUILD_X86_64=0 + LINKED_RUNTIME="msvcrt" show_help() @@ -372,7 +375,8 @@ while :; do shift done -if [ ! "$BUILD_I686" ] && [ ! "$BUILD_X86_64" ]; then +NUM_BUILDS=$((BUILD_I686 + BUILD_X86_64)) +if [ "$NUM_BUILDS" -eq 0 ]; then arg_error "no ARCH was specified" fi @@ -402,12 +406,8 @@ else THREADS_STEPS=0 fi -if [ "$BUILD_I686" ] && [ "$BUILD_X86_64" ]; then - THREADS_STEPS=$((THREADS_STEPS * 2)) - BUILD_STEPS=26 -else - BUILD_STEPS=13 -fi +THREADS_STEPS=$((THREADS_STEPS * NUM_BUILDS)) +BUILD_STEPS=$((13 * NUM_BUILDS)) TOTAL_STEPS=$((TOTAL_STEPS + THREADS_STEPS + BUILD_STEPS)) -- cgit v1.2.3 From 4925ef65d873165c9f5a8e94e6527883a73c1c98 Mon Sep 17 00:00:00 2001 From: Thomas Perl <m@thp.io> Date: Thu, 2 Feb 2023 08:24:12 +0100 Subject: Add support for i586 builds --- mingw-w64-build | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/mingw-w64-build b/mingw-w64-build index 36495dd..55a5315 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -26,6 +26,7 @@ ENABLE_THREADS="--enable-threads=posix" JOB_COUNT=$(($(getconf _NPROCESSORS_ONLN) + 2)) +BUILD_I586=0 BUILD_I686=0 BUILD_X86_64=0 @@ -38,7 +39,8 @@ Usage: $0 [options] <arch>... Archs: - i686 Windows 32-bit + i586 Windows 32-bit for old CPUs (Intel Pentium (MMX), AMD K5, K6, K6-2, K6-III) + i686 Windows 32-bit (Intel P6 [Pentium Pro], AMD K7 and newer) x86_64 Windows 64-bit Options: @@ -161,10 +163,11 @@ build() remove_path "$prefix" fi - if [ "$arch" = "i686" ]; then - local i686_dwarf2="--disable-sjlj-exceptions --with-dwarf2" + if [ "$arch" = "i586" ] || [ "$arch" = "i686" ]; then + local x86_dwarf2="--disable-sjlj-exceptions --with-dwarf2" local crt_lib="--enable-lib32 --disable-lib64" else + local x86_dwarf2="" local crt_lib="--enable-lib64 --disable-lib32" fi @@ -200,7 +203,7 @@ build() "$SRC_PATH/gcc/configure" --target="$host" --disable-shared \ --enable-static --disable-multilib --prefix="$prefix" \ --enable-languages=c,c++ --disable-nls $ENABLE_THREADS \ - $i686_dwarf2 + $x86_dwarf2 execute "($arch): building GCC (all-gcc)" "" \ make -j $JOB_COUNT all-gcc @@ -352,6 +355,9 @@ while :; do --mingw-w64-branch=) arg_error "'--mingw-w64-branch' requires a non-empty option argument" ;; + i586) + BUILD_I586=1 + ;; i686) BUILD_I686=1 ;; @@ -375,7 +381,7 @@ while :; do shift done -NUM_BUILDS=$((BUILD_I686 + BUILD_X86_64)) +NUM_BUILDS=$((BUILD_I586 + BUILD_I686 + BUILD_X86_64)) if [ "$NUM_BUILDS" -eq 0 ]; then arg_error "no ARCH was specified" fi @@ -420,9 +426,11 @@ BLD_PATH="$ROOT_PATH/bld" LOG_FILE="$ROOT_PATH/build.log" if [ "$PREFIX" ]; then + I586_PREFIX="$PREFIX" I686_PREFIX="$PREFIX" X86_64_PREFIX="$PREFIX" else + I586_PREFIX="$ROOT_PATH/i586" I686_PREFIX="$ROOT_PATH/i686" X86_64_PREFIX="$ROOT_PATH/x86_64" fi @@ -455,6 +463,11 @@ export LDFLAGS="-s" ADD_TO_PATH=() +if [ "$BUILD_I586" ]; then + build i586 "$I586_PREFIX" + ADD_TO_PATH+=("'$I586_PREFIX/bin'") +fi + if [ "$BUILD_I686" ]; then build i686 "$I686_PREFIX" ADD_TO_PATH+=("'$I686_PREFIX/bin'") -- cgit v1.2.3 From 08fc3efcac9f727076782ff6cea0d9ba4d8a31bf Mon Sep 17 00:00:00 2001 From: Thomas Perl <m@thp.io> Date: Thu, 9 Mar 2023 14:24:55 +0100 Subject: Keep build flags uninitialized --- mingw-w64-build | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mingw-w64-build b/mingw-w64-build index 55a5315..dd7f8d9 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -26,10 +26,6 @@ ENABLE_THREADS="--enable-threads=posix" JOB_COUNT=$(($(getconf _NPROCESSORS_ONLN) + 2)) -BUILD_I586=0 -BUILD_I686=0 -BUILD_X86_64=0 - LINKED_RUNTIME="msvcrt" show_help() -- cgit v1.2.3 From 1e3e34196c4f1871e5a290c620004bab33032a2c Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sat, 25 May 2024 12:44:15 -0400 Subject: Update copyright --- mingw-w64-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-build b/mingw-w64-build index dd7f8d9..d14600f 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (C) 2023 Kyle Schwarz <zeranoe@gmail.com> +# Copyright (C) 2024 Kyle Schwarz <zeranoe@gmail.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -- cgit v1.2.3 From a7874f53851f2e5760e749070f5e7daab9139dac Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sat, 25 May 2024 13:10:43 -0400 Subject: Update binutils to binutils-2_42-branch --- mingw-w64-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-build b/mingw-w64-build index d14600f..78d21a4 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -19,7 +19,7 @@ ROOT_PATH="$HOME/.zeranoe/mingw-w64" MINGW_W64_BRANCH="master" -BINUTILS_BRANCH="binutils-2_40-branch" +BINUTILS_BRANCH="binutils-2_42-branch" GCC_BRANCH="releases/gcc-12" ENABLE_THREADS="--enable-threads=posix" -- cgit v1.2.3 From 219472d381f4f7587a0b251bf32784fcf514b971 Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sat, 25 May 2024 13:11:17 -0400 Subject: Update gcc to releases/gcc-14 --- mingw-w64-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-build b/mingw-w64-build index 78d21a4..d6a2799 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -20,7 +20,7 @@ ROOT_PATH="$HOME/.zeranoe/mingw-w64" MINGW_W64_BRANCH="master" BINUTILS_BRANCH="binutils-2_42-branch" -GCC_BRANCH="releases/gcc-12" +GCC_BRANCH="releases/gcc-14" ENABLE_THREADS="--enable-threads=posix" -- cgit v1.2.3 From ebc892c9c890a12ad72d1263f62db071eb1fbd55 Mon Sep 17 00:00:00 2001 From: tokomine <tokomine.s@gmail.com> Date: Wed, 30 Aug 2023 10:14:36 +0800 Subject: fix SRC_PATH when CACHED_SOURCES --- mingw-w64-build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mingw-w64-build b/mingw-w64-build index d6a2799..4d0da33 100755 --- a/mingw-w64-build +++ b/mingw-w64-build @@ -394,11 +394,7 @@ fi TOTAL_STEPS=0 -if [ "$CACHED_SOURCES" ]; then - if [ ! -f "$SRC_PATH/config.guess" ]; then - arg_error "no sources found, run with --keep-artifacts first" - fi -else +if [ ! "$CACHED_SOURCES" ]; then TOTAL_STEPS=$((TOTAL_STEPS + 4)) fi @@ -438,10 +434,16 @@ mkdir -p "$ROOT_PATH" rm -f "$LOG_FILE" touch "$LOG_FILE" + if [ ! "$CACHED_SOURCES" ]; then download_sources +else + if [ ! -f "$SRC_PATH/config.guess" ]; then + arg_error "no sources found, run with --keep-artifacts first" + fi fi + BUILD=$(sh "$SRC_PATH/config.guess") change_dir "$SRC_PATH/gcc" -- cgit v1.2.3 From 9f9009bcb6e0bb70760d9be0a3dc346ebc311b7b Mon Sep 17 00:00:00 2001 From: Kyle Schwarz <zeranoe@gmail.com> Date: Sat, 25 May 2024 13:24:54 -0400 Subject: Update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5ed13b4..8b0b1d7 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ files. ## Default Branches * [MinGW-w64](https://mingw-w64.org) master -* [Binutils](https://www.gnu.org/software/binutils/) binutils-2_40-branch -* [GCC](https://gcc.gnu.org/) releases/gcc-12 +* [Binutils](https://www.gnu.org/software/binutils/) binutils-2_42-branch +* [GCC](https://gcc.gnu.org/) releases/gcc-14 ## Default Prefix `$HOME/.zeranoe/mingw-w64/i686` and `$HOME/.zeranoe/mingw-w64/x86_64` are the -- cgit v1.2.3