summaryrefslogtreecommitdiff
path: root/solenv/gbuild/ExternalProject.mk
diff options
context:
space:
mode:
authorPeter Foley <pefoley2@verizon.net>2013-03-12 20:03:14 -0400
committerFridrich Strba <fridrich@documentfoundation.org>2013-03-14 08:56:55 +0000
commit357ace566d4090b85c7c7b5d775c8b9eaaa76e5f (patch)
tree8dd7056f974f5843272d24c2e424ef5947798eff /solenv/gbuild/ExternalProject.mk
parent77cc0cb72f88806ee13682ac868b9e468a070400 (diff)
add gcc-wrapper
Change-Id: I961bd23d1ec382d247a489cda42194ce9f4fe1da Reviewed-on: https://gerrit.libreoffice.org/2715 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
Diffstat (limited to 'solenv/gbuild/ExternalProject.mk')
-rw-r--r--solenv/gbuild/ExternalProject.mk21
1 files changed, 20 insertions, 1 deletions
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 <run_target>.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: