gcc-fortran: build as pure 64bit only

This commit is contained in:
Danny Rawlins 2014-01-09 22:34:07 +11:00
parent 12e56b29fa
commit bed270d60a
4 changed files with 32 additions and 75 deletions

View File

@ -2,41 +2,18 @@ drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
lrwxrwxrwx root/root usr/bin/f90 -> gfortran
lrwxrwxrwx root/root usr/bin/f95 -> gfortran
lrwxrwxrwx root/root usr/bin/g77 -> gfortran
-rwxr-xr-x root/root usr/bin/gfortran
drwxr-xr-x root/root usr/lib/
drwxr-xr-x root/root usr/lib/gcc/
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/32/
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/32/libcaf_single.a
-rwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/32/libcaf_single.la
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/32/libgfortranbegin.a
-rwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/32/libgfortranbegin.la
-rwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/f951
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/finclude/
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/finclude/omp_lib.f90
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/finclude/omp_lib.h
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/finclude/omp_lib.mod
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/finclude/omp_lib_kinds.mod
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed/
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed/libdevmapper.h
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed/limits.h
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed/linux/
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed/linux/a.out.h
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed/openssl/
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed/openssl/bn.h
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed/syslimits.h
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/
-rwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/fixinc.sh
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/fixinc_list
-rwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/fixincl
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/gsyslimits.h
drwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/include/
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/include/limits.h
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/macro_list
-rwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/mkheaders
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/mkheaders.conf
-rwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/install-tools/mkinstalldirs
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/libcaf_single.a
-rwxr-xr-x root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/libcaf_single.la
-rw-r--r-- root/root usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/libgfortranbegin.a
@ -47,13 +24,6 @@ lrwxrwxrwx root/root usr/lib/libgfortran.so -> libgfortran.so.3.0.0
lrwxrwxrwx root/root usr/lib/libgfortran.so.3 -> libgfortran.so.3.0.0
-rwxr-xr-x root/root usr/lib/libgfortran.so.3.0.0
-rw-r--r-- root/root usr/lib/libgfortran.spec
drwxr-xr-x root/root usr/lib32/
-rw-r--r-- root/root usr/lib32/libgfortran.a
-rwxr-xr-x root/root usr/lib32/libgfortran.la
lrwxrwxrwx root/root usr/lib32/libgfortran.so -> libgfortran.so.3.0.0
lrwxrwxrwx root/root usr/lib32/libgfortran.so.3 -> libgfortran.so.3.0.0
-rwxr-xr-x root/root usr/lib32/libgfortran.so.3.0.0
-rw-r--r-- root/root usr/lib32/libgfortran.spec
drwxr-xr-x root/root usr/man/
drwxr-xr-x root/root usr/man/man1/
-rw-r--r-- root/root usr/man/man1/gfortran.1.gz

View File

@ -1,3 +1,2 @@
61a057afa31006764b957a483ba90b9d gcc-4.7.3-multilib-dirs.patch
86f428a30379bdee0224e353ee2f999e gcc-4.7.3.tar.bz2
7c9128522053af79791bcfdd55834c2a gcc-nocheck-fixincludes.patch

View File

@ -6,17 +6,15 @@
name=gcc-fortran
version=4.7.3
release=1
release=2
source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-$version/gcc-$version.tar.bz2
gcc-nocheck-fixincludes.patch gcc-$version-multilib-dirs.patch)
gcc-nocheck-fixincludes.patch)
build() {
patch -d gcc-$version -p 1 -i $SRC/gcc-nocheck-fixincludes.patch
patch -d gcc-$version -p 1 -i $SRC/gcc-$version-multilib-dirs.patch
mkdir build
cd build
../gcc-$version/configure \
--prefix=/usr \
--mandir=/usr/man \
@ -29,39 +27,52 @@ build() {
--disable-nls \
--with-x=no \
--with-system-zlib \
--enable-multilib \
--with-pkgversion="CRUX-x86_64-multilib"
--disable-multilib \
--disable-sjlj-exceptions \
--with-pkgversion="CRUX-x86_64"
if [ -n "$(pkginfo -i | grep '^ccache ')" ]; then
make STAGE_CC_WRAPPER='/usr/bin/ccache' BOOT_CFLAGS="$CFLAGS" bootstrap
else
make BOOT_CFLAGS="$CFLAGS" bootstrap
fi
make BOOT_CFLAGS="$CFLAGS" bootstrap
#make -j 1 check
make -j 1 DESTDIR=$PKG install
ln -fs gfortran $PKG/usr/bin/f90
ln -fs gfortran $PKG/usr/bin/f95
ln -fs gfortran $PKG/usr/bin/g77
# pure 64-bit has lib64 symlink to lib
mv $PKG/usr/lib64/* $PKG/usr/lib/
rmdir $PKG/usr/lib64
# remove un-needed files
find $PKG -name 'README' -delete
rm \
$PKG/usr/lib{,32}/libstdc++.so.6.0.17-gdb.py \
$PKG/usr/lib/libiberty.a \
$PKG/usr/bin/*-linux-gnu-* \
$PKG/usr/man/man1/{cpp,g++,gcc,gcov}.1
rm -r \
$PKG/usr/man/man7 \
$PKG/usr/share/info \
$PKG/usr/share/gcc-4.7.3/python
# remove files already on the system out of the port
for i in $(pkginfo -l gcc | sed -e "s|^|/|"); do
for i in $(pkginfo -l gcc | sed -e "s|^|/|") $(pkginfo -l binutils | sed -e "s|^|/|"); do
if [ -e "$i" ] && [ ! -d "$i" ]; then
if [ -e "$PKG$i" ]; then
rm "$PKG$i"
fi
# check for compressed manpages
if [ -e "$PKG${i%%.gz}" ]; then
rm "$PKG${i%%.gz}"
fi
fi
done
rm \
$PKG/usr/lib/libstdc++.so.6.0.17-gdb.py \
$PKG/usr/bin/*-linux-gnu-*
rm -r \
$PKG/usr/man/man7 \
$PKG/usr/share/info \
$PKG/usr/share/gcc-4.7.3/python \
$PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed}
# Remove empty directories
find $PKG -depth -empty -exec rm -r {} \;

View File

@ -1,23 +0,0 @@
diff -Nru gcc-4.7.3.orig/gcc/config/i386/linux64.h gcc-4.7.3/gcc/config/i386/linux64.h
--- gcc-4.7.3.orig/gcc/config/i386/linux64.h 2013-04-13 18:33:41.015109554 +0200
+++ gcc-4.7.3/gcc/config/i386/linux64.h 2013-04-13 18:34:01.147713013 +0200
@@ -28,6 +28,6 @@
#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-#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"
#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
diff -Nru gcc-4.7.3.orig/gcc/config/i386/t-linux64 gcc-4.7.3/gcc/config/i386/t-linux64
--- gcc-4.7.3.orig/gcc/config/i386/t-linux64 2013-04-13 18:33:41.015109554 +0200
+++ gcc-4.7.3/gcc/config/i386/t-linux64 2013-04-13 18:39:13.269752565 +0200
@@ -34,6 +34,6 @@
comma=,
MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)