From 4eca5e6a3f4a79bfed985065007cb8fc83476343 Mon Sep 17 00:00:00 2001 From: Peter Foley Date: Wed, 23 Mar 2016 09:34:12 -0400 Subject: [PATCH] Use just-built gcc for windres When building cygwin in a combined tree with binutils, the just-built windres cannot find the just-buit gcc automatically. Parse the CC env variable to use the correct compiler, rather then falling back to the build-system's gcc which does not define the proper preprocessor macros. winsup/cygwin/ChangeLog mkvers.sh: Manually specify preprocessor based on $CC Signed-off-by: Peter Foley --- winsup/cygwin/mkvers.sh | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/mkvers.sh b/winsup/cygwin/mkvers.sh index db390871d..9136948dc 100755 --- a/winsup/cygwin/mkvers.sh +++ b/winsup/cygwin/mkvers.sh @@ -37,6 +37,25 @@ done echo "**** Couldn't open file '$incfile'. Aborting." } +function parse_preproc_flags() { + # Since we're manually specifying the preprocessor, pass the default flags normally defined. + ccflags="--preprocessor=$1 --preprocessor-arg=-E --preprocessor-arg=-xc-header --define=RC_INVOKED " + shift + while [ -n "$*" ]; do + case "$1" in + # We need to be able to find the just-built cc1 binary. + -B*) + ccflags="$ccflags --preprocessor-arg=$1" + ;; + esac + shift + done +} + +parse_preproc_flags $CC + + + # # Load the current date so we can work on individual fields # @@ -166,4 +185,4 @@ fi echo "Version $cygwin_ver" set -$- $builddate -$windres $iflags --define CYGWIN_BUILD_DATE="$1" --define CYGWIN_BUILD_TIME="$2" --define CYGWIN_BUILD_YEAR=$y --define CYGWIN_VERSION='"'"$cygwin_ver"'"' $rcfile winver.o +$windres $iflags $ccflags --define CYGWIN_BUILD_DATE="$1" --define CYGWIN_BUILD_TIME="$2" --define CYGWIN_BUILD_YEAR=$y --define CYGWIN_VERSION='"'"$cygwin_ver"'"' $rcfile winver.o