summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
Diffstat (limited to 'community')
-rw-r--r--community/gcc8/PKGBUILD60
1 files changed, 60 insertions, 0 deletions
diff --git a/community/gcc8/PKGBUILD b/community/gcc8/PKGBUILD
new file mode 100644
index 00000000..b4093ee9
--- /dev/null
+++ b/community/gcc8/PKGBUILD
@@ -0,0 +1,60 @@
+eval "$(
+ declare -f prepare | \
+ sed '
+ \,/s/lib64/lib/, d
+ '
+ declare -f build | \
+ sed '
+ /configure/ s,--with-bugurl=https://bugs\.archlinux\.org/,--with-bugurl=https://bugs.archlinux32.org/,
+ /configure/ s/;$/ --build=$CHOST;/
+ '
+ declare -f package_gcc8-libs | \
+ sed '
+ s@libsanitizer/{a,l,ub,t}san@libsanitizer/{a,l,ub}san@
+ '
+ declare -f package_gcc8 | \
+ sed '
+ s@make.*tsan.*install@#\0@
+ '
+)"
+
+# i486-specific
+
+# disable doxygen documentation
+makedepends=(${makedepends[@]//doxygen/})
+makedepends_i686+=('doxygen')
+
+if [ "${CARCH}" = "i486" ]; then
+ eval "$(
+ declare -f build | \
+ sed '
+ /make.*doc-man-doxygen/d
+ '
+ )"
+fi
+
+if [ "${CARCH}" = "i486" ]; then
+ # building toolchain (gcc): again, lobtool problems
+ # /usr/lib/gcc/i486-pc-linux-gnu/7.3.0/ld: cannot find -lquadmath
+ # collect2: error: ld returned 1 exit status
+ # libtool: install: error: relink `libgfortran.la' with the above command before installing it
+ # make: Leaving directory '/build/gcc/src/gcc-build/i486-pc-linux-gnu/libgfortran'
+ # => wrong link order: libgfortran requires libquadmath
+ eval "$(
+ declare -f package_gcc8-libs | \
+ sed '
+ /for lib in / s/libgfortran/libquadmath libgfortran/
+ '
+ )"
+
+ # disable CET (Control Flow instructions endbr32/enbr64)
+ eval "$(
+ declare -f build | \
+ sed '
+ s/--enable-cet=auto/--disable-cet/
+ '
+ )"
+
+fi
+
+makedepends_pentium4=("${makedepends_i686[@]}")