summaryrefslogtreecommitdiff
path: root/solenv/gbuild/LinkTarget.mk
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2012-10-12 12:28:11 -0700
committerMichael Stahl <mstahl@redhat.com>2012-10-25 17:37:34 +0200
commit2ffde7b17192f76f815ab451f08164519f69887e (patch)
tree9ea5145c64e94170e1baf7b1a1e4adb92e772cf7 /solenv/gbuild/LinkTarget.mk
parent7f96cec269edabaf26f5e518d632cbfde95320ca (diff)
gbuildification of expat
Two different xmlparse libraries are created: ascii_expat_xmlparse and expat_xmlparse. One without -DXML_UNICODE and one with. Source file are duplicated and renamed with gb_UnpackedTarball_set_post_action function to be able to add artifacts twice to gbuild machinery. On windows 64 bit additional two librares are created: expat_xmlparse_x64 and expat_xmltok_x64. That is due the problem with shell/shlxthandler (comment): ------------------------------------------------------ use UNICODE only because shell/shlxthandler doesn't link against ascii_expat_xmlparse ------------------------------------------------------ Include files are delivered to $(OUTDIR)/inc/external/expat now and not to $(OUTDIR)/inc/external any more. set_include call is added in RepositoryExternal.mk. To define dependency between StaticLibrary and ExternalProject new function was introduced: gb_StaticLibrary_use_external_project. Change-Id: I3b3aa40f39ef82c70f6f28790b582c83e48bdf76
Diffstat (limited to 'solenv/gbuild/LinkTarget.mk')
-rw-r--r--solenv/gbuild/LinkTarget.mk14
1 files changed, 14 insertions, 0 deletions
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 57b3a70d1e25..ba91d4ae4ff6 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -1047,6 +1047,12 @@ define gb_LinkTarget_add_generated_cobjects
$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_c_object,$(1),$(obj),$(3),$(4)))
endef
+#only useful for building x64 libraries on windows
+define gb_LinkTarget_add_x64_generated_cobjects
+$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_c_object,$(1),$(obj),$(3),$(4)))
+$(foreach obj,$(2),$(eval $(call gb_GenCObject_get_target,$(obj)) : COBJECT_X64 := YES))
+endef
+
define gb_LinkTarget_add_generated_cxxobjects
$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(obj),$(3)))
endef
@@ -1155,6 +1161,14 @@ $(call gb_LinkTarget_get_external_headers_target,$(1)) :| $(call gb_UnpackedTarb
endef
+# Use artifacts from ExternalProject (i. e. configure) of an external project
+# example in expat: StaticLibrary depends on ExternalProject outcome
+define gb_LinkTarget_use_external_project
+$(call gb_LinkTarget_get_external_headers_target,$(1)) :| $(call gb_ExternalProject_get_target,$(2))
+
+endef
+
+
# this forwards to functions that must be defined in RepositoryExternal.mk.
# $(eval $(call gb_LinkTarget_use_external,library,external))
define gb_LinkTarget_use_external