From 357ace566d4090b85c7c7b5d775c8b9eaaa76e5f Mon Sep 17 00:00:00 2001 From: Peter Foley Date: Tue, 12 Mar 2013 20:03:14 -0400 Subject: add gcc-wrapper Change-Id: I961bd23d1ec382d247a489cda42194ce9f4fe1da Reviewed-on: https://gerrit.libreoffice.org/2715 Reviewed-by: Fridrich Strba Tested-by: Fridrich Strba --- solenv/gbuild/ExternalProject.mk | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'solenv/gbuild/ExternalProject.mk') diff --git a/solenv/gbuild/ExternalProject.mk b/solenv/gbuild/ExternalProject.mk index 20c0973ac57b..6443af3320ce 100644 --- a/solenv/gbuild/ExternalProject.mk +++ b/solenv/gbuild/ExternalProject.mk @@ -180,6 +180,16 @@ $(call gb_ExternalProject_get_preparation_target,$(1)) : \ endef +# Use the gcc wrappers for a autoconf based project +# +# gb_ExternalProject_register_targets project state_target +define gb_ExternalProject_use_autoconf +ifeq ($(COM),MSC) +$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Executable_get_runtime_dependencies,gcc-wrapper) \ + $(call gb_Executable_get_runtime_dependencies,g++-wrapper) +$(call gb_ExternalProject_get_state_target,$(1),$(2)): WRAPPERS := $(AUTOCONF_WRAPPERS) +endif +endef # Run a target command # @@ -190,8 +200,17 @@ endef # default log_filename is .log # +AUTOCONF_WRAPPERS := \ + REAL_CC="$(shell cygpath -w $(CC))" \ + CC="$(call gb_Executable_get_target,gcc-wrapper)" \ + REAL_CXX="$(shell cygpath -w $(CXX))" \ + CXX="$(call gb_Executable_get_target,g++-wrapper)" \ + LD="$(shell cygpath -w $(COMPATH)/bin/link.exe) -nologo" + define gb_ExternalProject_run -$(call gb_Helper_print_on_error,cd $(EXTERNAL_WORKDIR)/$(3) && $(2) && touch $@,$(EXTERNAL_WORKDIR)/$(if $(3),$(3)/,)$(if $(4),$(4),$(1).log)) +$(call gb_Helper_print_on_error,cd $(EXTERNAL_WORKDIR)/$(3) && \ + $(if $(filter MSC,$(COM)),$(if $(WRAPPERS),export $(WRAPPERS) &&)) \ + $(2) && touch $@,$(EXTERNAL_WORKDIR)/$(if $(3),$(3)/,)$(if $(4),$(4),$(1).log)) endef # vim: set noet sw=4 ts=4: -- cgit