[Buildroot] [PATCH] webkitgtk24: add patch to disable dependency tracking

Yann E. MORIN yann.morin.1998 at free.fr
Sat Oct 17 16:56:45 UTC 2015


Gustavo, All,

On 2015-10-16 12:49 -0300, gustavo.zacarias at free-electrons.com spake thusly:
> From: Gustavo Zacarias <gustavo.zacarias at free-electrons.com>
> 
> Saves about 2 minutes of build time, on a 4c4t build machine from
> 42 minutes down to 40.
> 
> Signed-off-by: Gustavo Zacarias <gustavo.zacarias at free-electrons.com>
> ---
>  .../webkitgtk24/0004-fix-dependency-tracking.patch | 117 +++++++++++++++++++++
>  package/webkitgtk24/webkitgtk24.mk                 |   2 -
>  2 files changed, 117 insertions(+), 2 deletions(-)
>  create mode 100644 package/webkitgtk24/0004-fix-dependency-tracking.patch
> 
> diff --git a/package/webkitgtk24/0004-fix-dependency-tracking.patch b/package/webkitgtk24/0004-fix-dependency-tracking.patch
> new file mode 100644
> index 0000000..68d9a82
> --- /dev/null
> +++ b/package/webkitgtk24/0004-fix-dependency-tracking.patch
> @@ -0,0 +1,117 @@
> +Fixes the need to enable depedency tracking on multicore builds.
> +Reduced version from https://bugs.webkit.org/show_bug.cgi?id=94488
> +
> +Signed-off-by: Gustavo Zacarias <gustavo.zacarias at free-electrons.com>

Is that patch upstream?

If it is, please add a pointer to the upstream commit.

If not, then I'd prefer we do not carry that. Gaining 2 minutes over 42
is just below 5%, so I am not persuaded this is worth it.

Regards,
Yann E. MORIN.

