CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
gcc: removed multilib support
[crossrootfs.git] / gcc / Pkgfile
index a06c7e0e14a4184197b47dd4d6c108e956085677..b70a2d757fc14ce8be1661419a662176ec41dd9f 100644 (file)
@@ -5,25 +5,28 @@
 # Depends on: zlib libmpc
 
 name=gcc
-version=4.6.1
+version=5.3.0
 release=1
-source=(ftp://sources.redhat.com/pub/gcc/releases/$name-$version/$name-{core,g++}-$version.tar.bz2
-        $name-$version-gnueabihf.patch)
-
+source=(ftp://gcc.gnu.org/pub/gcc/releases/$name-$version/$name-$version.tar.bz2
+        $name-nocheck-fixincludes.patch gcc-$version-multilib-dirs.patch)
 
 build() {
+  patch -d $name-$version -p1 -i $SRC/$name-nocheck-fixincludes.patch
+  patch -d $name-$version -p1 -i $SRC/$name-$version-multilib-dirs.patch
   cd $name-$version
-  
-  patch -p1 -i $SRC/$name-$version-gnueabihf.patch
-  sed -i 's|REVISION|REVISION " (CRUX)"|' $name/version.c
-  # apply a sed substitutio that will suppress the installation of libiberty.a
+
+  sed -i 's|REVISION|REVISION " (CRUX-ARM 64b)"|' $name/version.c
+  # apply a sed substitution that will suppress the installation of libiberty.a
   sed 's|install_to_$(INSTALL_DEST) ||' -i libiberty/Makefile.in
 
   mkdir $SRC/build
   cd $SRC/build
 
+  export CXXFLAGS="-O2 -pipe"
   LDFLAGS="-Wl,-rpath-link,$CROSSTOOLS/$CTARGET/lib" \
-  ../$name-$version/configure --build=$MACHTYPE \
+  ../$name-$version/configure --build=$CHOST \
+                              --host=$CTARGET \
+                              --target=$CTARGET \
                               --prefix=/usr \
                               --mandir=/usr/man \
                               --libexecdir=/usr/lib \
@@ -33,17 +36,23 @@ build() {
                               --enable-__cxa_atexit \
                               --enable-clocale=gnu \
                               --enable-shared \
-                              --with-float=hard \
                               --disable-nls \
                               --with-x=no \
                               --with-system-zlib \
-                              --with-pkgversion="CRUX"
+                              --with-pkgversion="CRUX-ARM 64b"
 
   # prevent GCC from looking in the wrong directories for headers and libraries
   sed "/^HOST_\(GMP\|PPL\|CLOOG\)\(LIBS\|INC\)/s:-[IL]/\(lib\|include\)::" -i Makefile
 
   make
-  make DESTDIR=$PKG install
+  # prevent libtool from adding host lib paths for relink at install
+  # based on patch submitted by Vincent Cadet for libtool bug #21455
+  # see https://lists.gnu.org/archive/html/bug-libtool/2015-09/msg00012.html
+  for lt_file in $(find $SRC/build/$CTARGET -name libtool) ; do
+    sed -i 's/\(add_dir=\"\)\$add_dir \(-L\$inst_prefix_dir\$libdir\"\)/\1\2/' $lt_file
+  done
+
+  make -j1 DESTDIR=$PKG install
 
   mkdir $PKG/lib
   ln -sf ../usr/bin/cpp $PKG/lib/cpp
@@ -52,9 +61,9 @@ build() {
 
   mv $PKG/usr/lib/gcc/*/$version/include-fixed/{limits.h,syslimits.h} $PKG/usr/lib/gcc/*/$version/include/
 
-  rm $PKG/usr/lib/libstdc++.so.6.0.16-gdb.py
+  rm $PKG/usr/lib64/libstdc++.so.6.0.21-gdb.py
   rm -r $PKG/usr/share
   rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed}
 
-  sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/{libstdc++.la,libsupc++.la}
+  sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib64/{libstdc++.la,libsupc++.la}
 }