From 19207cafa82729c9fd2312b2d13691c64f954832 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 Dec 2013 05:42:24 +0100 Subject: [PATCH] gcc, gcc-core, gcc-final, gcc-initramfs: convert to new package format Signed-off-by: Stephan Raue --- packages/devel/eglibc/package.mk | 2 +- packages/initramfs/lang/gcc-initramfs/install | 28 --- packages/initramfs/lang/gcc-initramfs/meta | 36 ---- packages/lang/gcc/package.mk | 190 ++++++++++++++++++ .../gcc/patches/gcc-4.7.3-cloog-0.17.patch | 0 ...-4.7.3-disable_multilib_i386_linux64.patch | 0 .../patches/gcc-4.7.3-dynamic_linker.patch | 0 .../gcc-4.7.3-libstdc++-v3_config.patch | 0 ...Support-fuse-ld-bfd-and-fuse-ld-gold.patch | 0 packages/sysutils/v86d/package.mk | 2 +- packages/toolchain/lang/gcc-core/build | 70 ------- packages/toolchain/lang/gcc-core/meta | 36 ---- packages/toolchain/lang/gcc-final/build | 107 ---------- packages/toolchain/lang/gcc-final/install | 28 --- packages/toolchain/lang/gcc-final/meta | 36 ---- packages/toolchain/lang/gcc/meta | 36 ---- packages/toolchain/meta | 2 +- packages/tools/plymouth-lite/package.mk | 2 +- scripts/image | 2 +- 19 files changed, 195 insertions(+), 382 deletions(-) delete mode 100755 packages/initramfs/lang/gcc-initramfs/install delete mode 100644 packages/initramfs/lang/gcc-initramfs/meta create mode 100644 packages/lang/gcc/package.mk rename packages/{toolchain => }/lang/gcc/patches/gcc-4.7.3-cloog-0.17.patch (100%) rename packages/{toolchain => }/lang/gcc/patches/gcc-4.7.3-disable_multilib_i386_linux64.patch (100%) rename packages/{toolchain => }/lang/gcc/patches/gcc-4.7.3-dynamic_linker.patch (100%) rename packages/{toolchain => }/lang/gcc/patches/gcc-4.7.3-libstdc++-v3_config.patch (100%) rename packages/{toolchain => }/lang/gcc/patches/gcc-Support-fuse-ld-bfd-and-fuse-ld-gold.patch (100%) delete mode 100755 packages/toolchain/lang/gcc-core/build delete mode 100644 packages/toolchain/lang/gcc-core/meta delete mode 100755 packages/toolchain/lang/gcc-final/build delete mode 100755 packages/toolchain/lang/gcc-final/install delete mode 100644 packages/toolchain/lang/gcc-final/meta delete mode 100644 packages/toolchain/lang/gcc/meta diff --git a/packages/devel/eglibc/package.mk b/packages/devel/eglibc/package.mk index e6d14a366d..acb5cd79d2 100644 --- a/packages/devel/eglibc/package.mk +++ b/packages/devel/eglibc/package.mk @@ -27,7 +27,7 @@ PKG_SITE="http://www.eglibc.org/" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_DEPENDS_TARGET="timezone-data" PKG_DEPENDS_INIT="" -PKG_BUILD_DEPENDS_TARGET="ccache autotools autoconf-2.68 linux-headers gcc-core" +PKG_BUILD_DEPENDS_TARGET="ccache autotools autoconf-2.68 linux-headers gcc:bootstrap" PKG_BUILD_DEPENDS_INIT="eglibc" PKG_PRIORITY="optional" PKG_SECTION="toolchain/devel" diff --git a/packages/initramfs/lang/gcc-initramfs/install b/packages/initramfs/lang/gcc-initramfs/install deleted file mode 100755 index b4bc9ce410..0000000000 --- a/packages/initramfs/lang/gcc-initramfs/install +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -. config/options $1 - -GCC_DIR="$BUILD/gcc-*" - -mkdir -p $INSTALL/lib - cp -P $GCC_DIR/objdir-gcc-final/$TARGET_NAME/libgcc/libgcc_s.so* $INSTALL/lib diff --git a/packages/initramfs/lang/gcc-initramfs/meta b/packages/initramfs/lang/gcc-initramfs/meta deleted file mode 100644 index 80b8cf87bf..0000000000 --- a/packages/initramfs/lang/gcc-initramfs/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="gcc-initramfs" -PKG_VERSION="" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://gcc.gnu.org/" -PKG_URL="" -PKG_DEPENDS="" -PKG_BUILD_DEPENDS="gcc-final" -PKG_PRIORITY="optional" -PKG_SECTION="initramfs/lang" -PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)" -PKG_LONGDESC="This package contains the GNU Compiler Collection. It includes compilers for the languages C, C++, Objective C, Fortran 95, Java and others ... This GCC contains the Stack-Smashing Protector Patch which can be enabled with the -fstack-protector command-line option. More information about it ca be found at http://www.research.ibm.com/trl/projects/security/ssp/." -PKG_IS_ADDON="no" - -PKG_AUTORECONF="no" diff --git a/packages/lang/gcc/package.mk b/packages/lang/gcc/package.mk new file mode 100644 index 0000000000..85cbd5bddd --- /dev/null +++ b/packages/lang/gcc/package.mk @@ -0,0 +1,190 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="gcc" +PKG_VERSION="4.7.3" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://gcc.gnu.org/" +PKG_URL="ftp://ftp.gnu.org/gnu/gcc/$PKG_NAME-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="ccache autoconf-2.64 binutils gmp:host mpfr mpc cloog ppl:host" +PKG_BUILD_DEPENDS_BOOTSTRAP="ccache autoconf-2.64 binutils gmp:host mpfr mpc cloog ppl:host" +PKG_BUILD_DEPENDS_TARGET="gcc:host" +PKG_BUILD_DEPENDS_HOST="ccache autoconf-2.64 binutils gmp:host mpfr mpc cloog ppl:host eglibc" +PKG_PRIORITY="optional" +PKG_SECTION="lang" +PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)" +PKG_LONGDESC="This package contains the GNU Compiler Collection. It includes compilers for the languages C, C++, Objective C, Fortran 95, Java and others ... This GCC contains the Stack-Smashing Protector Patch which can be enabled with the -fstack-protector command-line option. More information about it ca be found at http://www.research.ibm.com/trl/projects/security/ssp/." + +PKG_IS_ADDON="no" +PKG_AUTORECONF="no" + +BOOTSTRAP_CONFIGURE_OPTS="--host=$HOST_NAME \ + --build=$HOST_NAME \ + --target=$TARGET_NAME \ + --prefix=$ROOT/$TOOLCHAIN \ + --with-sysroot=$SYSROOT_PREFIX \ + --with-gmp=$ROOT/$TOOLCHAIN \ + --with-mpfr=$ROOT/$TOOLCHAIN \ + --with-mpc=$ROOT/$TOOLCHAIN \ + --with-ppl=$ROOT/$TOOLCHAIN \ + --disable-ppl-version-check \ + --with-cloog=$ROOT/$TOOLCHAIN \ + --with-gnu-as \ + --with-gnu-ld \ + --enable-languages=c \ + --disable-__cxa_atexit \ + --disable-libada \ + --disable-libmudflap \ + --disable-libatomic \ + --enable-gold \ + --enable-ld=default \ + --enable-plugin \ + --enable-lto \ + --disable-libquadmath \ + --disable-libssp \ + --disable-libgomp \ + --enable-cloog-backend=isl \ + --disable-shared \ + --disable-multilib \ + --disable-threads \ + --without-headers \ + --with-newlib \ + --disable-decimal-float \ + $GCC_OPTS \ + --disable-nls" + +PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \ + --with-sysroot=$SYSROOT_PREFIX \ + --with-gmp=$ROOT/$TOOLCHAIN \ + --with-mpfr=$ROOT/$TOOLCHAIN \ + --with-mpc=$ROOT/$TOOLCHAIN \ + --with-ppl=$ROOT/$TOOLCHAIN \ + --disable-ppl-version-check \ + --with-cloog=$ROOT/$TOOLCHAIN \ + --enable-languages=${TOOLCHAIN_LANGUAGES} \ + --with-gnu-as \ + --with-gnu-ld \ + --enable-__cxa_atexit \ + --disable-libada \ + --enable-decimal-float \ + --disable-libmudflap \ + --disable-libssp \ + --disable-multilib \ + --disable-libatomic \ + --enable-gold \ + --enable-ld=default \ + --enable-plugin \ + --enable-lto \ + --disable-libquadmath \ + --enable-cloog-backend=isl \ + --enable-tls \ + --enable-shared \ + --enable-c99 \ + --enable-long-long \ + --enable-threads=posix \ + --disable-libstdcxx-pch \ + --enable-clocale=gnu \ + $GCC_OPTS \ + --disable-nls" + +pre_configure_bootstrap() { + setup_toolchain host +} + +makeinstall_bootstrap() { + make install +} + +post_make_host() { + # fix wrong link + rm -rf $TARGET_NAME/libgcc/libgcc_s.so + ln -sf libgcc_s.so.1 $TARGET_NAME/libgcc/libgcc_s.so + + if [ ! "$DEBUG" = yes ]; then + $TARGET_STRIP $TARGET_NAME/libgcc/libgcc_s.so* + $TARGET_STRIP $TARGET_NAME/libgomp/.libs/libgomp.so* + $TARGET_STRIP $TARGET_NAME/libitm/.libs/libitm.so* + $TARGET_STRIP $TARGET_NAME/libstdc++-v3/src/.libs/libstdc++.so* + fi +} + +post_makeinstall_host() { + cp -PR $TARGET_NAME/libstdc++-v3/src/.libs/libstdc++.so* $SYSROOT_PREFIX/usr/lib + + GCC_VERSION=`$ROOT/$TOOLCHAIN/$TARGET_NAME/bin/gcc -dumpversion` + DATE="0501`echo $GCC_VERSION | sed 's/\([0-9]\)/0\1/g' | sed 's/\.//g'`" + CROSS_CC=$TARGET_CC-$GCC_VERSION + CROSS_CXX=$TARGET_CXX-$GCC_VERSION + + rm -f $TARGET_CC + +cat > $TARGET_CC < $TARGET_CXX < $TARGET_CC < $TARGET_CXX <