[PATCH 3/3] Use just-built gcc for windres

Peter Foley pefoley2@pefoley.com
Wed Mar 23 13:34:00 GMT 2016


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 <pefoley2@pefoley.com>
---
 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 db39087..9136948 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
-- 
2.7.4



More information about the Cygwin-patches mailing list