> +diff --git a/Source/WebCore/GNUmakefile.am b/Source/WebCore/GNUmakefile.am
> +index cfecee7..d41fe63 100644
> +--- a/Source/WebCore/GNUmakefile.am
> ++++ b/Source/WebCore/GNUmakefile.am
> +@@ -390,11 +390,14 @@ audio_DATA = $(WebCore)/platform/audio/resources/Composite.wav
> + dist_audio_DATA = $(audio_DATA)
> + endif  # END ENABLE_WEB_AUDIO
> + 
> ++DerivedSources/ANGLE:
> ++	$(AM_V_at)mkdir -p $@
> ++
> + # ANGLE tokenizer & parser
> +-DerivedSources/ANGLE/glslang.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.l DerivedSources/ANGLE/glslang_tab.cpp
> ++DerivedSources/ANGLE/glslang.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.l DerivedSources/ANGLE/glslang_tab.cpp DerivedSources/ANGLE
> + 	$(AM_V_GEN)$(FLEX) --noline --nounistd --outfile="$@" "$<"
> + 
> +-DerivedSources/ANGLE/glslang_tab.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.y
> ++DerivedSources/ANGLE/glslang_tab.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.y DerivedSources/ANGLE
> + 	$(AM_V_GEN)$(BISON) --no-lines --defines="DerivedSources/ANGLE/glslang_tab.h" --skeleton=yacc.c --output="$@" $<
> + DerivedSources/ANGLE/glslang_tab.h: DerivedSources/ANGLE/glslang_tab.cpp
> + 
> +diff --git a/Source/WebCore/bindings/gobject/GNUmakefile.am b/Source/WebCore/bindings/gobject/GNUmakefile.am
> +index 6864e10..4e4eaac 100644
> +--- a/Source/WebCore/bindings/gobject/GNUmakefile.am
> ++++ b/Source/WebCore/bindings/gobject/GNUmakefile.am
> +@@ -474,10 +474,12 @@ BUILT_SOURCES += \
> + 
> + gdom_class_list := $(subst WebKitDOM,, $(filter-out %Private, $(basename $(notdir $(webkitgtk_gdom_built_sources)))))
> + gdom_class_list += Custom EventTarget Object Deprecated
> +-DerivedSources/webkitdom/webkitdom.h: $(WebCore)/bindings/scripts/gobject-generate-headers.pl $(WebCore)/bindings/gobject/GNUmakefile.am
> ++DerivedSources/webkitdom:
> ++	$(AM_V_at)mkdir -p $@
> ++DerivedSources/webkitdom/webkitdom.h: $(WebCore)/bindings/scripts/gobject-generate-headers.pl $(WebCore)/bindings/gobject/GNUmakefile.am DerivedSources/webkitdom
> + 	$(AM_V_GEN)echo $(gdom_class_list) | $(PERL) $< gdom > $@
> + 
> +-DerivedSources/webkitdom/webkitdomdefines.h: $(WebCore)/bindings/scripts/gobject-generate-headers.pl $(WebCore)/bindings/gobject/GNUmakefile.am
> ++DerivedSources/webkitdom/webkitdomdefines.h: $(WebCore)/bindings/scripts/gobject-generate-headers.pl $(WebCore)/bindings/gobject/GNUmakefile.am DerivedSources/webkitdom
> + 	$(AM_V_GEN)echo $(gdom_class_list) | $(PERL) $< defines > $@
> + 
> + noinst_DATA += DerivedSources/webkitdom/webkitdom.symbols
> +@@ -519,16 +521,16 @@ CLEAN_FILES = \
> + # DerivedSources/webkitdom directory.  The reason is that we want all header files distributed in the
> + # include/webkit-x.y/webkitdom directory, but do not want to name the WebCore/bindings/gobject directory
> + # "webkitdom", as that's a bit presumptuous for a GTK binding.
> +-$(top_builddir)/DerivedSources/webkitdom/WebKitDOMObject.h: $(WebCore)/bindings/gobject/WebKitDOMObject.h
> ++$(top_builddir)/DerivedSources/webkitdom/WebKitDOMObject.h: $(WebCore)/bindings/gobject/WebKitDOMObject.h $(top_builddir)/DerivedSources/webkitdom
> + 	$(AM_V_GEN)cp -f $< $@
> + 
> +-$(top_builddir)/DerivedSources/webkitdom/WebKitDOMEventTarget.h: $(WebCore)/bindings/gobject/WebKitDOMEventTarget.h
> ++$(top_builddir)/DerivedSources/webkitdom/WebKitDOMEventTarget.h: $(WebCore)/bindings/gobject/WebKitDOMEventTarget.h $(top_builddir)/DerivedSources/webkitdom
> + 	$(AM_V_GEN)cp -f $< $@
> + 
> +-$(top_builddir)/DerivedSources/webkitdom/WebKitDOMEventTargetPrivate.h: $(WebCore)/bindings/gobject/WebKitDOMEventTargetPrivate.h
> ++$(top_builddir)/DerivedSources/webkitdom/WebKitDOMEventTargetPrivate.h: $(WebCore)/bindings/gobject/WebKitDOMEventTargetPrivate.h $(top_builddir)/DerivedSources/webkitdom
> + 	$(AM_V_GEN)cp -f $< $@
> + 
> +-$(top_builddir)/DerivedSources/webkitdom/WebKitDOMCustom.h: $(WebCore)/bindings/gobject/WebKitDOMCustom.h
> ++$(top_builddir)/DerivedSources/webkitdom/WebKitDOMCustom.h: $(WebCore)/bindings/gobject/WebKitDOMCustom.h $(top_builddir)/DerivedSources/webkitdom
> + 	$(AM_V_GEN)cp -f $< $@
> + 
> + $(top_builddir)/DerivedSources/webkitdom/WebKitDOMDeprecated.h: $(WebCore)/bindings/gobject/WebKitDOMDeprecated.h
> +diff --git a/Source/WebKit/gtk/GNUmakefile.am b/Source/WebKit/gtk/GNUmakefile.am
> +index 4954f19..db1e777 100644
> +--- a/Source/WebKit/gtk/GNUmakefile.am
> ++++ b/Source/WebKit/gtk/GNUmakefile.am
> +@@ -349,13 +349,16 @@ $(GENSOURCES_WEBKIT)/webkitmarshal.cpp: stamp-webkitmarshal.cpp
> + $(GENSOURCES_WEBKIT)/webkitmarshal.h: stamp-webkitmarshal.h
> + 	@true
> + 
> +-stamp-webkitmarshal.cpp: $(WEBKIT_MARSHAL_LIST)
> ++$(GENSOURCES_WEBKIT):
> ++	$(AM_V_at)mkdir -p $@
> ++
> ++stamp-webkitmarshal.cpp: $(WEBKIT_MARSHAL_LIST) $(GENSOURCES_WEBKIT)
> + 	$(AM_V_GEN) echo "extern \"C\" {" > $(GENSOURCES_WEBKIT)/webkitmarshal.cpp && \
> + 	$(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --body >> $(GENSOURCES_WEBKIT)/webkitmarshal.cpp && \
> + 	echo '}' >> $(GENSOURCES_WEBKIT)/webkitmarshal.cpp && \
> + 	echo timestamp > $(@F)
> + 
> +-stamp-webkitmarshal.h: $(WEBKIT_MARSHAL_LIST)
> ++stamp-webkitmarshal.h: $(WEBKIT_MARSHAL_LIST) $(GENSOURCES_WEBKIT)
> + 	$(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --header > $(GENSOURCES_WEBKIT)/webkitmarshal.h && \
> + 	echo timestamp > $(@F)
> + 
> +@@ -370,7 +373,7 @@ stamp-webkitenumtypes.h: $(webkitgtk_h_api) $(WebKit)/GNUmakefile.am
> + 	&& rm -f xgen-gth \
> + 	&& echo timestamp > $(@F)
> + 
> +-$(GENSOURCES_WEBKIT)/webkitenumtypes.cpp: $(webkitgtk_h_api) $(WebKit)/GNUmakefile.am
> ++$(GENSOURCES_WEBKIT)/webkitenumtypes.cpp: $(webkitgtk_h_api) $(WebKit)/GNUmakefile.am $(GENSOURCES_WEBKIT)
> + 	$(AM_V_GEN)glib-mkenums --template $(srcdir)/Source/WebKit/gtk/webkit/webkitenumtypes.cpp.template $(webkitgtk_h_api) | \
> + 		sed 's,web_kit,webkit,' \
> + 		> xgen-gtc \
> +diff --git a/Tools/WebKitTestRunner/GNUmakefile.am b/Tools/WebKitTestRunner/GNUmakefile.am
> +index 0e17835..cbfa8e2 100644
> +--- a/Tools/WebKitTestRunner/GNUmakefile.am
> ++++ b/Tools/WebKitTestRunner/GNUmakefile.am
> +@@ -156,7 +156,10 @@ code_generation_dependencies = \
> + 	Source/WebCore/bindings/scripts/InFilesParser.pm \
> + 	Source/WebCore/bindings/scripts/generate-bindings.pl
> + 
> +-DerivedSources/InjectedBundle/JS%.cpp: Tools/WebKitTestRunner/InjectedBundle/Bindings/%.idl $(code_generation_dependencies)
> ++$(top_builddir)/DerivedSources/InjectedBundle:
> ++	$(AM_V_at)mkdir -p $@
> ++
> ++DerivedSources/InjectedBundle/JS%.cpp: Tools/WebKitTestRunner/InjectedBundle/Bindings/%.idl $(code_generation_dependencies) $(top_builddir)/DerivedSources/InjectedBundle
> + 	$(AM_V_GEN)$(PERL) \
> + 		-I $(srcdir)/Source/WebCore/bindings/scripts \
> + 		-I $(srcdir)/Tools/WebKitTestRunner/InjectedBundle/Bindings \
> +-- 
> +1.8.4.2
> +
> diff --git a/package/webkitgtk24/webkitgtk24.mk b/package/webkitgtk24/webkitgtk24.mk
> index 3be1cc7..a9f8aef 100644
> --- a/package/webkitgtk24/webkitgtk24.mk
> +++ b/package/webkitgtk24/webkitgtk24.mk
> @@ -33,9 +33,7 @@ ifeq ($(BR2_i386)$(BR2_mips)$(BR2_mipsel)$(BR2_sh),y)
>  WEBKITGTK24_CONF_ENV += LIBS="-latomic"
>  endif
>  
> -# dependency tracking is to avoid build issues in the GEN/WTF phase
>  WEBKITGTK24_CONF_OPTS = \
> -	--enable-dependency-tracking \
>  	--enable-spellcheck \
>  	--disable-geolocation \
>  	--disable-glibtest \
> -- 
> 2.4.9
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list