| From: Richard Purdie <richard.purdie@linuxfoundation.org> |
| Subject: [PATCH 1/5] 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] |
| --- |
| 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(-) |
| |
| Index: gcc-11.2.0/Makefile.in |
| =================================================================== |
| --- gcc-11.2.0.orig/Makefile.in |
| +++ gcc-11.2.0/Makefile.in |
| @@ -151,6 +151,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; \ |
| @@ -198,6 +200,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; \ |
| LD="$(LD)"; export LD; \ |
| @@ -353,6 +357,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@ |
| Index: gcc-11.2.0/Makefile.tpl |
| =================================================================== |
| --- gcc-11.2.0.orig/Makefile.tpl |
| +++ gcc-11.2.0/Makefile.tpl |
| @@ -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; \ |
| @@ -201,6 +203,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; \ |
| LD="$(LD)"; export LD; \ |
| @@ -356,6 +360,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@ |
| Index: gcc-11.2.0/configure |
| =================================================================== |
| --- gcc-11.2.0.orig/configure |
| +++ gcc-11.2.0/configure |
| @@ -652,6 +652,8 @@ GFORTRAN_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 |
| @@ -4092,6 +4094,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++} |
| GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} |
| GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo} |
| @@ -9809,6 +9812,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 |
| Index: gcc-11.2.0/configure.ac |
| =================================================================== |
| --- gcc-11.2.0.orig/configure.ac |
| +++ gcc-11.2.0/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++} |
| GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} |
| GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo} |
| @@ -3321,6 +3322,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 |
| @@ -3387,6 +3389,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) |
| Index: gcc-11.2.0/gcc/configure |
| =================================================================== |
| --- gcc-11.2.0.orig/gcc/configure |
| +++ gcc-11.2.0/gcc/configure |
| @@ -12699,7 +12699,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"} \ |
| Index: gcc-11.2.0/gcc/configure.ac |
| =================================================================== |
| --- gcc-11.2.0.orig/gcc/configure.ac |
| +++ gcc-11.2.0/gcc/configure.ac |
| @@ -2023,7 +2023,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"} \ |