Skip to content

Commit

Permalink
Add GCC 11.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
starg2 committed Jul 2, 2023
1 parent e25b3e8 commit c55a3cc
Show file tree
Hide file tree
Showing 3 changed files with 154 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Expand Up @@ -129,6 +129,7 @@ At the moment, successfully building the following versions:
gcc-11.1.0
gcc-11.2.0
gcc-11.3.0
gcc-11.4.0
gcc-12.1.0
gcc-12.2.0
gcc-12.3.0
Expand Down
1 change: 1 addition & 0 deletions build
Expand Up @@ -166,6 +166,7 @@ readonly RUN_ARGS="$@"
echo " gcc-11.1.0 (11.1.0 release)"
echo " gcc-11.2.0 (11.2.0 release)"
echo " gcc-11.3.0 (11.3.0 release)"
echo " gcc-11.4.0 (11.4.0 release)"
echo " gcc-11-branch (currently 11.4.0-prerelease)"
echo " gcc-12.1.0 (12.1.0 release)"
echo " gcc-12.2.0 (12.2.0 release)"
Expand Down
152 changes: 152 additions & 0 deletions scripts/gcc-11.4.0.sh
@@ -0,0 +1,152 @@

#
# The BSD 3-Clause License. http://www.opensource.org/licenses/BSD-3-Clause
#
# This file is part of MinGW-W64(mingw-builds: https://github.com/niXman/mingw-builds) project.
# Copyright (c) 2011-2023 by niXman (i dotty nixman doggy gmail dotty com)
# Copyright (c) 2012-2015 by Alexpux (alexpux doggy gmail dotty com)
# All rights reserved.
#
# Project: MinGW-Builds ( https://github.com/niXman/mingw-builds )
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the distribution.
# - Neither the name of the 'MinGW-W64' nor the names of its contributors may
# be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

# **************************************************************************

PKG_VERSION=11.4.0
PKG_NAME=gcc-${PKG_VERSION}
PKG_DIR_NAME=gcc-${PKG_VERSION}
PKG_TYPE=.tar.xz
PKG_URLS=(
"https://ftpmirror.gnu.org/gnu/gcc/gcc-${PKG_VERSION}/gcc-${PKG_VERSION}${PKG_TYPE}"
)

PKG_PRIORITY=main

#

PKG_PATCHES=(
gcc/gcc-4.7-stdthreads.patch
gcc/gcc-5.1-iconv.patch
gcc/gcc-4.8-libstdc++export.patch
gcc/gcc-4.8.2-fix-for-windows-not-minding-non-existant-parent-dirs.patch
gcc/gcc-4.8.2-windows-lrealpath-no-force-lowercase-nor-backslash.patch
gcc/gcc-4.9.1-enable-shared-gnat-implib.mingw.patch
gcc/gcc-5.1.0-make-xmmintrin-header-cplusplus-compatible.patch
gcc/gcc-5.2-fix-mingw-pch.patch
gcc/gcc-5-dwarf-regression.patch
gcc/gcc-5.1.0-fix-libatomic-building-for-threads=win32.patch
gcc/gcc-10-ktietz-libgomp.patch
gcc/gcc-libgomp-ftime64.patch
gcc/0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch
gcc/gcc-10-libgcc-ldflags.patch
)

#

PKG_CONFIGURE_FLAGS=(
--host=$HOST
--build=$BUILD
--target=$TARGET
#
--prefix=$MINGWPREFIX
--with-sysroot=$PREFIX
#--with-gxx-include-dir=$MINGWPREFIX/$TARGET/include/c++
#
$LINK_TYPE_GCC
#
$( [[ $USE_MULTILIB == yes ]] \
&& echo "--enable-targets=all --enable-multilib" \
|| echo "--disable-multilib" \
)
--enable-languages=$ENABLE_LANGUAGES,lto
--enable-libstdcxx-time=yes
--enable-threads=$THREADS_MODEL
--enable-libgomp
--enable-libatomic
$( [[ "$MSVCRT_PHOBOS_OK" == yes && "$D_LANG_ENABLED" == yes ]] \
&& echo "--enable-libphobos"
)
--enable-lto
--enable-graphite
--enable-checking=release
--enable-fully-dynamic-string
--enable-version-specific-runtime-libs
--enable-libstdcxx-filesystem-ts=yes
$( [[ $EXCEPTIONS_MODEL == dwarf ]] \
&& echo "--disable-sjlj-exceptions --with-dwarf2" \
)
$( [[ $EXCEPTIONS_MODEL == sjlj ]] \
&& echo "--enable-sjlj-exceptions" \
)
#
--disable-libstdcxx-pch
--disable-libstdcxx-debug
$( [[ $BOOTSTRAPING == yes ]] \
&& echo "--enable-bootstrap" \
|| echo "--disable-bootstrap" \
)
--disable-rpath
--disable-win32-registry
--disable-nls
--disable-werror
--disable-symvers
#
--with-gnu-as
--with-gnu-ld
#
$PROCESSOR_OPTIMIZATION
$PROCESSOR_TUNE
#
--with-libiconv
--with-system-zlib
--with-{gmp,mpfr,mpc,isl}=$PREREQ_DIR/$HOST-$LINK_TYPE_SUFFIX
--with-pkgversion="\"$BUILD_ARCHITECTURE-$THREADS_MODEL-$EXCEPTIONS_MODEL${REV_STRING}, $MINGW_W64_PKG_STRING\""
--with-bugurl=$BUG_URL
#
CFLAGS="\"$COMMON_CFLAGS\""
CXXFLAGS="\"$COMMON_CXXFLAGS\""
CPPFLAGS="\"$COMMON_CPPFLAGS\""
LDFLAGS="\"$COMMON_LDFLAGS $( [[ $BUILD_ARCHITECTURE == i686 ]] && echo -Wl,--large-address-aware )\""
LD_FOR_TARGET=$PREFIX/bin/ld.exe
--with-boot-ldflags="\"$LDFLAGS -Wl,--disable-dynamicbase -static-libstdc++ -static-libgcc\""
)

#

PKG_MAKE_FLAGS=(
-j$JOBS
all
)

#

PKG_INSTALL_FLAGS=(
-j1
DESTDIR=$BASE_BUILD_DIR
$( [[ $STRIP_ON_INSTALL == yes ]] && echo install-strip || echo install )
)

# **************************************************************************

0 comments on commit c55a3cc

Please sign in to comment.