summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD110
2 files changed, 66 insertions, 56 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9fe377ce143f..0a7185dc25e9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,3 @@
-# Generated by mksrcinfo v8
-# Sun Jul 30 17:26:06 UTC 2017
pkgbase = gcc44
pkgdesc = The GNU Compiler Collection (4.4.x)
pkgver = 4.4.7
@@ -11,7 +9,6 @@ pkgbase = gcc44
license = LGPL
license = custom
makedepends = setconf
- makedepends = gcc49
depends = binutils
depends = mpfr
depends = cloog
@@ -20,14 +17,21 @@ pkgbase = gcc44
conflicts = gcc44-multilib
options = staticlibs
options = !libtool
+ options = !buildflags
source = http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.4.7/gcc-4.4.7.tar.bz2
source = gcc-hash-style-both.patch
source = gcc_pure64.patch
source = siginfo_t_fix.patch
+ source = 0000-gcc-c11-toplev.diff::https://www.rockbox.org/gcc/gcc-c11-toplev.diff
+ md5sums = 295709feb4441b04e87dea3f1bab4281
+ md5sums = 6fd395bacbd7b6e47c7b74854b478363
+ md5sums = 4030ee1c08dd1e843c0225b772360e76
+ md5sums = eba17a209cf9550b66a4af0527956565
+ md5sums = ea3bba5ee50ba043b992eaa22161e141
sha256sums = 5ff75116b8f763fa0fb5621af80fc6fb3ea0f1b1a57520874982f03f26cd607f
sha256sums = a600550d3d2b2fb8ee6a547c68c3a08a2af7579290b340c35ee5598c9bb305a5
sha256sums = 2d369cf93c6e15c3559c3560bce581e0ae5f1f34dc86bca013ac67ef1c1a9ff9
sha256sums = 4df866dcfd528835393d2b6897651158faf6d84852158fbf2e4ffc113ec7d201
+ sha256sums = aa81059bc71f335c962db6bbb8c5857a5cc76e2eb33b82ce1ccd6cb536b2bc31
pkgname = gcc44
-
diff --git a/PKGBUILD b/PKGBUILD
index 10a89253d477..aee0af8156e5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,22 +19,34 @@ url='http://gcc.gnu.org/'
license=('GPL' 'LGPL' 'custom')
depends=('binutils' 'mpfr' 'cloog' 'zlib' 'elfutils')
makedepends=('setconf')
-makedepends+=('gcc49')
+#makedepends+=('gcc49')
conflicts=("gcc${_pkgver//\./}-multilib")
-options=('staticlibs' '!libtool')
+options=('staticlibs' '!libtool' '!buildflags')
source=(
"http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2"
'gcc-hash-style-both.patch'
'gcc_pure64.patch'
'siginfo_t_fix.patch'
+ '0000-gcc-c11-toplev.diff::https://www.rockbox.org/gcc/gcc-c11-toplev.diff'
)
+md5sums=('295709feb4441b04e87dea3f1bab4281'
+ '6fd395bacbd7b6e47c7b74854b478363'
+ '4030ee1c08dd1e843c0225b772360e76'
+ 'eba17a209cf9550b66a4af0527956565'
+ 'ea3bba5ee50ba043b992eaa22161e141')
sha256sums=('5ff75116b8f763fa0fb5621af80fc6fb3ea0f1b1a57520874982f03f26cd607f'
'a600550d3d2b2fb8ee6a547c68c3a08a2af7579290b340c35ee5598c9bb305a5'
'2d369cf93c6e15c3559c3560bce581e0ae5f1f34dc86bca013ac67ef1c1a9ff9'
- '4df866dcfd528835393d2b6897651158faf6d84852158fbf2e4ffc113ec7d201')
-PKGEXT='.pkg.tar.gz'
+ '4df866dcfd528835393d2b6897651158faf6d84852158fbf2e4ffc113ec7d201'
+ 'aa81059bc71f335c962db6bbb8c5857a5cc76e2eb33b82ce1ccd6cb536b2bc31')
+if [ -n "${_snapshot:-}" ]; then
+ _basedir="gcc-${_snapshot}"
+else
_basedir="gcc-${pkgver}"
+fi
+
+#_libdir="usr/lib/gcc/${CHOST}/${pkgver}"
prepare() {
set -u
@@ -50,10 +62,16 @@ prepare() {
patch -Np1 -i "${srcdir}/siginfo_t_fix.patch"
+ patch -Np1 -i "${srcdir}/0000-gcc-c11-toplev.diff"
+
case "${CARCH}" in
'x86_64') patch -Np1 -i '../gcc_pure64.patch';;
esac
+ # fix build with glibc 2.26
+ sed -e 's:\bstruct ucontext\b:ucontext_t:g' -i $(grep --include '*.[ch]' --include '*.cc' -lre '\bstruct ucontext\b')
+ sed -e 's:\bstruct sigaltstack\b:stack_t:g' -i $(grep --include '*.[ch]' --include '*.cc' -lre '\bstruct sigaltstack\b')
+
echo "${pkgver}" > 'gcc/BASE-VER'
setconf 'gcc/configure' 'BUILD_INFO' ''
@@ -66,57 +84,44 @@ prepare() {
build() {
set -u
- cd "${_basedir}/gcc-build"
-
- if [ ! -s 'Makefile' ]; then
- # Doesn't like FORTIFY_SOURCE
- CPPFLAGS="${CPPFLAGS//-D_FORTIFY_SOURCE=?/}"
-
- # Doesn't like -fstack-protector-strong
- CFLAGS="${CFLAGS//-fstack-protector-strong/-fstack-protector}"
- CXXFLAGS="${CXXFLAGS//-fstack-protector-strong/-fstack-protector}"
-
- # using -pipe causes spurious test-suite failures
- # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
- CFLAGS="${CFLAGS/-pipe/}"
- CXXFLAGS="${CXXFLAGS/-pipe/}"
-
- # Flags from new compilers that old compilers don't recognize
- CFLAGS="${CFLAGS/-fno-plt/}"
- CXXFLAGS="${CXXFLAGS/-fno-plt/}"
-
- CFLAGS="${CFLAGS/-Wformat-overflow=[0-9]/}"
- CXXFLAGS="${CXXFLAGS/-Wformat-overflow=[0-9]/}"
+ if [ ! -s "${_basedir}/gcc-build/Makefile" ]; then
+ cd "${_basedir}"
+ cd 'gcc-build'
# The following options are one per line, mostly sorted so they are easy to diff compare to other gcc packages.
- ../configure \
- --build="${CHOST}" \
- --enable-libgomp \
- --disable-libmudflap \
- --disable-libssp \
- --disable-libstdcxx-pch \
- --disable-multilib \
- --enable-__cxa_atexit \
- --enable-clocale='gnu' \
- --enable-languages='c,c++,fortran,objc,obj-c++' \
- --enable-shared \
- --enable-threads='posix' \
- --enable-version-specific-runtime-libs \
- --infodir='/usr/share/info' \
- --libdir='/usr/lib' \
- --libexecdir='/usr/lib' \
- --mandir='/usr/share/man' \
- --program-suffix="-${_pkgver}" \
- --with-cloog \
- --with-ppl \
- --with-system-zlib \
- --with-tune='generic' \
- --prefix='/usr' \
- CXX='g++-4.9' CC='gcc-4.9'
+ local _conf=(
+ --build="${CHOST}"
+ --disable-libmudflap
+ --disable-libssp
+ --disable-libstdcxx-pch
+ --disable-multilib
+ --enable-__cxa_atexit
+ --enable-clocale='gnu'
+ --enable-languages='c,c++,fortran,objc,obj-c++'
+ --enable-libgomp
+ --enable-shared
+ --enable-threads='posix'
+ --enable-version-specific-runtime-libs
+ --infodir='/usr/share/info'
+ --libdir='/usr/lib'
+ --libexecdir='/usr/lib'
+ --mandir='/usr/share/man'
+ --program-suffix="-${_pkgver}"
+ --with-cloog
+ --with-ppl
+ --with-system-zlib
+ --with-tune='generic'
+ --prefix='/usr'
+ #CXX='g++-4.9' CC='gcc-4.9'
+ )
+ ../configure "${_conf[@]}"
+
+ sed -e 's/^STAGE1_CXXFLAGS.*$/& -std=gnu++11/' -i 'Makefile'
fi
- local _nproc="$(nproc)"; _nproc=$((_nproc>8?8:_nproc))
- nice make -s -j "${_nproc}"
+ #LD_PRELOAD='/usr/lib/libstdc++.so' \\
+ nice make -s
+
set +u
}
@@ -124,7 +129,8 @@ package() {
set -u
cd "${_basedir}/gcc-build"
- make -s -j1 DESTDIR="${pkgdir}" install
+ #LD_PRELOAD='/usr/lib/libstdc++.so' \\
+ make -j1 DESTDIR="${pkgdir}" install
## Lazy way of dealing with conflicting man and info pages and locales...
rm -rf "${pkgdir}/usr/share/man/man7"