| From 667b302f637be0a4b6ef714b5eb0026c54425386 Mon Sep 17 00:00:00 2001 |
| From: Richard Purdie <richard.purdie@linuxfoundation.org> |
| Date: Sun, 31 Oct 2021 17:40:12 -0700 |
| Subject: [PATCH] Makefile.in: Ensure build CPP/CPPFLAGS is used for build |
| targets |
| |
| During cross compiling, CPP is being set to the target compiler even for |
| build targets. As an example, when building a cross compiler targetting |
| mingw, the config.log for libiberty in |
| build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log |
| shows: |
| |
| configure:3786: checking how to run the C preprocessor |
| configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 |
| configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c |
| configure:3876: $? = 0 |
| |
| This is libiberty being built for the build environment, not the target one |
| (i.e. in build-x86_64-linux). As such it should be using the build environment's |
| gcc and not the target one. In the mingw case the system headers are quite |
| different leading to build failures related to not being able to include a |
| process.h file for pem-unix.c. |
| |
| Further analysis shows the same issue occuring for CPPFLAGS too. |
| |
| Fix this by adding support for CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD which |
| for example, avoids mixing the mingw headers for host binaries on linux |
| systems. |
| |
| 2021-10-27 Richard Purdie <richard.purdie@linuxfoundation.org> |
| |
| ChangeLog: |
| |
| * Makefile.tpl: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support |
| * Makefile.in: Regenerate. |
| * configure: Regenerate. |
| * configure.ac: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support |
| |
| gcc/ChangeLog: |
| |
| * configure: Regenerate. |
| * configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC |
| |
| Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
| |
| Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582727.html] |
| Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=84401ce5fb4ecab55decb472b168100e7593e01f] |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| Makefile.in | 6 ++++++ |
| Makefile.tpl | 6 ++++++ |
| configure | 4 ++++ |
| configure.ac | 4 ++++ |
| gcc/configure | 2 +- |
| gcc/configure.ac | 2 +- |
| 6 files changed, 22 insertions(+), 2 deletions(-) |
| |
| diff --git a/Makefile.in b/Makefile.in |
| index 20cbbe2906d..33476d53327 100644 |
| --- a/Makefile.in |
| +++ b/Makefile.in |
| @@ -154,6 +154,8 @@ BUILD_EXPORTS = \ |
| CC="$(CC_FOR_BUILD)"; export CC; \ |
| CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ |
| CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ |
| + CPP="$(CPP_FOR_BUILD)"; export CPP; \ |
| + CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ |
| CXX="$(CXX_FOR_BUILD)"; export CXX; \ |
| CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ |
| GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ |
| @@ -202,6 +204,8 @@ HOST_EXPORTS = \ |
| AR="$(AR)"; export AR; \ |
| AS="$(AS)"; export AS; \ |
| CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ |
| + CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ |
| + CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ |
| CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ |
| DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ |
| DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \ |
| @@ -360,6 +364,8 @@ AR_FOR_BUILD = @AR_FOR_BUILD@ |
| AS_FOR_BUILD = @AS_FOR_BUILD@ |
| CC_FOR_BUILD = @CC_FOR_BUILD@ |
| CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ |
| +CPP_FOR_BUILD = @CPP_FOR_BUILD@ |
| +CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ |
| CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ |
| CXX_FOR_BUILD = @CXX_FOR_BUILD@ |
| DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ |
| diff --git a/Makefile.tpl b/Makefile.tpl |
| index 9adf4f94728..e39d85d1109 100644 |
| --- a/Makefile.tpl |
| +++ b/Makefile.tpl |
| @@ -157,6 +157,8 @@ BUILD_EXPORTS = \ |
| CC="$(CC_FOR_BUILD)"; export CC; \ |
| CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \ |
| CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ |
| + CPP="$(CPP_FOR_BUILD)"; export CPP; \ |
| + CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ |
| CXX="$(CXX_FOR_BUILD)"; export CXX; \ |
| CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ |
| GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ |
| @@ -205,6 +207,8 @@ HOST_EXPORTS = \ |
| AR="$(AR)"; export AR; \ |
| AS="$(AS)"; export AS; \ |
| CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ |
| + CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ |
| + CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ |
| CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ |
| DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ |
| DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \ |
| @@ -363,6 +367,8 @@ AR_FOR_BUILD = @AR_FOR_BUILD@ |
| AS_FOR_BUILD = @AS_FOR_BUILD@ |
| CC_FOR_BUILD = @CC_FOR_BUILD@ |
| CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ |
| +CPP_FOR_BUILD = @CPP_FOR_BUILD@ |
| +CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ |
| CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ |
| CXX_FOR_BUILD = @CXX_FOR_BUILD@ |
| DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ |
| diff --git a/configure b/configure |
| index 45744e6e471..ff0de8a68b4 100755 |
| --- a/configure |
| +++ b/configure |
| @@ -655,6 +655,8 @@ DSYMUTIL_FOR_BUILD |
| DLLTOOL_FOR_BUILD |
| CXX_FOR_BUILD |
| CXXFLAGS_FOR_BUILD |
| +CPPFLAGS_FOR_BUILD |
| +CPP_FOR_BUILD |
| CFLAGS_FOR_BUILD |
| CC_FOR_BUILD |
| AS_FOR_BUILD |
| @@ -4100,6 +4102,7 @@ if test "${build}" != "${host}" ; then |
| AR_FOR_BUILD=${AR_FOR_BUILD-ar} |
| AS_FOR_BUILD=${AS_FOR_BUILD-as} |
| CC_FOR_BUILD=${CC_FOR_BUILD-gcc} |
| + CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CPP)}" |
| CXX_FOR_BUILD=${CXX_FOR_BUILD-g++} |
| DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil} |
| GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} |
| @@ -9831,6 +9834,7 @@ esac |
| # our build compiler if desired. |
| if test x"${build}" = x"${host}" ; then |
| CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} |
| + CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} |
| CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} |
| LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} |
| fi |
| diff --git a/configure.ac b/configure.ac |
| index bf66b51373c..09fa3896dc7 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -1347,6 +1347,7 @@ if test "${build}" != "${host}" ; then |
| AR_FOR_BUILD=${AR_FOR_BUILD-ar} |
| AS_FOR_BUILD=${AS_FOR_BUILD-as} |
| CC_FOR_BUILD=${CC_FOR_BUILD-gcc} |
| + CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CPP)}" |
| CXX_FOR_BUILD=${CXX_FOR_BUILD-g++} |
| DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil} |
| GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} |
| @@ -3336,6 +3337,7 @@ esac |
| # our build compiler if desired. |
| if test x"${build}" = x"${host}" ; then |
| CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} |
| + CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} |
| CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} |
| LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} |
| fi |
| @@ -3402,6 +3404,8 @@ AC_SUBST(AR_FOR_BUILD) |
| AC_SUBST(AS_FOR_BUILD) |
| AC_SUBST(CC_FOR_BUILD) |
| AC_SUBST(CFLAGS_FOR_BUILD) |
| +AC_SUBST(CPP_FOR_BUILD) |
| +AC_SUBST(CPPFLAGS_FOR_BUILD) |
| AC_SUBST(CXXFLAGS_FOR_BUILD) |
| AC_SUBST(CXX_FOR_BUILD) |
| AC_SUBST(DLLTOOL_FOR_BUILD) |
| diff --git a/gcc/configure b/gcc/configure |
| index ec3c24482df..31a460dc9d0 100755 |
| --- a/gcc/configure |
| +++ b/gcc/configure |
| @@ -12740,7 +12740,7 @@ else |
| CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ |
| CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ |
| LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ |
| - GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ |
| + GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ |
| ${realsrcdir}/configure \ |
| --enable-languages=${enable_languages-all} \ |
| ${enable_obsolete+--enable-obsolete="$enable_obsolete"} \ |
| diff --git a/gcc/configure.ac b/gcc/configure.ac |
| index ea794cd1763..b965eb036bc 100644 |
| --- a/gcc/configure.ac |
| +++ b/gcc/configure.ac |
| @@ -2054,7 +2054,7 @@ else |
| CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ |
| CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ |
| LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ |
| - GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \ |
| + GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \ |
| ${realsrcdir}/configure \ |
| --enable-languages=${enable_languages-all} \ |
| ${enable_obsolete+--enable-obsolete="$enable_obsolete"} \ |