From a7cfad66a718993e3a94bfacc0a4ce7ad08f9aa5 Mon Sep 17 00:00:00 2001 From: Damjan Jovanovic Date: Mon, 3 Sep 2018 06:12:40 +0000 Subject: Allow specifying the .rdb file, and which UNO types to generate headers from, in the gbuild *_set_private_api function. Fix codemaker's makefile to use this. Port main/scaddins to gbuild. Patch by: me --- solenv/gbuild/Executable.mk | 2 +- solenv/gbuild/GoogleTest.mk | 2 +- solenv/gbuild/Library.mk | 4 +++- solenv/gbuild/LinkTarget.mk | 29 +++++++++++++++-------------- solenv/gbuild/StaticLibrary.mk | 2 +- solenv/gbuild/TargetLocations.mk | 1 + 6 files changed, 22 insertions(+), 18 deletions(-) (limited to 'solenv/gbuild') diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk index e4bc18411d1d..4b1a34946d84 100644 --- a/solenv/gbuild/Executable.mk +++ b/solenv/gbuild/Executable.mk @@ -60,7 +60,7 @@ endef define gb_Executable_forward_to_Linktarget -gb_Executable_$(1) = $$(call gb_LinkTarget_$(1),Executable/$$(1)$$(gb_Executable_EXT),$$(2),$$(3)) +gb_Executable_$(1) = $$(call gb_LinkTarget_$(1),Executable/$$(1)$$(gb_Executable_EXT),$$(2),$$(3),$$(4)) endef diff --git a/solenv/gbuild/GoogleTest.mk b/solenv/gbuild/GoogleTest.mk index c93c311c57e4..36815b5401a1 100644 --- a/solenv/gbuild/GoogleTest.mk +++ b/solenv/gbuild/GoogleTest.mk @@ -69,7 +69,7 @@ $$(eval $$(call gb_Module_register_target,$(call gb_GoogleTest_get_target,$(1)), endef define gb_GoogleTest__forward_to_Linktarget -gb_GoogleTest_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_GoogleTest__get_linktargetname,$$(1)),$$(2),$$(3)) +gb_GoogleTest_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_GoogleTest__get_linktargetname,$$(1)),$$(2),$$(3),$$(4)) endef diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk index f10dc030a284..3e04d9038135 100644 --- a/solenv/gbuild/Library.mk +++ b/solenv/gbuild/Library.mk @@ -93,7 +93,7 @@ gb_Library__get_layer_componentprefix = \ define gb_Library__forward_to_Linktarget -gb_Library_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Library__get_linktargetname,$$(1)),$$(2),$$(3)) +gb_Library_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Library__get_linktargetname,$$(1)),$$(2),$$(3),$$(4)) endef @@ -140,6 +140,8 @@ $(eval $(foreach method,\ add_sdi_headers \ add_precompiled_header \ set_versionmap \ + set_private_api \ + set_private_extract_of_public_api \ ,\ $(call gb_Library__forward_to_Linktarget,$(method))\ )) diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 1d2f8af12e86..d71b4881e9ad 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -542,22 +542,23 @@ ifeq ($(gb_FULLDEPS),$(true)) $(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE += -I$(call gb_UnoPrivateApiTarget_get_target,$(1)/inc) endif -$(call gb_UnoPrivateApiTarget_get_target,$(1)/idl.cppumaker.flag): $(2) +$(call gb_UnoPrivateApiTarget_get_target,$(1)/idl.cppumaker.flag): $(2) $(3) $(call gb_Output_announce,$@,$(true),PVTIDL,2) -$$(call gb_Helper_abbreviate_dirs,\ mkdir -p $$(call gb_UnoPrivateApiTarget_get_target,$(1)/urd) && \ mkdir -p $$(call gb_UnoPrivateApiTarget_get_target,$(1)/rdb) && \ mkdir -p $$(call gb_UnoPrivateApiTarget_get_target,$(1)/inc) && \ $$(gb_UnoApiTarget_IDLCCOMMAND) -I$$(OUTDIR)/idl -O $$(call gb_UnoPrivateApiTarget_get_target,$(1)/urd) \ - -verbose -cid -we $(2) && \ + -verbose -cid -we $(3) && \ $$(gb_UnoApiTarget_REGMERGECOMMAND) $$(call gb_UnoPrivateApiTarget_get_target,$(1)/rdb/registry.rdb) /UCR \ - $(patsubst %.idl,%.urd,$$(call gb_UnoPrivateApiTarget_get_target,$(1)/urd)/$(notdir $(2))) && \ + $(patsubst %.idl,%.urd,$$(call gb_UnoPrivateApiTarget_get_target,$(1)/urd)/$(notdir $(3))) && \ $(gb_UnoApiTarget_CPPUMAKERCOMMAND) \ -O $$(call gb_UnoPrivateApiTarget_get_target,$(1)/inc) \ + $(foreach unotype,$(4),-T$(unotype)) \ -BUCR \ -C \ $$(call gb_UnoPrivateApiTarget_get_target,$(1)/rdb/registry.rdb) \ - $$(OUTDIR)/bin/udkapi.rdb && \ + $(2) && \ touch $(call gb_UnoPrivateApiTarget_get_target,$(1)/idl.cppumaker.flag)) $(call gb_LinkTarget_get_clean_target,$(1)) : @@ -567,33 +568,33 @@ endef # FIXME: multiple?? define gb_LinkTarget_set_private_api -$(foreach api,$(2),$(call gb_LinkTarget_add_private_api,$(1),$(api))) +$(foreach api,$(3),$(call gb_LinkTarget_add_private_api,$(1),$(2),$(api),$(4))) endef define gb_LinkTarget_set_private_extract_of_public_api $(call gb_LinkTarget_get_external_headers_target,$(1)) :| \ - $(call gb_UnoPrivateApiTarget_get_target,$(1)/idl.cppumaker.flag) + $(call gb_UnoPrivateApiExtractTarget_get_target,$(1)/idl.cppumaker.flag) $(call gb_LinkTarget_get_headers_target,$(1)) \ -$(call gb_LinkTarget_get_target,$(1)) : INCLUDE += -I$(call gb_UnoPrivateApiTarget_get_target,$(1)/inc) +$(call gb_LinkTarget_get_target,$(1)) : INCLUDE += -I$(call gb_UnoPrivateApiExtractTarget_get_target,$(1)/inc) ifeq ($(gb_FULLDEPS),$(true)) -$(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE += -I$(call gb_UnoPrivateApiTarget_get_target,$(1)/inc) +$(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE += -I$(call gb_UnoPrivateApiExtractTarget_get_target,$(1)/inc) endif -$(call gb_UnoPrivateApiTarget_get_target,$(1)/idl.cppumaker.flag): $(2) +$(call gb_UnoPrivateApiExtractTarget_get_target,$(1)/idl.cppumaker.flag): $(2) $(call gb_Output_announce,$@,$(true),PVTUNOTYPES,2) -$$(call gb_Helper_abbreviate_dirs_native,\ - mkdir -p $$(call gb_UnoPrivateApiTarget_get_target,$(1)/inc) && \ + mkdir -p $$(call gb_UnoPrivateApiExtractTarget_get_target,$(1)/inc) && \ $(gb_UnoApiTarget_CPPUMAKERCOMMAND) \ - -O $$(call gb_UnoPrivateApiTarget_get_target,$(1)/inc) \ + -O $$(call gb_UnoPrivateApiExtractTarget_get_target,$(1)/inc) \ $(foreach unotype,$(3),-T$(unotype)) \ -BUCR \ -C \ - $$(OUTDIR)/bin/udkapi.rdb && \ - touch $(call gb_UnoPrivateApiTarget_get_target,$(1)/idl.cppumaker.flag)) + $(2) && \ + touch $(call gb_UnoPrivateApiExtractTarget_get_target,$(1)/idl.cppumaker.flag)) $(call gb_LinkTarget_get_clean_target,$(1)) : - rm -rf $(call gb_UnoPrivateApiTarget_get_target,$(1)) + rm -rf $(call gb_UnoPrivateApiExtractTarget_get_target,$(1)) endef diff --git a/solenv/gbuild/StaticLibrary.mk b/solenv/gbuild/StaticLibrary.mk index c0aa7b180f05..d6e5dfc1778f 100644 --- a/solenv/gbuild/StaticLibrary.mk +++ b/solenv/gbuild/StaticLibrary.mk @@ -71,7 +71,7 @@ $(call gb_Deliver_add_deliverable,$(call gb_StaticLibrary_get_target,$(1)),$(cal endef define gb_StaticLibrary_forward_to_Linktarget -gb_StaticLibrary_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_StaticLibrary__get_linktargetname,$$(1)),$$(2),$$(3)) +gb_StaticLibrary_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_StaticLibrary__get_linktargetname,$$(1)),$$(2),$$(3),$$(4)) endef diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk index 8c7677d7e8a4..bbe471feb963 100644 --- a/solenv/gbuild/TargetLocations.mk +++ b/solenv/gbuild/TargetLocations.mk @@ -74,6 +74,7 @@ gb_UnoApiOutTarget_get_target = $(OUTDIR)/bin/$(1).rdb gb_UnoApiPartTarget_get_target = $(WORKDIR)/UnoApiPartTarget/$(1) gb_UnoApiTarget_get_header_target = $(WORKDIR)/UnoApiHeaders/$(1) gb_UnoPrivateApiTarget_get_target = $(WORKDIR)/UnoPrivateApi/$(1) +gb_UnoPrivateApiExtractTarget_get_target = $(WORKDIR)/UnoPrivateApiExtract/$(1) gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1) gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1) gb_Module_get_target = $(WORKDIR)/Module/$(1) -- cgit