diff options
author | Michael Stahl <mstahl@redhat.com> | 2017-11-01 11:26:21 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2017-11-01 15:12:01 +0100 |
commit | 30a258e92a9060061e2f8a0c7cbde2bcc511c4bb (patch) | |
tree | 7c33179285b9937911b3edf9144be66e75a93c86 /solenv | |
parent | 36f8be6ceefa94aa49efe3577cef5b2969ef1950 (diff) |
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@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/gbuild/ExternalProject.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/com_MSC_class.mk | 11 |
2 files changed, 10 insertions, 3 deletions
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 |