summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2012-08-27 02:01:35 +0200
committerMatúš Kukan <matus.kukan@gmail.com>2012-08-31 21:21:38 +0200
commit86423d682ad80cde6eb77d2cf41c68100b6c30a2 (patch)
tree545cdffb7fd2712d70e25364e8f6a03a802e1dbe /solenv
parent38cc4f7fdee8f673a2b97ff7665941f83d3775a2 (diff)
gbuild: add gb_UnpackedTarball_copy_header_files for external headers
Change-Id: Iaf6908ede1d06a7b36eca8f16f44716181428ce8
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/TargetLocations.mk1
-rw-r--r--solenv/gbuild/UnpackedTarball.mk19
2 files changed, 20 insertions, 0 deletions
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index d24c76825b4d..a0fa050ca9fb 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -307,5 +307,6 @@ gb_StaticLibrary_OUTDIRLOCATION = $(OUTDIR)/lib
# static variables declared here because they are used globally
gb_SDFLOCATION := $(WORKDIR)/CustomTarget/translations/translate/sdf
+gb_EXTERNAL_HEADERS_DIR := $(OUTDIR)/inc/external
# vim: set noet sw=4:
diff --git a/solenv/gbuild/UnpackedTarball.mk b/solenv/gbuild/UnpackedTarball.mk
index d41d2cbd81d6..72b7d4d89115 100644
--- a/solenv/gbuild/UnpackedTarball.mk
+++ b/solenv/gbuild/UnpackedTarball.mk
@@ -136,6 +136,9 @@ $(call gb_Helper_abbreviate_dirs,\
mkdir -p $(sort $(dir $(UNPACKED_DESTFILES))) && \
$(call gb_UnpackedTarball__copy_files,$(UNPACKED_FILES),$(UNPACKED_DESTFILES)) && \
) \
+ $(if $(UNPACKED_SUBDIRS),\
+ cp -rf $(UNPACKED_SUBDIRS) $(gb_EXTERNAL_HEADERS_DIR) && \
+ ) \
$(if $(UNPACKED_POST_ACTION),\
$(UNPACKED_POST_ACTION) && \
) \
@@ -160,6 +163,7 @@ $(call gb_UnpackedTarball_get_clean_target,%) :
$(call gb_UnpackedTarball_get_target,$*) \
$(call gb_UnpackedTarball_get_preparation_target,$*) \
$(call gb_UnpackedTarball_get_dir,$*) \
+ $(foreach subdir,$(UNPACKED_SUBDIRS),$(gb_EXTERNAL_HEADERS_DIR)/$(subdir)) \
)
define gb_UnpackedTarball__get_makefile
@@ -175,6 +179,8 @@ $(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_FIX_EOL :=
$(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_PATCHES :=
$(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_PATCHLEVEL := $(gb_UnpackedTarball_PATCHLEVEL_DEFAULT)
$(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_POST_ACTION :=
+$(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_SUBDIRS :=
+$(call gb_UnpackedTarball_get_clean_target,$(1)) : UNPACKED_SUBDIRS :=
$(call gb_UnpackedTarball_get_preparation_target,$(1)) : $(call gb_UnpackedTarball__get_makefile)
$(call gb_UnpackedTarball_get_preparation_target,$(1)) :| $(dir $(call gb_UnpackedTarball_get_target,$(1))).dir
@@ -264,6 +270,19 @@ $(foreach file,$(3),$(call gb_UnpackedTarball_add_file,$(1),$(2)/$(notdir $(file
endef
+# Copy header files from the unpacked subdir(s) to solver
+#
+# Used for boost.
+# For other external headers, include path is added in RepositoryExternal.mk
+#
+# gb_UnpackedTarball_copy_header_files unpacked subdir(s)
+define gb_UnpackedTarball_copy_header_files
+$(call gb_UnpackedTarball_get_target,$(1)) :| $(gb_EXTERNAL_HEADERS_DIR)/.dir
+$(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_SUBDIRS := $(2)
+$(call gb_UnpackedTarball_get_clean_target,$(1)) : UNPACKED_SUBDIRS := $(2)
+
+endef
+
# Set arbitrary shell command to be run during unpack
#
# The command is run at the very end: after patching, C++ extension