[oe] [PATCH 1/2] gcc 4.3.3: backport -print-sysroot for libtool
Khem Raj
raj.khem at gmail.com
Thu Oct 21 22:10:04 UTC 2010
On Thu, Oct 21, 2010 at 2:22 PM, Michael Smith <msmith at cbnco.com> wrote:
> libtoolized configure scripts need this in order to autodetect sysroot
> path when --with-sysroot is passed.
>
> Signed-off-by: Michael Smith <msmith at cbnco.com>
> Cc: Khem Raj <raj.khem at gmail.com>
this looks ok too
Acked-by: Khem Raj <raj.khem at gmail.com>
> ---
> recipes/gcc/gcc-4.3.3.inc | 3 +-
> .../gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch | 69 ++++++++++++++++++++
> 2 files changed, 71 insertions(+), 1 deletions(-)
> create mode 100644 recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch
>
> diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
> index 7bee4af..7239f82 100644
> --- a/recipes/gcc/gcc-4.3.3.inc
> +++ b/recipes/gcc/gcc-4.3.3.inc
> @@ -8,7 +8,7 @@ LICENSE = "GPLv3"
> DEPENDS = "mpfr gmp"
> NATIVEDEPS = "mpfr-native gmp-native"
>
> -INC_PR = "r18"
> +INC_PR = "r19"
>
> SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
> file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
> @@ -65,6 +65,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
> file://arm-gcc-objective.patch \
> file://Makefile.in.patch \
> file://Makefile.in.parallel.patch \
> + file://gcc-4.3-backport-print-sysroot.patch \
> "
>
> SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
> diff --git a/recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch b/recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch
> new file mode 100644
> index 0000000..c44d050
> --- /dev/null
> +++ b/recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch
> @@ -0,0 +1,69 @@
> +Backport "gcc -print-sysroot" from 4.4.x, required by some tools
> +that auto-detect sysroot (e.g. libtool configured with --with-sysroot).
> +
> +Source: http://gcc.gnu.org/viewcvs/trunk/gcc/gcc.c?r1=137548&r2=137584&view=patch
> +
> +--- trunk/gcc/gcc.c 2008/07/07 00:48:55 137548
> ++++ trunk/gcc/gcc.c 2008/07/07 18:20:06 137584
> +@@ -155,6 +155,8 @@
> +
> + static int print_multi_directory;
> +
> ++static int print_sysroot;
> ++
> + /* Flag saying to print the relative path we'd use to
> + find OS libraries given the current compiler flags. */
> +
> +@@ -1162,6 +1164,7 @@
> + {"--print-multi-directory", "-print-multi-directory", 0},
> + {"--print-multi-os-directory", "-print-multi-os-directory", 0},
> + {"--print-prog-name", "-print-prog-name=", "aj"},
> ++ {"--print-sysroot", "-print-sysroot", 0},
> + {"--print-sysroot-headers-suffix", "-print-sysroot-headers-suffix", 0},
> + {"--profile", "-p", 0},
> + {"--profile-blocks", "-a", 0},
> +@@ -3244,6 +3247,7 @@
> + -print-multi-lib Display the mapping between command line options and\n\
> + multiple library search directories\n"), stdout);
> + fputs (_(" -print-multi-os-directory Display the relative path to OS libraries\n"), stdout);
> ++ fputs (_(" -print-sysroot Display the target libraries directory\n"), stdout);
> + fputs (_(" -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"), stdout);
> + fputs (_(" -Wa,<options> Pass comma-separated <options> on to the assembler\n"), stdout);
> + fputs (_(" -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"), stdout);
> +@@ -3686,6 +3690,8 @@
> + print_multi_lib = 1;
> + else if (! strcmp (argv[i], "-print-multi-directory"))
> + print_multi_directory = 1;
> ++ else if (! strcmp (argv[i], "-print-sysroot"))
> ++ print_sysroot = 1;
> + else if (! strcmp (argv[i], "-print-multi-os-directory"))
> + print_multi_os_directory = 1;
> + else if (! strcmp (argv[i], "-print-sysroot-headers-suffix"))
> +@@ -4126,6 +4132,8 @@
> + ;
> + else if (! strcmp (argv[i], "-print-multi-directory"))
> + ;
> ++ else if (! strcmp (argv[i], "-print-sysroot"))
> ++ ;
> + else if (! strcmp (argv[i], "-print-multi-os-directory"))
> + ;
> + else if (! strcmp (argv[i], "-print-sysroot-headers-suffix"))
> +@@ -6529,6 +6537,18 @@
> + return (0);
> + }
> +
> ++ if (print_sysroot)
> ++ {
> ++ if (target_system_root)
> ++ {
> ++ if (target_sysroot_suffix)
> ++ printf ("%s%s\n", target_system_root, target_sysroot_suffix);
> ++ else
> ++ printf ("%s\n", target_system_root);
> ++ }
> ++ return (0);
> ++ }
> ++
> + if (print_multi_os_directory)
> + {
> + if (multilib_os_dir == NULL)
> --
> 1.7.0.4
>
>
More information about the Openembedded-devel
mailing list