update(gcc12)

This commit is contained in:
Jacob Heider 2023-05-09 20:49:53 -04:00 committed by Jacob Heider
parent 98e4a91c8b
commit 857a6a6e2d

View file

@ -26,42 +26,50 @@ build:
gnu.org/patch: '*'
curl.se: '*'
working-directory: build
script: |
# Remove: cleanup bootstrap version
if test -d {{deps.gnu.org/gcc.prefix}}/lib64; then
mv {{deps.gnu.org/gcc.prefix}}/lib64/* {{deps.gnu.org/gcc.prefix}}/lib/
rmdir {{deps.gnu.org/gcc.prefix}}/lib64
fi
script:
# If we have a patch, apply it
- |
if test -n "$PATCH{{version.major}}{{version.minor}}"; then
curl "$PATCH{{version.major}}{{version.minor}}" | patch -p1 -d..
fi
if test -n "$PATCH{{version.major}}"; then
curl "$PATCH{{version.major}}" | patch -p1 -d..
fi
# if there's no diff yet, unpack iains' source over ours
- |
if test -n "$BRANCH{{version.major}}{{version.minor}}"; then
curl -L "$BRANCH{{version.major}}{{version.minor}}" | tar xz --strip-components=1 -C ..
fi
ARGS=($ARGS --with-pkgversion="tea GCC {{version}}")
if test {{hw.platform}} = "linux"; then
export ARGS=("${ARGS[@]}" --with-boot-ldflags="-static-libstdc++ -static-libgcc $LDFLAGS")
fi
# The spaces mess things up in the env key
- ARGS=($ARGS --with-pkgversion="tea GCC {{version}}")
../configure "${ARGS[@]}"
make --jobs {{ hw.concurrency }}
make install
# On Linux, we need to statically link libstdc++ and libgcc
- |
if test {{hw.platform}} = "linux"; then
export ARGS=("${ARGS[@]}" --with-boot-ldflags="-static-libstdc++ -static-libgcc $LDFLAGS")
fi
- ../configure "${ARGS[@]}"
- make --jobs {{ hw.concurrency }}
- make install
cd {{prefix}}/bin
# Since we depend on ourselves, this symlink might already exist
test -f gc++ || ln -sf c++ gc++
- run: test -f gc++ || ln -sf c++ gc++
working-directory: ${{prefix}}/bin
# On Linux, we need to move the libraries to the lib directory.
if test {{hw.platform}} = "linux"; then
cd {{prefix}}
mv lib64/* lib/
rmdir lib64
fi
- run: |
if test {{hw.platform}} = "linux"; then
mv lib64/* lib/
rmdir lib64
fi
working-directory: ${{prefix}}
env:
# Branch from the Darwin maintainer of GCC, with a few generic fixes and
# Apple Silicon support, located at https://github.com/iains/gcc-12-branch
PATCH12: https://raw.githubusercontent.com/Homebrew/formula-patches/1d184289/gcc/gcc-12.2.0-arm.diff
PATCH122: https://raw.githubusercontent.com/Homebrew/formula-patches/1d184289/gcc/gcc-12.2.0-arm.diff
# https://github.com/iains/gcc-darwin-arm64
PATCH13: https://raw.githubusercontent.com/Homebrew/formula-patches/master/gcc/gcc-13.1.0.diff
PATCH131: https://raw.githubusercontent.com/Homebrew/formula-patches/master/gcc/gcc-13.1.0.diff
BRANCH123: https://github.com/iains/gcc-12-branch/archive/refs/tags/gcc-12.3-darwin-r0.tar.gz
ARGS:
- --prefix={{ prefix }}
- --libdir={{ prefix }}/lib