diff options
author | Chris Severance | 2016-01-04 20:10:00 -0500 |
---|---|---|
committer | Chris Severance | 2016-01-04 20:10:00 -0500 |
commit | 55dabb5e9498f3fd45e14a52314577e0a6c80609 (patch) | |
tree | 4660e69f4357471ee9c02a0778d9efbff3357b26 | |
download | aur-55dabb5e9498f3fd45e14a52314577e0a6c80609.tar.gz |
Initial Import
-rw-r--r-- | .SRCINFO | 39 | ||||
-rw-r--r-- | PKGBUILD | 102 | ||||
-rw-r--r-- | gcc-hash-style-both.patch | 163 | ||||
-rw-r--r-- | gcc_pure64.patch | 26 |
4 files changed, 330 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..03d28771d6a4 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,39 @@ +# Generated by mksrcinfo v8 +# Tue Jan 5 00:52:38 UTC 2016 +pkgbase = gcc45 + pkgdesc = The GNU Compiler Collection (4.5.x) + pkgver = 4.5.4 + pkgrel = 3 + url = http://gcc.gnu.org + arch = i686 + arch = x86_64 + license = GPL + license = LGPL + license = custom + makedepends = flex + makedepends = bison + makedepends = setconf + makedepends = gcc49 + depends = glibc + depends = binutils + depends = gmp + depends = mpfr + depends = libmpc + depends = ppl + depends = isl + depends = cloog + depends = elfutils + provides = gcc=4.5.4 + conflicts = gcc45-multilib + options = !libtool + options = !buildflags + options = staticlibs + source = http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.5.4/gcc-4.5.4.tar.bz2 + source = gcc-hash-style-both.patch + source = gcc_pure64.patch + sha256sums = eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc + sha256sums = a600550d3d2b2fb8ee6a547c68c3a08a2af7579290b340c35ee5598c9bb305a5 + sha256sums = 2d369cf93c6e15c3559c3560bce581e0ae5f1f34dc86bca013ac67ef1c1a9ff9 + +pkgname = gcc45 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..48ddfbe47199 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,102 @@ +# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com +# Contributor: Christian Babeux <christian.babeux@0x80.ca> +# Contributor: Tianjiao Yin <ytj000(at)gmail(dot)(see)(oh)(em)> +# Contributor: Allan McRae <allan@archlinux.org> + +set -u +pkgname='gcc45' +pkgver='4.5.4' +pkgrel='3' +pkgdesc='The GNU Compiler Collection (4.5.x)' +arch=('i686' 'x86_64') +url='http://gcc.gnu.org' +license=('GPL' 'LGPL' 'custom') +depends=('glibc' 'binutils' 'gmp' 'mpfr' 'libmpc' 'ppl' 'isl' 'cloog' 'elfutils') +makedepends=('flex' 'bison' 'setconf' 'gcc49') # gcc48 also works if you change -4.9 below +provides=("gcc=${pkgver}") +conflicts=('gcc45-multilib') +options=('!libtool' '!buildflags' 'staticlibs') +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') + +sha256sums=('eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc' + 'a600550d3d2b2fb8ee6a547c68c3a08a2af7579290b340c35ee5598c9bb305a5' + '2d369cf93c6e15c3559c3560bce581e0ae5f1f34dc86bca013ac67ef1c1a9ff9') + +prepare() { + set -u + cd "gcc-${pkgver}" + + # Do not install libiberty + sed -i -e 's:install_to_$(INSTALL_DEST) ::' 'libiberty/Makefile.in' + + # Do not run fixincludes + sed -i -e 's:\./fixinc\.sh:-c true:' 'gcc/Makefile.in' + + patch -Np0 -i "${srcdir}/gcc-hash-style-both.patch" + + case "${CARCH}" in + 'x86_64') patch -Np1 -i "${srcdir}/gcc_pure64.patch"; false;; + esac + + echo "${pkgver}" > 'gcc/BASE-VER' + + setconf 'gcc/configure' 'BUILD_INFO' '' + + rm -rf 'build' + mkdir 'build' + cd 'build' + + ../configure \ + --prefix='/usr' \ + --mandir='/usr/share/man' \ + --infodir='/usr/share/info' \ + --libdir='/usr/lib' \ + --libexecdir='/usr/lib' \ + --program-suffix='-4.5' \ + --enable-shared \ + --enable-languages='c,c++,fortran,objc,obj-c++' \ + --enable-__cxa_atexit \ + --disable-libstdcxx-pch \ + --disable-multilib \ + --disable-libgomp \ + --disable-libmudflap \ + --disable-libssp \ + --enable-clocale='gnu' \ + --with-tune='generic' \ + --with-cloog \ + --with-ppl \ + --with-system-zlib \ + CXX='g++-4.9' CC='gcc-4.9' + set +u +} + +build() { + set -u + cd "gcc-${pkgver}" + local _nproc="$(nproc)"; _nproc=$((_nproc>8?8:_nproc)) + make -j "${_nproc}" + set +u +} + +package() { + set -u + cd "gcc-${pkgver}/build" + + make install DESTDIR="${pkgdir}" + rm -rf "${pkgdir}/usr/share/man/man7" + rm -rf "${pkgdir}/usr/share/locale" + mv "${pkgdir}"/usr/lib/lib* "${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/" + + # Install Runtime Library Exception + install -Dpm644 '../COPYING.RUNTIME' \ + "${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION" + + # Create links for gcc-4.5 build environment (useful for CUDA) + mkdir -p "${pkgdir}/opt/gcc-4.5" + ln -s '/usr/bin/gcc-4.5' "${pkgdir}/opt/gcc-4.5/gcc" + ln -s '/usr/bin/g++-4.5' "${pkgdir}/opt/gcc-4.5/g++" + set +u +} +set +u diff --git a/gcc-hash-style-both.patch b/gcc-hash-style-both.patch new file mode 100644 index 000000000000..fbb21059896b --- /dev/null +++ b/gcc-hash-style-both.patch @@ -0,0 +1,163 @@ +#! /bin/sh -e + +# DP: Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc) + +dir= +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +2006-07-11 Jakub Jelinek <jakub@redhat.com> + + * config/i386/linux.h (LINK_SPEC): Add --hash-style=both. + * config/i386/linux64.h (LINK_SPEC): Likewise. + * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise. + * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, + LINK_OS_LINUX_SPEC64): Likewise. + * config/s390/linux.h (LINK_SPEC): Likewise. + * config/ia64/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC, + LINK_ARCH64_SPEC): Likewise. + * config/alpha/linux-elf.h (LINK_SPEC): Likewise. + +--- gcc/config/alpha/linux-elf.h.orig 2007-08-04 08:55:58.000000000 +0200 ++++ gcc/config/alpha/linux-elf.h 2007-09-01 15:47:26.605865578 +0200 +@@ -39,7 +39,7 @@ + + #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER + +-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \ ++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \ + %{O*:-O3} %{!O*:-O1} \ + %{shared:-shared} \ + %{!shared: \ +--- gcc/config/s390/linux.h.orig 2007-08-04 08:55:59.000000000 +0200 ++++ gcc/config/s390/linux.h 2007-09-01 15:47:26.605865578 +0200 +@@ -77,7 +77,7 @@ + + #undef LINK_SPEC + #define LINK_SPEC \ +- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \ ++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{static:-static} \ +--- gcc/config/sparc/linux.h.orig 2007-08-04 08:56:01.000000000 +0200 ++++ gcc/config/sparc/linux.h 2007-09-01 15:47:26.605865578 +0200 +@@ -132,7 +132,7 @@ + + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ ++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \ + %{!mno-relax:%{!r:-relax}} \ + %{!shared: \ + %{!ibcs: \ +--- gcc/config/sparc/linux64.h.orig 2007-08-04 08:56:01.000000000 +0200 ++++ gcc/config/sparc/linux64.h 2007-09-01 15:47:26.605865578 +0200 +@@ -166,7 +166,7 @@ + { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \ + { "link_arch", LINK_ARCH_SPEC }, + +-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \ ++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +@@ -175,7 +175,7 @@ + %{static:-static}}} \ + " + +-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ ++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +@@ -256,7 +256,7 @@ + #else /* !SPARC_BI_ARCH */ + + #undef LINK_SPEC +-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \ ++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +--- gcc/config/i386/linux.h.orig 2007-08-04 08:56:07.000000000 +0200 ++++ gcc/config/i386/linux.h 2007-09-01 15:47:26.605865578 +0200 +@@ -108,7 +108,7 @@ + { "dynamic_linker", LINUX_DYNAMIC_LINKER } + + #undef LINK_SPEC +-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \ ++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \ + %{!shared: \ + %{!ibcs: \ + %{!static: \ +--- gcc/config/i386/linux64.h.orig 2007-08-04 08:56:07.000000000 +0200 ++++ gcc/config/i386/linux64.h 2007-09-01 15:48:27.336781690 +0200 +@@ -65,7 +65,7 @@ + #endif + + #undef LINK_SPEC +-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \ ++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- gcc/config/ia64/linux.h.orig 2006-12-12 18:59:53.000000000 +0100 ++++ gcc/config/ia64/linux.h 2007-09-01 15:47:26.605865578 +0200 +@@ -40,7 +40,7 @@ + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2" + + #undef LINK_SPEC +-#define LINK_SPEC "\ ++#define LINK_SPEC "--hash-style=both \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ +--- gcc/config/rs6000/sysv4.h.orig 2007-08-08 23:37:49.000000000 +0200 ++++ gcc/config/rs6000/sysv4.h 2007-09-01 15:47:26.615865729 +0200 +@@ -901,7 +901,7 @@ + #define LINUX_DYNAMIC_LINKER \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) + +-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}" + +--- gcc/config/rs6000/linux64.h.orig 2007-08-04 08:56:12.000000000 +0200 ++++ gcc/config/rs6000/linux64.h 2007-09-01 15:47:26.615865729 +0200 +@@ -354,11 +354,11 @@ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) + + +-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}" + +-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \ ++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}" + diff --git a/gcc_pure64.patch b/gcc_pure64.patch new file mode 100644 index 000000000000..8c0baf8e2c0e --- /dev/null +++ b/gcc_pure64.patch @@ -0,0 +1,26 @@ +diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h +--- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400 ++++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400 +@@ -49,8 +49,8 @@ + When the -shared link option is used a final link is not being + done. */ + +-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" + + #undef LINK_SPEC + #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \ +diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64 +--- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400 ++++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400 +@@ -6,7 +6,7 @@ + + MULTILIB_OPTIONS = m64/m32 + MULTILIB_DIRNAMES = 64 32 +-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES = ../lib ../lib32 + + LIBGCC = stmp-multilib + INSTALL_LIBGCC = install-multilib |