# Recipe for version 14.3.0 by Nuc1eoN, on Mon 07 Jul 2025 04:54:15 PM CEST compile_version=017-GIT # by Hisham Muhammad, Guilherme Bedin url="https://sourceware.org/pub/gcc/releases/gcc-14.3.0/gcc-14.3.0.tar.xz" mirror_url="https://ftp.gnu.org/gnu/gcc/gcc-14.3.0/gcc-14.3.0.tar.xz" file_size=95212220 file_md5=2e2f25966bbb5321bf6a3beafcd241b5 recipe_type=configure needs_build_directory=yes # Make sure we have sane compile flags environment=( CFLAGS= CXXFLAGS= LDFLAGS= ) configure_options=( --libexecdir="${target}/lib" --with-cpp-install-dir="lib" --enable-shared --enable-threads="posix" --enable-__cxa_atexit --enable-clocale="gnu" --enable-default-pie --enable-default-ssp --with-system-zlib --disable-bootstrap --enable-lto --enable-plugin --enable-install-libiberty --disable-fixincludes --enable-languages="c,c++,fortran,objc" ) with_gcj=("--enable-languages=java") install_variables=( prefix="${target}" local_prefix="${target}" libexecdir="${target}/lib" itoolsdir="${target}/lib/install-tools" itoolsdatadir="${target}/lib/install-tools" ) private__get_libtool_data() { local varname="$1" local libtoolfile="$2" local addprefix="$3" local data=$(for i in $(grep "${varname}=" "$libtoolfile" | tail -n1 | \ cut -d= -f2 | sed -e 's,-L,,g' -e 's,",,g'); do \ echo -n "${addprefix}$(readlink -m $i) "; done) echo "$data" } pre_build() { # If building on x86_64, change the default directory name for 64-bit libraries to “lib”: case $(uname -m) in x86_64) sed -e '/m64=/s/lib64/lib/' -i.orig $dir/gcc/config/i386/t-linux64 ;; esac } pre_install() { # The libtool script includes ".." elements by default, which cause # problems with GoboLinux's Runner sandbox. We fix this by patching # references to dot-dot by their absolute pathnames. if [ ! -e "$dir/_build/libcc1/libtool.orig" ] then cp -v "$dir/_build/libcc1/libtool" "$dir/_build/libcc1/libtool.orig" predep=$(private__get_libtool_data "predep_objects" "$dir/_build/libcc1/libtool.orig" "") postdep=$(private__get_libtool_data "postdep_objects" "$dir/_build/libcc1/libtool.orig" "") libsearch=$(private__get_libtool_data "compiler_lib_search_path" "$dir/_build/libcc1/libtool.orig" "-L") sed -i "$dir/_build/libcc1/libtool" \ -e "s,predep_objects=\"/.*\",predep_objects=\"$predep\",g" \ -e "s,postdep_objects=\"/.*\",postdep_objects=\"$postdep\",g" \ -e "s,compiler_lib_search_path=\"-.*\",compiler_lib_search_path=\"$libsearch\",g" fi } pre_link() { ln -s gcc "$target/bin"/cc rm -f "$target/lib"/libiberty.a ln -nsf "$target/bin/cc" "$goboExecutables"/cc ln -nsf "$target/lib/cpp" "$goboLibraries"/cc if [ "$(type -t private__add_arch_aliases)" = "function" ] then private__add_arch_aliases fi # POSIX conformance launcher scripts for c89 and c99 cp "$recipedir"/c89 "$target"/bin/c89 cp "$recipedir"/c99 "$target"/bin/c99 }