Kaydet (Commit) 968c735a authored tarafından Michael Stahl's avatar Michael Stahl

gbuild: refactor CliLibrary

- stop copying the DLL to OUTDIR
- since that was the main reason for the separation between
  CliLibrary and CliLibraryTarget, merge the targets;
  the newly inherited variables are not expected to cause problems
- hardcode target to URE bin dir for now, no immediate need for
  multiple layers

Change-Id: If0fea1337349c41f231c8cde122852c71d5080a7
üst 6bd0f9ba
...@@ -14,7 +14,7 @@ $(eval $(call gb_Executable_use_package,climaker,\ ...@@ -14,7 +14,7 @@ $(eval $(call gb_Executable_use_package,climaker,\
)) ))
$(eval $(call gb_Executable_add_cxxflags,climaker,\ $(eval $(call gb_Executable_add_cxxflags,climaker,\
-AI $(gb_Helper_OUTDIRLIBDIR) \ -AI $(INSTDIR)/$(LIBO_URE_LIB_FOLDER) \
-clr \ -clr \
-LN \ -LN \
-wd4339 \ -wd4339 \
......
...@@ -14,7 +14,7 @@ $(eval $(call gb_Library_Assembly,cli_cppuhelper)) ...@@ -14,7 +14,7 @@ $(eval $(call gb_Library_Assembly,cli_cppuhelper))
# When compiling for CLR, disable "warning C4339: use of undefined type detected # When compiling for CLR, disable "warning C4339: use of undefined type detected
# in CLR meta-data - use of this type may lead to a runtime exception": # in CLR meta-data - use of this type may lead to a runtime exception":
$(eval $(call gb_Library_add_cxxflags,cli_cppuhelper,\ $(eval $(call gb_Library_add_cxxflags,cli_cppuhelper,\
-AI $(gb_Helper_OUTDIRLIBDIR) \ -AI $(INSTDIR)/$(LIBO_URE_LIB_FOLDER) \
-clr \ -clr \
-wd4339 \ -wd4339 \
)) ))
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
$(eval $(call gb_Library_Library,cli_uno)) $(eval $(call gb_Library_Library,cli_uno))
$(eval $(call gb_Library_add_cxxflags,cli_uno,\ $(eval $(call gb_Library_add_cxxflags,cli_uno,\
-AI $(gb_Helper_OUTDIRLIBDIR) \ -AI $(INSTDIR)/$(LIBO_URE_LIB_FOLDER) \
-clr \ -clr \
-wd4339 \ -wd4339 \
)) ))
......
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/. # file, You can obtain one at http://mozilla.org/MPL/2.0/.
# #
$(eval $(call gb_Package_Package,cli_basetypes_copy,$(WORKDIR))) $(eval $(call gb_Package_Package,cli_basetypes_copy,$(INSTROOT)))
$(eval $(call gb_Package_set_outdir,cli_basetypes_copy,$(INSTDIR))) $(eval $(call gb_Package_set_outdir,cli_basetypes_copy,$(INSTDIR)))
# duplicate copy to work around CLR DLL finding brain damage # duplicate copy to work around CLR DLL finding brain damage
$(eval $(call gb_Package_add_files,cli_basetypes_copy,$(SDKDIRNAME)/bin,\ $(eval $(call gb_Package_add_files,cli_basetypes_copy,$(SDKDIRNAME)/bin,\
CliLibraryTarget/cli_basetypes.dll \ $(LIBO_URE_LIB_FOLDER)/cli_basetypes.dll \
)) ))
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
...@@ -7,37 +7,37 @@ ...@@ -7,37 +7,37 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/. # file, You can obtain one at http://mozilla.org/MPL/2.0/.
# #
# CliLibraryTarget class # CliLibrary class
gb_CliLibraryTarget_EXT := $(gb_CliAssembly_POLICYEXT) gb_CliLibrary_EXT := $(gb_CliAssembly_POLICYEXT)
gb_CliLibraryTarget_CSCFLAGS := \ gb_CliLibrary_CSCFLAGS := \
-noconfig \ -noconfig \
-nologo \ -nologo \
gb_CliLibraryTarget_CSCFLAGS_DEBUG := \ gb_CliLibrary_CSCFLAGS_DEBUG := \
-checked+ \ -checked+ \
-define:DEBUG \ -define:DEBUG \
-define:TRACE \ -define:TRACE \
ifeq ($(strip $(debug)),) ifeq ($(strip $(debug)),)
ifeq ($(strip $(ENABLE_DBGUTIL)),TRUE) ifeq ($(strip $(ENABLE_DBGUTIL)),TRUE)
gb_CliLibraryTarget__get_csflags = $(gb_CliLibraryTarget_CSCFLAGS) $(gb_CliLibraryTarget_CSCFLAGS_DEBUG) gb_CliLibrary__get_csflags = $(gb_CliLibrary_CSCFLAGS) $(gb_CliLibrary_CSCFLAGS_DEBUG)
else else
gb_CliLibraryTarget__get_csflags = $(gb_CliLibraryTarget_CSCFLAGS) -o gb_CliLibrary__get_csflags = $(gb_CliLibrary_CSCFLAGS) -o
endif endif
else else
gb_CliLibraryTarget__get_csflags = $(gb_CliLibraryTarget_CSCFLAGS) $(gb_CliLibraryTarget_CSCFLAGS_DEBUG) -debug+ gb_CliLibrary__get_csflags = $(gb_CliLibrary_CSCFLAGS) $(gb_CliLibrary_CSCFLAGS_DEBUG) -debug+
endif endif
gb_CliLibraryTarget__get_source = $(SRCDIR)/$(1).cs gb_CliLibrary__get_source = $(SRCDIR)/$(1).cs
gb_CliLibraryTarget__get_generated_source = $(WORKDIR)/$(1).cs gb_CliLibrary__get_generated_source = $(WORKDIR)/$(1).cs
define gb_CliLibraryTarget__command define gb_CliLibrary__command
$(call gb_Output_announce,$(2),$(true),CSC,3) $(call gb_Output_announce,$(2),$(true),CSC,3)
$(call gb_Helper_abbreviate_dirs,\ $(call gb_Helper_abbreviate_dirs,\
csc $(call gb_Helper_windows_path, \ csc $(call gb_Helper_windows_path, \
$(call gb_CliLibraryTarget__get_csflags) \ $(call gb_CliLibrary__get_csflags) \
$(CLI_CSCFLAGS) \ $(CLI_CSCFLAGS) \
-target:library \ -target:library \
-out:$(1) \ -out:$(1) \
...@@ -49,100 +49,36 @@ $(call gb_Helper_abbreviate_dirs,\ ...@@ -49,100 +49,36 @@ $(call gb_Helper_abbreviate_dirs,\
) )
endef endef
$(dir $(call gb_CliLibraryTarget_get_target,%)).dir : .PHONY : $(call gb_CliLibrary_get_clean_target,%)
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@)) $(call gb_CliLibrary_get_clean_target,%) :
$(dir $(call gb_CliLibraryTarget_get_target,%))%/.dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
$(call gb_CliLibraryTarget_get_target,%) :
$(call gb_CliLibraryTarget__command,$@,$*,$<,$?,$^)
.PHONY : $(call gb_CliLibraryTarget_get_clean_target,%)
$(call gb_CliLibraryTarget_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),CSC,3) $(call gb_Output_announce,$*,$(false),CSC,3)
$(call gb_Helper_abbreviate_dirs,\ $(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_CliLibraryTarget_get_target,$*) \ rm -f $(call gb_CliLibrary_get_target,$*) \
) )
# Compiles one or more C# source files
#
# gb_CliLibraryTarget_CliLibraryTarget target
define gb_CliLibraryTarget_CliLibraryTarget
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_ASSEMBLIES :=
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_SOURCES :=
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_CSCFLAGS :=
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_KEYFILE :=
$(call gb_CliLibraryTarget_get_target,$(1)) :| $(dir $(call gb_CliLibraryTarget_get_target,$(1))).dir
endef
define gb_CliLibraryTarget_use_assembly
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_ASSEMBLIES += $(call gb_CliLibrary_get_target,$(2))
$(call gb_CliLibraryTarget_get_target,$(1)) : $(call gb_CliLibrary_get_target,$(2))
endef
define gb_CliLibraryTarget_use_assemblies
$(foreach assembly,$(2),$(call gb_CliLibraryTarget_use_assembly,$(1),$(assembly)))
endef
# Add a source file to compile
define gb_CliLibraryTarget_add_csfile
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_SOURCES += $(call gb_CliLibraryTarget__get_source,$(2))
$(call gb_CliLibraryTarget_get_target,$(1)) : $(call gb_CliLibraryTarget__get_source,$(2))
endef
# Add source files to compile
define gb_CliLibraryTarget_add_csfiles
$(foreach csfile,$(2),$(call gb_CliLibraryTarget_add_csfile,$(1),$(csfile)))
endef
# Add a generated source file to compile
define gb_CliLibraryTarget_add_generated_csfile
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_SOURCES += $(call gb_CliLibraryTarget__get_generated_source,$(2))
$(call gb_CliLibraryTarget_get_target,$(1)) : $(call gb_CliLibraryTarget__get_generated_source,$(2))
endef
# Add generated source files to compile
define gb_CliLibraryTarget_add_generated_csfiles
$(foreach csfile,$(2),$(call gb_CliLibraryTarget_add_generated_csfile,$(1),$(csfile)))
endef
# Add flags used for compilation
define gb_CliLibraryTarget_add_csflags
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_CSCFLAGS += $(2)
endef
# CliLibrary class
gb_CliLibrary_EXT := $(gb_CliLibraryTarget_EXT)
# Compiles one or more C# source files # Compiles one or more C# source files
# #
# gb_CliLibrary_CliLibrary target # gb_CliLibrary_CliLibrary target
define gb_CliLibrary_CliLibrary define gb_CliLibrary_CliLibrary
$(call gb_CliLibraryTarget_CliLibraryTarget,$(1))
$(call gb_CliAssembly_CliAssembly,$(1)) $(call gb_CliAssembly_CliAssembly,$(1))
$(call gb_CliLibrary_get_target,$(1)) : $(call gb_CliLibraryTarget_get_target,$(1)) $(call gb_CliLibrary_get_target,$(1)) : CLI_ASSEMBLIES :=
$(call gb_CliLibrary_get_target,$(1)) : CLI_SOURCES :=
$(call gb_CliLibrary_get_target,$(1)) : CLI_CSCFLAGS :=
$(call gb_CliLibrary_get_target,$(1)) : CLI_KEYFILE :=
$(call gb_CliLibrary_get_target,$(1)) :| $(call gb_CliAssembly_get_target,$(1)) $(call gb_CliLibrary_get_target,$(1)) :| $(call gb_CliAssembly_get_target,$(1))
$(call gb_CliLibrary_get_target,$(1)) :| $(dir $(call gb_CliLibrary_get_target,$(1))).dir $(call gb_CliLibrary_get_target,$(1)) :| $(dir $(call gb_CliLibrary_get_target,$(1))).dir
$(call gb_CliLibrary_get_clean_target,$(1)) : $(call gb_CliLibraryTarget_get_clean_target,$(1))
$(call gb_CliLibrary_get_clean_target,$(1)) : $(call gb_CliAssembly_get_clean_target,$(1)) $(call gb_CliLibrary_get_clean_target,$(1)) : $(call gb_CliAssembly_get_clean_target,$(1))
$(call gb_Deliver_add_deliverable,$(call gb_CliLibrary_get_target,$(1)),$(call gb_CliLibraryTarget_get_target,$(1)),$(1))
$$(eval $$(call gb_Module_register_target,$(call gb_CliLibrary_get_target,$(1)),$(call gb_CliLibrary_get_clean_target,$(1)))) $$(eval $$(call gb_Module_register_target,$(call gb_CliLibrary_get_target,$(1)),$(call gb_CliLibrary_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),CliLibrary) $(call gb_Helper_make_userfriendly_targets,$(1),CliLibrary)
$(call gb_CliLibrary_get_target,$(1)) :
$$(call gb_CliLibrary__command,$$@,$(1))
endef endef
define gb_CliLibrary_set_configfile define gb_CliLibrary_set_configfile
...@@ -151,7 +87,7 @@ $(call gb_CliAssembly_set_configfile,$(1),$(2)) ...@@ -151,7 +87,7 @@ $(call gb_CliAssembly_set_configfile,$(1),$(2))
endef endef
define gb_CliLibrary_set_keyfile define gb_CliLibrary_set_keyfile
$(call gb_CliLibraryTarget_get_target,$(1)) : CLI_KEYFILE := $(2) $(call gb_CliLibrary_get_target,$(1)) : CLI_KEYFILE := $(2)
$(call gb_CliAssembly_set_keyfile,$(1),$(2)) $(call gb_CliAssembly_set_keyfile,$(1),$(2))
endef endef
...@@ -162,42 +98,45 @@ $(call gb_CliAssembly_set_policy,$(1),$(2),$(3)) ...@@ -162,42 +98,45 @@ $(call gb_CliAssembly_set_policy,$(1),$(2),$(3))
endef endef
define gb_CliLibrary_use_assembly define gb_CliLibrary_use_assembly
$(call gb_CliLibraryTarget_use_assembly,$(1),$(2)) $(call gb_CliLibrary_get_target,$(1)) : CLI_ASSEMBLIES += $(call gb_CliLibrary_get_target,$(2))
$(call gb_CliLibrary_get_target,$(1)) : $(call gb_CliLibrary_get_target,$(2))
endef endef
define gb_CliLibrary_use_assemblies define gb_CliLibrary_use_assemblies
$(call gb_CliLibraryTarget_use_assemblies,$(1),$(2)) $(foreach assembly,$(2),$(call gb_CliLibrary_use_assembly,$(1),$(assembly)))
endef endef
# Add a source file to compile # Add a source file to compile
define gb_CliLibrary_add_csfile define gb_CliLibrary_add_csfile
$(call gb_CliLibraryTarget_add_csfile,$(1),$(2)) $(call gb_CliLibrary_get_target,$(1)) : CLI_SOURCES += $(call gb_CliLibrary__get_source,$(2))
$(call gb_CliLibrary_get_target,$(1)) : $(call gb_CliLibrary__get_source,$(2))
endef endef
# Add source files to compile # Add source files to compile
define gb_CliLibrary_add_csfiles define gb_CliLibrary_add_csfiles
$(call gb_CliLibraryTarget_add_csfiles,$(1),$(2)) $(foreach csfile,$(2),$(call gb_CliLibrary_add_csfile,$(1),$(csfile)))
endef endef
# Add a generated source file to compile # Add a generated source file to compile
define gb_CliLibrary_add_generated_csfile define gb_CliLibrary_add_generated_csfile
$(call gb_CliLibraryTarget_add_generated_csfile,$(1),$(2)) $(call gb_CliLibrary_get_target,$(1)) : CLI_SOURCES += $(call gb_CliLibrary__get_generated_source,$(2))
$(call gb_CliLibrary_get_target,$(1)) : $(call gb_CliLibrary__get_generated_source,$(2))
endef endef
# Add generated source files to compile # Add generated source files to compile
define gb_CliLibrary_add_generated_csfiles define gb_CliLibrary_add_generated_csfiles
$(call gb_CliLibraryTarget_add_generated_csfiles,$(1),$(2)) $(foreach csfile,$(2),$(call gb_CliLibrary_add_generated_csfile,$(1),$(csfile)))
endef endef
# Add flags used for compilation # Add flags used for compilation
define gb_CliLibrary_add_csflags define gb_CliLibrary_add_csflags
$(call gb_CliLibraryTarget_add_csflags,$(1),$(2)) $(call gb_CliLibrary_get_target,$(1)) : CLI_CSCFLAGS += $(2)
endef endef
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
# outdir target pattern # outdir target pattern
# thoese are hard-coded to URE for now since there are so few of them... # thoese are hard-coded to URE for now since there are so few of them...
gb_CliLibrary_get_target = $(gb_Helper_OUTDIRLIBDIR)/$(1)$(gb_CliLibrary_EXT) gb_CliLibrary_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliLibrary_EXT)
gb_CliNativeLibrary_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliNativeLibrary_EXT) gb_CliNativeLibrary_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliNativeLibrary_EXT)
gb_CliUnoApi_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliUnoApi_EXT) gb_CliUnoApi_get_target = $(INSTROOT)/$(LIBO_URE_LIB_FOLDER)/$(1)$(gb_CliUnoApi_EXT)
gb_PackagePart_get_destinations = \ gb_PackagePart_get_destinations = \
...@@ -69,7 +69,6 @@ gb_CliAssembly_get_target = $(WORKDIR)/CliAssembly/$(1).done ...@@ -69,7 +69,6 @@ gb_CliAssembly_get_target = $(WORKDIR)/CliAssembly/$(1).done
gb_CliAssemblyTarget_get_target = $(WORKDIR)/CliAssemblyTarget/$(1).done gb_CliAssemblyTarget_get_target = $(WORKDIR)/CliAssemblyTarget/$(1).done
gb_CliAssemblyTarget_get_assembly_target = $(WORKDIR)/CliAssemblyTarget/$(1)$(gb_CliAssemblyTarget_POLICYEXT) gb_CliAssemblyTarget_get_assembly_target = $(WORKDIR)/CliAssemblyTarget/$(1)$(gb_CliAssemblyTarget_POLICYEXT)
gb_CliConfigTarget_get_target = $(WORKDIR)/CliConfigTarget/$(1).config gb_CliConfigTarget_get_target = $(WORKDIR)/CliConfigTarget/$(1).config
gb_CliLibraryTarget_get_target = $(WORKDIR)/CliLibraryTarget/$(1)$(gb_CliLibraryTarget_EXT)
gb_CliNativeLibrary_get_preparation_target = $(WORKDIR)/CliNativeLibraryTarget/$(1).prepare gb_CliNativeLibrary_get_preparation_target = $(WORKDIR)/CliNativeLibraryTarget/$(1).prepare
gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
gb_ComponentTarget_get_target_for_build = $(WORKDIR_FOR_BUILD)/ComponentTarget/$(1).component gb_ComponentTarget_get_target_for_build = $(WORKDIR_FOR_BUILD)/ComponentTarget/$(1).component
...@@ -251,7 +250,7 @@ $(eval $(call gb_Helper_make_clean_targets,\ ...@@ -251,7 +250,7 @@ $(eval $(call gb_Helper_make_clean_targets,\
CliAssembly \ CliAssembly \
CliAssemblyTarget \ CliAssemblyTarget \
CliConfigTarget \ CliConfigTarget \
CliLibraryTarget \ CliLibrary \
CliNativeLibrary \ CliNativeLibrary \
CliUnoApi \ CliUnoApi \
ComponentTarget \ ComponentTarget \
...@@ -326,7 +325,6 @@ $(eval $(call gb_Helper_make_clean_targets,\ ...@@ -326,7 +325,6 @@ $(eval $(call gb_Helper_make_clean_targets,\
)) ))
$(eval $(call gb_Helper_make_outdir_clean_targets,\ $(eval $(call gb_Helper_make_outdir_clean_targets,\
CliLibrary \
InstallScript \ InstallScript \
)) ))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment