[oe] [PATCH v2] gcc-cross, gcc-cross-sdk: Link libmpfr, libgmp, libmpc and libelf statically into gcc
Tom Rini
tom_rini at mentor.com
Tue Sep 21 20:31:51 UTC 2010
Khem Raj wrote:
> * Generate static version of these libraries
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
Acked-by: Tom Rini <tom_rini at mentor.com>
> ---
> recipes/gcc/gcc-configure-canadian-sdk.inc | 7 +++++++
> recipes/gcc/gcc-configure-cross.inc | 7 +++++++
> recipes/gcc/gcc-configure-sdk.inc | 8 ++++++++
> recipes/gmp/gmp.inc | 7 +++++++
> recipes/gmp/gmp_4.2.4.bb | 14 +++++++-------
> recipes/gmp/gmp_5.0.1.bb | 5 +----
> recipes/libelf/libelf_0.8.13.bb | 2 ++
> recipes/libmpc/libmpc_0.8.1.bb | 4 +++-
> recipes/libmpc/libmpc_0.8.2.bb | 2 ++
> recipes/mpfr/mpfr_3.0.0.bb | 2 ++
> recipes/mpfr/mpfr_svn.bb | 2 ++
> 11 files changed, 48 insertions(+), 12 deletions(-)
>
> diff --git a/recipes/gcc/gcc-configure-canadian-sdk.inc b/recipes/gcc/gcc-configure-canadian-sdk.inc
> index 83ae6f5..5e27358 100644
> --- a/recipes/gcc/gcc-configure-canadian-sdk.inc
> +++ b/recipes/gcc/gcc-configure-canadian-sdk.inc
> @@ -71,6 +71,13 @@ EXTRA_OECONF_PATHS = " \
>
> do_configure () {
> # Work around Hardcoded path assumptions in gcc
> + # Make sure we use GMP/MPFR statically
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> (cd ${S} && gnu-configize) || die "failure running gnu-configize"
> (cd ${S}/libstdc++-v3 && autoreconf)
> canadian_sdk_runconf
> diff --git a/recipes/gcc/gcc-configure-cross.inc b/recipes/gcc/gcc-configure-cross.inc
> index c3c2b66..7041fcf 100644
> --- a/recipes/gcc/gcc-configure-cross.inc
> +++ b/recipes/gcc/gcc-configure-cross.inc
> @@ -17,6 +17,13 @@ do_configure_prepend () {
> export OBJCOPY_FOR_TARGET="${TARGET_SYS}-objcopy"
> export STRIP_FOR_TARGET="${TARGET_SYS}-strip"
> export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}"
> + # Make sure we use GMP/MPFR statically
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> }
>
> LIBGCCS_VAR = "-lgcc_s"
> diff --git a/recipes/gcc/gcc-configure-sdk.inc b/recipes/gcc/gcc-configure-sdk.inc
> index 328e780..c8fae11 100644
> --- a/recipes/gcc/gcc-configure-sdk.inc
> +++ b/recipes/gcc/gcc-configure-sdk.inc
> @@ -35,6 +35,14 @@ do_configure () {
> export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
> export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
> export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
> + # Make sure we use GMP/MPFR statically
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_GMPLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_PPLLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.tpl
> + sed -i 's/^\(HOST_LIBELFLIBS =\) \(.*\)$/\1 -Wl,-Bstatic \2 -Wl,-Bdynamic/' ${S}/Makefile.in
> +
> (cd ${S} && gnu-configize) || die "failure running gnu-configize"
> oe_runconf
> }
> diff --git a/recipes/gmp/gmp.inc b/recipes/gmp/gmp.inc
> index 55209f3..522189d 100644
> --- a/recipes/gmp/gmp.inc
> +++ b/recipes/gmp/gmp.inc
> @@ -2,6 +2,7 @@ SECTION = "libs"
> DESCRIPTION = "GNU multiprecision arithmetic library"
> HOMEPAGE = "http://www.swox.com/gmp/"
> LICENSE = "GPL LGPL"
> +INC_PR = "r1"
>
> SRC_URI = "${GNU_MIRROR}/gmp/gmp-${PV}.tar.bz2;name=gmp \
> file://configure.patch \
> @@ -11,5 +12,11 @@ inherit autotools
>
> ARM_INSTRUCTION_SET = "arm"
>
> +
> +EXTRA_OECONF_append_virtclass-native = " --enable-static"
> +
> +BBCLASSEXTEND = "native nativesdk"
> +NATIVE_INSTALL_WORKS = "1"
> +
> acpaths = ""
>
> diff --git a/recipes/gmp/gmp_4.2.4.bb b/recipes/gmp/gmp_4.2.4.bb
> index af05875..6eb1ecb 100644
> --- a/recipes/gmp/gmp_4.2.4.bb
> +++ b/recipes/gmp/gmp_4.2.4.bb
> @@ -1,13 +1,13 @@
> -INC_PR = "r0"
> +require gmp.inc
> +
> +SRC_URI += "file://sh4-asmfix.patch \
> + file://use-includedir.patch \
> + file://dont_use_mips_h_constraint.patch \
> + "
> +
> PR = "${INC_PR}.5"
>
> -SRC_URI_append += "file://sh4-asmfix.patch \
> - file://use-includedir.patch \
> - file://dont_use_mips_h_constraint.patch \
> - "
> -require gmp.inc
> LICENSE = "GPLv3 LGPLv3"
> -BBCLASSEXTEND = "nativesdk"
>
> SRC_URI[gmp.md5sum] = "fc1e3b3a2a5038d4d74138d0b9cf8dbe"
> SRC_URI[gmp.sha256sum] = "5420b0e558a69a53b36f2b2c70a69f547e075d98366a585fc80cbbcce1efe368"
> diff --git a/recipes/gmp/gmp_5.0.1.bb b/recipes/gmp/gmp_5.0.1.bb
> index 0b117b1..95cb771 100644
> --- a/recipes/gmp/gmp_5.0.1.bb
> +++ b/recipes/gmp/gmp_5.0.1.bb
> @@ -1,8 +1,5 @@
> -INC_PR = "r0"
> +require gmp.inc
> PR = "${INC_PR}.1"
> SRC_URI[gmp.md5sum] = "6bac6df75c192a13419dfd71d19240a7"
> SRC_URI[gmp.sha256sum] = "a2a610f01fd3298dc08c87bf30498c2402590e1bcb227fc40b15ee6d280939fb"
> -require gmp.inc
> LICENSE = "GPLv3 LGPLv3"
> -NATIVE_INSTALL_WORKS = "1"
> -BBCLASSEXTEND = "native nativesdk"
> diff --git a/recipes/libelf/libelf_0.8.13.bb b/recipes/libelf/libelf_0.8.13.bb
> index 27fee38..ea19b35 100644
> --- a/recipes/libelf/libelf_0.8.13.bb
> +++ b/recipes/libelf/libelf_0.8.13.bb
> @@ -12,6 +12,8 @@ PARALLEL_MAKE = ""
>
> TARGET_CC_ARCH += "${LDFLAGS}"
>
> +EXTRA_OECONF_append_virtclass-native = " --enable-static"
> +
> do_configure_prepend () {
> if test ! -e acinclude.m4; then
> cp aclocal.m4 acinclude.m4
> diff --git a/recipes/libmpc/libmpc_0.8.1.bb b/recipes/libmpc/libmpc_0.8.1.bb
> index f79321c..ed7e5bb 100644
> --- a/recipes/libmpc/libmpc_0.8.1.bb
> +++ b/recipes/libmpc/libmpc_0.8.1.bb
> @@ -4,9 +4,11 @@ DEPENDS = "gmp mpfr"
> S = "${WORKDIR}/mpc-${PV}"
> NATIVE_INSTALL_WORKS = "1"
> BBCLASSEXTEND = "native"
> -PR = "1"
> +PR = "r2"
>
> SRC_URI = "http://www.multiprecision.org/mpc/download/mpc-${PV}.tar.gz"
>
> +EXTRA_OECONF_append_virtclass-native = " --enable-static"
> +
> SRC_URI[md5sum] = "5b34aa804d514cc295414a963aedb6bf"
> SRC_URI[sha256sum] = "e664603757251fd8a352848276497a4c79b7f8b21fd8aedd5cc0598a38fee3e4"
> diff --git a/recipes/libmpc/libmpc_0.8.2.bb b/recipes/libmpc/libmpc_0.8.2.bb
> index 1d383fa..18a161a 100644
> --- a/recipes/libmpc/libmpc_0.8.2.bb
> +++ b/recipes/libmpc/libmpc_0.8.2.bb
> @@ -4,8 +4,10 @@ DEPENDS = "gmp mpfr"
> S = "${WORKDIR}/mpc-${PV}"
> NATIVE_INSTALL_WORKS = "1"
> BBCLASSEXTEND = "native"
> +PR = "r1"
>
> SRC_URI = "http://www.multiprecision.org/mpc/download/mpc-${PV}.tar.gz"
>
> +EXTRA_OECONF_append_virtclass-native = " --enable-static"
> SRC_URI[md5sum] = "e98267ebd5648a39f881d66797122fb6"
> SRC_URI[sha256sum] = "ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7"
> diff --git a/recipes/mpfr/mpfr_3.0.0.bb b/recipes/mpfr/mpfr_3.0.0.bb
> index 97f4970..0dacb1e 100644
> --- a/recipes/mpfr/mpfr_3.0.0.bb
> +++ b/recipes/mpfr/mpfr_3.0.0.bb
> @@ -11,5 +11,7 @@ SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.bz2 \
> # fix build in thumb mode for armv4t
> SRC_URI_append_thumb = " file://long-long-thumb.patch"
>
> +EXTRA_OECONF_append_virtclass-native = " --enable-static"
> +
> SRC_URI[md5sum] = "f45bac3584922c8004a10060ab1a8f9f"
> SRC_URI[sha256sum] = "8f4e5f9c53536cb798a30455ac429b1f9fc75a0f8af32d6e0ac31ebf1024821f"
> diff --git a/recipes/mpfr/mpfr_svn.bb b/recipes/mpfr/mpfr_svn.bb
> index c1695b4..da58b37 100644
> --- a/recipes/mpfr/mpfr_svn.bb
> +++ b/recipes/mpfr/mpfr_svn.bb
> @@ -6,3 +6,5 @@ PR = "${INC_PR}.0"
>
> SRC_URI = "svn://scm.gforge.inria.fr/svn/mpfr;module=trunk"
> S = "${WORKDIR}/trunk"
> +
> +EXTRA_OECONF_append_virtclass-native = " --enable-static"
--
Tom Rini
Mentor Graphics Corporation
More information about the Openembedded-devel
mailing list