On 15/10/2020 15:36, Jon Turney wrote:
--- winsup/Makefile.common | 4 +-- winsup/acinclude.m4 | 16 +++++------ winsup/c++wrap | 6 ----- winsup/ccwrap | 51 ------------------------------------ winsup/configure.cygwin | 10 ------- winsup/cygserver/Makefile.in | 9 +------ winsup/cygwin/Makefile.in | 13 +++------ winsup/cygwin/gentls_offsets | 2 +- winsup/utils/Makefile.in | 11 +------- 9 files changed, 16 insertions(+), 106 deletions(-) delete mode 100755 winsup/c++wrap delete mode 100755 winsup/ccwrap
This breaks running make in a subdirectory, when cross-compiling. The attached should fix that.
From 27ac737da3347b3918a5e4142ca7aabbcb848e8d Mon Sep 17 00:00:00 2001 From: Jon Turney <jon.tur...@dronecode.org.uk> Date: Tue, 27 Oct 2020 15:31:06 +0000 Subject: [PATCH] Restore setting CC and CXX Makefile variables b55e3f19 was a bit too aggressive in dropping, rather than just un-exporting these Makefile variables. We need to set these to the configured host compiler if we are cross-compiling, otherwise they default to the build compiler. Also export CC to the mkvers.sh script (which requires it since 4eca5e6a). It's unclear why we can't just cause windres to use the build 'cpp' as the pre-processor there. --- winsup/cygserver/Makefile.in | 3 +++ winsup/cygwin/Makefile.in | 4 ++++ winsup/utils/Makefile.in | 3 +++ 3 files changed, 10 insertions(+) diff --git a/winsup/cygserver/Makefile.in b/winsup/cygserver/Makefile.in index 7b250dd68..65c402517 100644 --- a/winsup/cygserver/Makefile.in +++ b/winsup/cygserver/Makefile.in @@ -11,6 +11,9 @@ target_builddir:=@target_builddir@ winsup_srcdir:=@winsup_srcdir@ configure_args=@configure_args@ +CC:=@CC@ +CXX:=@CXX@ + CFLAGS:=@CFLAGS@ override CXXFLAGS=@CXXFLAGS@ override CXXFLAGS+=-MMD -Wimplicit-fallthrough=5 -Werror -D__OUTSIDE_CYGWIN__ -DSYSCONFDIR="\"$(sysconfdir)\"" diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in index dad526b74..f6236d909 100644 --- a/winsup/cygwin/Makefile.in +++ b/winsup/cygwin/Makefile.in @@ -14,6 +14,9 @@ target_builddir:=@target_builddir@ winsup_srcdir:=@winsup_srcdir@ configure_args=@configure_args@ +CC:=@CC@ +CXX:=@CXX@ + CFLAGS?=@CFLAGS@ CXXFLAGS?=@CXXFLAGS@ INCLUDES?=@INCLUDES@ @@ -773,6 +776,7 @@ src_files := $(foreach dir,$(VPATH),$(find_src_files)) # second, so version.cc is always older than winver.o version.cc: mkvers.sh include/cygwin/version.h winver.rc $(src_files) @echo "Making version.cc and winver.o";\ + export CC="${CC}";\ /bin/sh ${word 1,$^} ${word 2,$^} ${word 3,$^} $(WINDRES) ${CFLAGS} -I${srcdir}/include $(VERSION_OFILES): version.cc diff --git a/winsup/utils/Makefile.in b/winsup/utils/Makefile.in index add29d10f..e21874027 100644 --- a/winsup/utils/Makefile.in +++ b/winsup/utils/Makefile.in @@ -11,6 +11,9 @@ target_builddir:=@target_builddir@ winsup_srcdir:=@winsup_srcdir@ configure_args=@configure_args@ +CC:=@CC@ +CXX:=@CXX@ + CFLAGS_COMMON=-Wimplicit-fallthrough=4 -Werror CFLAGS:=@CFLAGS@ CXXFLAGS:=@CXXFLAGS@ -- 2.29.0