From 0adc9b615f118ebb78f5f2edfe0c1c0e41270d57 Mon Sep 17 00:00:00 2001 From: Luboš Luňák Date: Mon, 10 Feb 2020 10:31:26 +0100 Subject: GBUILD_TRACE, support for finding out where the build time is spent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See instructions in solenv/gbuild/Trace.mk . This generates a file than can be viewed e.g. in the Chromium tracing view. Change-Id: I5f90647c58ca729375525b6daed2d4918adc8188 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88754 Tested-by: Jenkins Reviewed-by: Luboš Luňák --- postprocess/CustomTarget_check_dynamic_objects.mk | 2 ++ postprocess/CustomTarget_images.mk | 6 ++++++ postprocess/CustomTarget_registry.mk | 12 ++++++++++++ postprocess/CustomTarget_signing.mk | 2 ++ 4 files changed, 22 insertions(+) (limited to 'postprocess') diff --git a/postprocess/CustomTarget_check_dynamic_objects.mk b/postprocess/CustomTarget_check_dynamic_objects.mk index aedf589eb51e..d81321cad18a 100644 --- a/postprocess/CustomTarget_check_dynamic_objects.mk +++ b/postprocess/CustomTarget_check_dynamic_objects.mk @@ -18,7 +18,9 @@ $(call gb_CustomTarget_get_workdir,postprocess/check_dynamic_objects)/check.done $(call gb_Postprocess_get_target,AllExecutables) \ $(call gb_Postprocess_get_target,AllPackages) $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),CHK,2) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),CHK) # currently we only check ELF objects $(SRCDIR)/bin/check-elf-dynamic-objects -p + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),CHK) # vim: set noet sw=4 ts=4: diff --git a/postprocess/CustomTarget_images.mk b/postprocess/CustomTarget_images.mk index f1e32f0b28ff..691db4bd0294 100644 --- a/postprocess/CustomTarget_images.mk +++ b/postprocess/CustomTarget_images.mk @@ -49,6 +49,7 @@ $(packimages_DIR)/images_%.zip : \ $(call gb_Helper_get_imagelists) \ | $(call gb_ExternalExecutable_get_dependencies,python) $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),PRL,2) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),PRL) $(call gb_Helper_abbreviate_dirs, \ ILSTFILE=$(call var2file,$(shell $(gb_MKTEMP)),100,$(filter %.ilst,$^)) && \ $(call gb_ExternalExecutable_get_command,python) $(SRCDIR)/solenv/bin/pack_images.py \ @@ -61,6 +62,7 @@ $(packimages_DIR)/images_%.zip : \ -s $< -o $@ \ $(if $(findstring s,$(MAKEFLAGS)),> /dev/null) && \ rm -rf $${ILSTFILE}) + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),PRL) # turn the #defines foo "resource.png" of hlst into the final ilst format $(packimages_DIR)/sourceimagelist.ilst : \ @@ -94,19 +96,23 @@ $(packimages_DIR)/sourceimagelist.ilst : \ $(packimages_DIR)/commandimagelist.ilst : $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),PRL,1) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),PRL) $(call gb_Helper_abbreviate_dirs, \ $(FIND) $(SRCDIR)/icon-themes -name "*.png" -o -name "*.svg" | \ grep -e '/cmd/' | sed 's#^.*/icon-themes/[^/]*##' | \ sed "s#^#%MODULE%#" | \ LC_ALL=C $(SORT) -u > $@.tmp && \ $(call gb_Helper_replace_if_different_and_touch,$@.tmp,$@)) + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),PRL) $(packimages_DIR)/sorted.lst : \ $(SRCDIR)/postprocess/packimages/image-sort.lst \ $(call gb_Postprocess_get_target,AllUIConfigs) $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),PRL,1) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),PRL) $(call gb_Helper_abbreviate_dirs, \ $(PERL) $(SRCDIR)/solenv/bin/image-sort.pl \ $< $(INSTROOT)/$(gb_UIConfig_INSTDIR) $@) + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),PRL) # vim: set noet sw=4 ts=4: diff --git a/postprocess/CustomTarget_registry.mk b/postprocess/CustomTarget_registry.mk index b032dfd31681..0e2af975255f 100644 --- a/postprocess/CustomTarget_registry.mk +++ b/postprocess/CustomTarget_registry.mk @@ -567,6 +567,7 @@ $(call gb_XcdTarget_get_target,main.xcd) \ : $(BUILDDIR)/config_host.mk.stamp \ | $(call gb_ExternalExecutable_get_dependencies,xsltproc) $(call gb_Output_announce,main,$(true),XCD,3) + $(call gb_Trace_StartRange,main,XCD) $(call gb_Helper_abbreviate_dirs, \ mkdir -p $(dir $@) && \ $(call gb_ExternalExecutable_get_command,xsltproc) --nonet \ @@ -574,25 +575,31 @@ $(call gb_XcdTarget_get_target,main.xcd) \ $(call gb_CustomTarget_get_workdir,postprocess/registry)/main.list \ | sed $(postprocess_main_SED) > $@ \ ) + $(call gb_Trace_EndRange,main,XCD) $(call gb_XcdTarget_get_target,%.xcd) : \ | $(call gb_ExternalExecutable_get_dependencies,xsltproc) $(call gb_Output_announce,$*,$(true),XCD,3) + $(call gb_Trace_StartRange,$*,XCD) $(call gb_Helper_abbreviate_dirs, \ mkdir -p $(dir $@) && \ $(call gb_ExternalExecutable_get_command,xsltproc) --nonet \ -o $@ $(SRCDIR)/solenv/bin/packregistry.xslt $< \ ) + $(call gb_Trace_EndRange,$*,XCD) $(call gb_CustomTarget_get_workdir,postprocess/registry)/Langpack-%.list : $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,2) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),ECH) echo '$(call gb_XcuLangpackTarget_get_target,Langpack-$*.xcu)' > $@ + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),ECH) # It can happen that localized fcfg_langpack_*.zip contains # zero-sized org/openoffice/TypeDetection/Filter.xcu; filter them out in the # find shell command below (see issue 110041): $(call gb_CustomTarget_get_workdir,postprocess/registry)/fcfg_langpack_%.list : $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),AWK,2) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),AWK) $(call gb_Helper_abbreviate_dirs,\ $(FIND) $(call gb_XcuResTarget_get_target,fcfg_langpack/$*/) \ -name *.xcu -size +0c \ @@ -601,9 +608,11 @@ $(call gb_CustomTarget_get_workdir,postprocess/registry)/fcfg_langpack_%.list : {print ""$$0""} \ END {print ""}' > $@ \ ) + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),AWK) $(call gb_CustomTarget_get_workdir,postprocess/registry)/registry_%.list : $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),AWK,2) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),AWK) $(call gb_Helper_abbreviate_dirs,\ $(FIND) $(call gb_XcuResTarget_get_target,registry/$*/) \ $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),\ @@ -617,12 +626,15 @@ $(call gb_CustomTarget_get_workdir,postprocess/registry)/registry_%.list : {print ""$$0""} \ END {print ""}' > $@ \ ) + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),AWK) $(call gb_CustomTarget_get_workdir,postprocess/registry)/%.list : $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),ECH,2) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),ECH) mv $(call var2file,$@.tmp,70, $(foreach i,$(postprocess_DEPS_$*), ) \ $(foreach i,$(postprocess_OPTDEPS_$*), ) \ $(foreach i,$(postprocess_FILES_$*), $(i)) ) \ $@ + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),ECH) # vim: set noet sw=4 ts=4: diff --git a/postprocess/CustomTarget_signing.mk b/postprocess/CustomTarget_signing.mk index 7ba7c5832f17..a00faa857f2a 100644 --- a/postprocess/CustomTarget_signing.mk +++ b/postprocess/CustomTarget_signing.mk @@ -27,6 +27,7 @@ $(call gb_CustomTarget_get_workdir,postprocess/signing)/signing.done: \ $(call gb_CustomTarget_get_workdir,postprocess/signing)/signing.done: $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),PRL,2) + $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),PRL) ifeq ($(COM),MSC) ifneq ($(ENABLE_DBGUTIL),TRUE) EXCLUDELIST=$(shell $(gb_MKTEMP)) && \ @@ -55,5 +56,6 @@ endif else @echo "Nothing to do, signing is Windows (MSC) only." endif + $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),PRL) # vim: set noet sw=4 ts=4: -- cgit