WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
21392
[GTK] Auto-generate JS DOM binding sources list
https://bugs.webkit.org/show_bug.cgi?id=21392
Summary
[GTK] Auto-generate JS DOM binding sources list
Alp Toker
Reported
2008-10-05 16:21:13 PDT
The autotools build system currently has long lists of generated JavaScript DOM binding sources and headers. This is redundant since we already maintain lists of IDL files and it's a pain to maintain whenever WebCore changes. These lists are set to become even more unwieldy when we start to add new DOM language bindings (GObject, COM?). Patch coming up.
Attachments
Automatically derive the lists
(36.19 KB, patch)
2008-10-05 16:40 PDT
,
Alp Toker
mrowe
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Alp Toker
Comment 1
2008-10-05 16:40:08 PDT
Created
attachment 24105
[details]
Automatically derive the lists ChangeLog | 17 + GNUmakefile.am | 3 WebCore/ChangeLog | 17 + WebCore/GNUmakefile.am | 691 ++++--------------------------------------------- 4 files changed, 95 insertions(+), 633 deletions(-) The interesting part of this patch is around line 900. I've tested this with different versions of automake (including 1.10) and it works well without any regressions in dependency tracking or dist support.
Luke Kenneth Casson Leighton
Comment 2
2008-10-06 01:15:42 PDT
webcore_built_nosources += $(patsubst %.idl,DerivedSources/JS%.h,$(notdir $(IDL_BINDINGS))) hooraaaaay. now if _only_ if was possible to do a translation of upper-case names to decamelized lower-case-plus-hypen-names.... in Gnumake "%" substitutions, one of the requests of having the dom bindings header files as gdom-xxx-xxx-xxx.h could be fulfilled.
Mark Rowe (bdash)
Comment 3
2008-10-07 11:10:57 PDT
Comment on
attachment 24105
[details]
Automatically derive the lists r=me
Alp Toker
Comment 4
2008-10-07 11:30:13 PDT
Landed in
r37382
. lkcl: In theory you could even call out to a perl/shell script using the same technique now if necessary!
Darin Adler
Comment 5
2008-10-07 11:59:38 PDT
Why are we still doing this entirely separately for automake and non-automake platforms? Can we get this merged with DerivedSources.make some day soon?
Alp Toker
Comment 6
2008-10-07 13:53:25 PDT
This broke the buildbot: (cd .libs && rm -f libJavaScriptCore.la && ln -s ../libJavaScriptCore.la libJavaScriptCore.la) if ./doltcompile g++ -DHAVE_CONFIG_H -I. -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build -I. -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/ -DWTF_USE_ICU_UNICODE=1 -DBUILDING_CAIRO__=1 -DBUILDING_GTK__=1 -DWTF_CHANGES -DXP_UNIX -DNDEBUG -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/bindings/js -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/bridge -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/bridge/c -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/css -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/dom -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/editing -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/history -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/html -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/inspector -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/loader -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/loader/appcache -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/loader/archive -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/loader/icon -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/page -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/page/animation -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/graphics -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/graphics/filters -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/image-decoders -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/image-decoders/bmp -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/image-decoders/gif -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/image-decoders/ico -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/image-decoders/jpeg -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/image-decoders/png -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/image-decoders/xbm -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/network -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/text -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/plugins -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/rendering -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/rendering/style -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/xml -I./WebCore/bindings/js -DWTF_USE_CURL=1 -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/network/curl -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DASHBOARD_SUPPORT=1 -DENABLE_DATABASE=1 -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/sql -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/storage -DENABLE_DOM_STORAGE=1 -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/storage -DENABLE_ICONDATABASE=1 -DENABLE_XPATH=1 -DENABLE_XSLT=1 -DENABLE_SVG=1 -I\/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/svg -I\/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/svg/animation -I\/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/svg/graphics -I\/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/svg/graphics/filters -DENABLE_SVG_USE=1 -DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_FONTS=1 -DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_ANIMATION=1 -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore/ForwardingHeaders -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore/wtf -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore/kjs -I./DerivedSources -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore/API -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore/ForwardingHeaders -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore/VM -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore/profiler -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/JavaScriptCore/wtf/unicode -I./JavaScriptCore/pcre -I./JavaScriptCore/kjs -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/loader/gtk -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/page/gtk -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/graphics/cairo -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/graphics/gtk -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/platform/gtk -DUSE_FREETYPE=1 -I/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebCore/svg/graphics/cairo -fvisibility-inlines-hidden -fno-rtti -fno-strict-aliasing -O2 -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses -fno-exceptions -fvisibility=hidden -pthread -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/glib-2.0 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/lib/glib-2.0/include -isystem/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include -D_REENTRANT -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/libxml2 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/cairo -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/freetype2 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/include -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/ -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/libpng12 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/pango-1.0 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/glib-2.0 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/lib/glib-2.0/include -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/gtk-2.0 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/lib/gtk-2.0/include -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/atk-1.0 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/cairo -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/pango-1.0 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/glib-2.0 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/lib/glib-2.0/include -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/freetype2 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/include -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/ -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/libpng12 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/cairo -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/freetype2 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/include -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/ -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/libpng12 -I/home/oe/webkit/deps/tmp/staging/i686-angstrom-linux/usr/include/libxml2 -MT DerivedSources/JSCSSCharsetRule.lo -MD -MP -MF ".deps/DerivedSources/JSCSSCharsetRule.Tpo" \ -c -o DerivedSources/JSCSSCharsetRule.lo `test -f 'DerivedSources/JSCSSCharsetRule.cpp' || echo '/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/'`DerivedSources/JSCSSCharsetRule.cpp; \ then mv -f ".deps/DerivedSources/JSCSSCharsetRule.Tpo" ".deps/DerivedSources/JSCSSCharsetRule.Plo"; \ else rm -f ".deps/DerivedSources/JSCSSCharsetRule.Tpo"; exit 1; \ fi DerivedSources/JSCSSCharsetRule.cpp:144: fatal error: opening dependency file .deps/DerivedSources/JSCSSCharsetRule.Tpo: No such file or directory compilation terminated. make[2]: *** [DerivedSources/JSCSSCharsetRule.lo] Error 1 make[2]: Leaving directory `/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebKitBuild/Release' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/oe/webkit/source/WebKit-BuildSlave/trunk-gtk-linux-release/build/WebKitBuild/Release' Failed to build WebKit using 'make'! I'm going to try fixing it in a little while rather than rolling back (though I can't reproduce this locally, works fine on several systems).
Alp Toker
Comment 7
2008-10-07 16:07:38 PDT
Can now reproduce the problem with automake-1.7. Problem is that the dependency information output directory looks wrong and gcc complains because it hasn't been created yet. Possibly a bad interaction with dolt. Investigating further.
Alp Toker
Comment 8
2008-10-07 16:38:29 PDT
Not a dolt issue, happens without it too. Seems to be a quirk in older automake that was fixed in later versions.
Alp Toker
Comment 9
2008-10-07 17:46:23 PDT
Hopefully fixed in
r37403
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug