[oe-commits] Frans Meulenbroeks : gcc4.3.x: patch Makefile.in for cross compile badness
git version control
git at git.openembedded.org
Sat Aug 14 10:55:02 UTC 2010
Module: openembedded.git
Branch: org.openembedded.dev
Commit: c9da5bb8400a2290af95402ee73ad53f642894b8
URL: http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=c9da5bb8400a2290af95402ee73ad53f642894b8
Author: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
Date: Sun Jul 25 22:07:10 2010 +0200
gcc4.3.x: patch Makefile.in for cross compile badness
When compiling gcc target code make passes -I(GMPINC)
but this one points to the host dir (it is set to HOST_GMPINC
which in oe points to tmp/sysroots/i686-linux/usr/include).
This patch breaks the env var $(INCLUDES) in two and
only uses the TARGET specific part for compiling libgcc
and the crt stuff.
The patch has been verified by baking all affected recipes with
bitbake -c configure -b recipe
Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
---
recipes/gcc/gcc-4.3.1.inc | 3 ++-
recipes/gcc/gcc-4.3.1/Makefile.in.patch | 29 +++++++++++++++++++++++++++++
recipes/gcc/gcc-4.3.2.inc | 3 ++-
recipes/gcc/gcc-4.3.2/Makefile.in.patch | 29 +++++++++++++++++++++++++++++
recipes/gcc/gcc-4.3.3.inc | 3 ++-
recipes/gcc/gcc-4.3.3/Makefile.in.patch | 29 +++++++++++++++++++++++++++++
recipes/gcc/gcc-4.3.4.inc | 3 ++-
recipes/gcc/gcc-4.3.4/Makefile.in.patch | 29 +++++++++++++++++++++++++++++
8 files changed, 124 insertions(+), 4 deletions(-)
diff --git a/recipes/gcc/gcc-4.3.1.inc b/recipes/gcc/gcc-4.3.1.inc
index c7feee0..645c14a 100644
--- a/recipes/gcc/gcc-4.3.1.inc
+++ b/recipes/gcc/gcc-4.3.1.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
NATIVEDEPS = "mpfr-native gmp-native"
-INC_PR = "r22"
+INC_PR = "r23"
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://zecke-xgcc-cpp.patch \
file://gcc-4.3.x-fix-EXTRA_BUILD.patch \
file://gcc-flags-for-build.patch \
+ file://Makefile.in.patch \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
diff --git a/recipes/gcc/gcc-4.3.1/Makefile.in.patch b/recipes/gcc/gcc-4.3.1/Makefile.in.patch
new file mode 100644
index 0000000..4c11a64
--- /dev/null
+++ b/recipes/gcc/gcc-4.3.1/Makefile.in.patch
@@ -0,0 +1,29 @@
+Index: gcc-4.3.1/gcc/Makefile.in
+===================================================================
+--- gcc-4.3.1.orig/gcc/Makefile.in
++++ gcc-4.3.1/gcc/Makefile.in
+@@ -575,7 +575,7 @@ LIBGCC2_INCLUDES =
+ TARGET_LIBGCC2_CFLAGS =
+
+ # Options to use when compiling crtbegin/end.
+-CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
++CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(TARGET_INCLUDES) $(MULTILIB_CFLAGS) -g0 \
+ -finhibit-size-directive -fno-inline-functions -fno-exceptions \
+ -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
+ $(INHIBIT_LIBC_CFLAGS)
+@@ -901,9 +901,13 @@ BUILD_ERRORS = build/errors.o
+ # -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file
+ # currently being compiled, in both source trees, to be examined as well.
+ # libintl.h will be found in ../intl if we are using the included libintl.
+-INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
++#
++# TARGET_INCLUDES is added to avoid that GMPINC (which points to the host
++# include dir) is used for compiling libgcc.a
++TARGET_INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+ -I$(srcdir)/../include @INCINTL@ \
+- $(CPPINC) $(GMPINC) $(DECNUMINC)
++ $(CPPINC) $(DECNUMINC)
++INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
+
+ .c.o:
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/recipes/gcc/gcc-4.3.2.inc b/recipes/gcc/gcc-4.3.2.inc
index 04e3dd7..2d3118c 100644
--- a/recipes/gcc/gcc-4.3.2.inc
+++ b/recipes/gcc/gcc-4.3.2.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
NATIVEDEPS = "mpfr-native gmp-native"
-INC_PR = "r12"
+INC_PR = "r13"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
@@ -61,6 +61,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://zecke-xgcc-cpp.patch \
file://gcc-4.3.x-fix-EXTRA_BUILD.patch \
file://gcc-flags-for-build.patch \
+ file://Makefile.in.patch \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
diff --git a/recipes/gcc/gcc-4.3.2/Makefile.in.patch b/recipes/gcc/gcc-4.3.2/Makefile.in.patch
new file mode 100644
index 0000000..4c11a64
--- /dev/null
+++ b/recipes/gcc/gcc-4.3.2/Makefile.in.patch
@@ -0,0 +1,29 @@
+Index: gcc-4.3.1/gcc/Makefile.in
+===================================================================
+--- gcc-4.3.1.orig/gcc/Makefile.in
++++ gcc-4.3.1/gcc/Makefile.in
+@@ -575,7 +575,7 @@ LIBGCC2_INCLUDES =
+ TARGET_LIBGCC2_CFLAGS =
+
+ # Options to use when compiling crtbegin/end.
+-CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
++CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(TARGET_INCLUDES) $(MULTILIB_CFLAGS) -g0 \
+ -finhibit-size-directive -fno-inline-functions -fno-exceptions \
+ -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
+ $(INHIBIT_LIBC_CFLAGS)
+@@ -901,9 +901,13 @@ BUILD_ERRORS = build/errors.o
+ # -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file
+ # currently being compiled, in both source trees, to be examined as well.
+ # libintl.h will be found in ../intl if we are using the included libintl.
+-INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
++#
++# TARGET_INCLUDES is added to avoid that GMPINC (which points to the host
++# include dir) is used for compiling libgcc.a
++TARGET_INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+ -I$(srcdir)/../include @INCINTL@ \
+- $(CPPINC) $(GMPINC) $(DECNUMINC)
++ $(CPPINC) $(DECNUMINC)
++INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
+
+ .c.o:
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
index c1355e1..11d09fa 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 = "r15"
+INC_PR = "r16"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
@@ -63,6 +63,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
file://gcc-4.3.3-fix-EXTRA_BUILD.patch \
file://arm-gcc-objective.patch \
+ file://Makefile.in.patch \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
diff --git a/recipes/gcc/gcc-4.3.3/Makefile.in.patch b/recipes/gcc/gcc-4.3.3/Makefile.in.patch
new file mode 100644
index 0000000..4c11a64
--- /dev/null
+++ b/recipes/gcc/gcc-4.3.3/Makefile.in.patch
@@ -0,0 +1,29 @@
+Index: gcc-4.3.1/gcc/Makefile.in
+===================================================================
+--- gcc-4.3.1.orig/gcc/Makefile.in
++++ gcc-4.3.1/gcc/Makefile.in
+@@ -575,7 +575,7 @@ LIBGCC2_INCLUDES =
+ TARGET_LIBGCC2_CFLAGS =
+
+ # Options to use when compiling crtbegin/end.
+-CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
++CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(TARGET_INCLUDES) $(MULTILIB_CFLAGS) -g0 \
+ -finhibit-size-directive -fno-inline-functions -fno-exceptions \
+ -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
+ $(INHIBIT_LIBC_CFLAGS)
+@@ -901,9 +901,13 @@ BUILD_ERRORS = build/errors.o
+ # -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file
+ # currently being compiled, in both source trees, to be examined as well.
+ # libintl.h will be found in ../intl if we are using the included libintl.
+-INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
++#
++# TARGET_INCLUDES is added to avoid that GMPINC (which points to the host
++# include dir) is used for compiling libgcc.a
++TARGET_INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+ -I$(srcdir)/../include @INCINTL@ \
+- $(CPPINC) $(GMPINC) $(DECNUMINC)
++ $(CPPINC) $(DECNUMINC)
++INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
+
+ .c.o:
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
diff --git a/recipes/gcc/gcc-4.3.4.inc b/recipes/gcc/gcc-4.3.4.inc
index b0954c4..b8df9f0 100644
--- a/recipes/gcc/gcc-4.3.4.inc
+++ b/recipes/gcc/gcc-4.3.4.inc
@@ -8,7 +8,7 @@ LICENSE = "GPLv3"
DEPENDS = "mpfr gmp"
NATIVEDEPS = "mpfr-native gmp-native"
-INC_PR = "r10"
+INC_PR = "r11"
SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
@@ -61,6 +61,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=archive \
file://zecke-xgcc-cpp.patch \
file://gcc-4.3.x-fix-EXTRA_BUILD.patch \
file://gcc-flags-for-build.patch \
+ file://Makefile.in.patch \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
diff --git a/recipes/gcc/gcc-4.3.4/Makefile.in.patch b/recipes/gcc/gcc-4.3.4/Makefile.in.patch
new file mode 100644
index 0000000..4c11a64
--- /dev/null
+++ b/recipes/gcc/gcc-4.3.4/Makefile.in.patch
@@ -0,0 +1,29 @@
+Index: gcc-4.3.1/gcc/Makefile.in
+===================================================================
+--- gcc-4.3.1.orig/gcc/Makefile.in
++++ gcc-4.3.1/gcc/Makefile.in
+@@ -575,7 +575,7 @@ LIBGCC2_INCLUDES =
+ TARGET_LIBGCC2_CFLAGS =
+
+ # Options to use when compiling crtbegin/end.
+-CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
++CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(TARGET_INCLUDES) $(MULTILIB_CFLAGS) -g0 \
+ -finhibit-size-directive -fno-inline-functions -fno-exceptions \
+ -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
+ $(INHIBIT_LIBC_CFLAGS)
+@@ -901,9 +901,13 @@ BUILD_ERRORS = build/errors.o
+ # -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file
+ # currently being compiled, in both source trees, to be examined as well.
+ # libintl.h will be found in ../intl if we are using the included libintl.
+-INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
++#
++# TARGET_INCLUDES is added to avoid that GMPINC (which points to the host
++# include dir) is used for compiling libgcc.a
++TARGET_INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+ -I$(srcdir)/../include @INCINTL@ \
+- $(CPPINC) $(GMPINC) $(DECNUMINC)
++ $(CPPINC) $(DECNUMINC)
++INCLUDES = $(TARGET_INCLUDES) $(GMPINC)
+
+ .c.o:
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
More information about the Openembedded-commits
mailing list