[Libreoffice-commits] core.git: solenv/gbuild

Michael Stahl mstahl at redhat.com
Wed Nov 1 14:12:28 UTC 2017


 solenv/gbuild/ExternalProject.mk        |    2 +-
 solenv/gbuild/platform/com_MSC_class.mk |   11 +++++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

New commits:
commit 30a258e92a9060061e2f8a0c7cbde2bcc511c4bb
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Nov 1 11:26:21 2017 +0100

    gbuild: ExternalProject: improve NMAKE handling
    
    - move actual variables into com_MSC_class.mk
    - use export ... && to set the variables, so they affect all subsequent
      commands, not just the first one
    - clear MAKE as well, as that is apparently used by nmake, but can
      only point to GNU make
    - set CC, because nmake apparently can interpret C:/Progra~1/.../cl.exe
      etc. etc. as a "C:" command with some additional arguments which only
      changes the current directory, without even invoking the shell, which
      tends to cause profanities to be uttered for extended periods of time
    
    Change-Id: Ia7b1e6a70d6ac116d4ef0312d2aa1a4747fb8cbf
    Reviewed-on: https://gerrit.libreoffice.org/44159
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/solenv/gbuild/ExternalProject.mk b/solenv/gbuild/ExternalProject.mk
index e476b196301a..402437d6f567 100644
--- a/solenv/gbuild/ExternalProject.mk
+++ b/solenv/gbuild/ExternalProject.mk
@@ -220,7 +220,7 @@ $(if $(findstring YES,$(UNPACKED_IS_BIN_TARBALL)),\
 $(call gb_Helper_print_on_error,cd $(EXTERNAL_WORKDIR)/$(3) && \
 	unset Platform && \
 	$(if $(WRAPPERS),export $(WRAPPERS) &&) \
-	$(if $(NMAKE),INCLUDE="$(gb_ExternalProject_INCLUDE)" LIB="$(ILIB)" MAKEFLAGS=) \
+	$(if $(NMAKE),export $(NMAKE) &&) \
 	$(2) && touch $@,$(EXTERNAL_WORKDIR)/$(if $(3),$(3)/,)$(if $(4),$(4),$(1).log))
 )
 endef
diff --git a/solenv/gbuild/platform/com_MSC_class.mk b/solenv/gbuild/platform/com_MSC_class.mk
index cb4bc73b88ac..3bc5e3235420 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -510,11 +510,11 @@ $(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Executable_ge
 $(call gb_ExternalProject_get_state_target,$(1),$(2)): WRAPPERS := $(gb_AUTOCONF_WRAPPERS)
 endef
 
-# Set INCLUDE and LIB variables and unset MAKEFLAGS when using nmake
+# Set INCLUDE and LIB variables and unset MAKE/MAKEFLAGS when using nmake
 #
 # gb_ExternalProject_use_nmake project state_target
 define gb_ExternalProject_use_nmake
-$(call gb_ExternalProject_get_state_target,$(1),$(2)): NMAKE := $(true)
+$(call gb_ExternalProject_get_state_target,$(1),$(2)): NMAKE := $(gb_NMAKE_VARS)
 endef
 
 # if ccache is enabled, then split it and use lastword as REAL_FOO
@@ -532,6 +532,13 @@ gb_AUTOCONF_WRAPPERS = \
 gb_ExternalProject_INCLUDE := \
 	$(subst -I,,$(subst $(WHITESPACE),;,$(SOLARINC)))
 
+gb_NMAKE_VARS = \
+	CC="$(shell cygpath -w $(filter-out -%,$(CC))) $(filter -%,$(CC))" \
+	INCLUDE="$(gb_ExternalProject_INCLUDE)" \
+	LIB="$(ILIB)" \
+	MAKEFLAGS= \
+	MAKE=
+
 # InstallScript class
 
 gb_InstallScript_EXT := .inf


More information about the Libreoffice-commits mailing list