Summary: | dftables should be rewritten as a script | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | David Kilzer (:ddkilzer) <ddkilzer> | ||||||||
Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | alp, aroben, kevino, lars.knoll, mrowe | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | All | ||||||||||
OS: | All | ||||||||||
Attachments: |
|
Description
David Kilzer (:ddkilzer)
2008-01-10 10:25:34 PST
Created attachment 18376 [details]
dftables in Perl
Here's the rewrite of the dftables script in everyone's favorite scripting language: Perl!
Since the original C++ program was pulling values from the pcre_internal.h header file, the script creates a file that is pre-processed using cpp to generate Perl code, which is then eval-ed.
The Perl will look very C-like because I mostly kept the same logic/structures as the original C code to make it easier to verify.
Will post a patch shortly. Copying people familiar with other build systems that I haven't tested (Qt, GTK, WX, Windows). Created attachment 18377 [details]
Patch v1
Proposed patch.
Please review changes for your build system (qmake, GNU autotools/make, Bakefiles, Visual C++). All build system changes were made "blind" except the Xcode change.
Comment on attachment 18377 [details]
Patch v1
You'll need to remove the dftables project from WebKit/win/WebKit.vcproj/WebKit.sln as well
In the .sln files you not only need to remove the project itself but also remove its GUID from any dependency listings.
(In reply to comment #4) > Created an attachment (id=18377) [edit] > Patch v1 I should note that output from the Perl script is identical to the compiled C++ program when I built on Mac OS X 10.5.1 (9B18). Comment on attachment 18377 [details]
Patch v1
+ $(JavaScriptCore)/pcre
Should have a backslash at the end of this line, or you could delete the "#" at the beginning of the next line which is supposed to be a sort of reminder that you're at the end of the script.
Looks fine, r=me
(Too bad I have saved patches with changes to the tool -- should be easy enough to port, though.)
Created attachment 18381 [details]
Patch v2
Contains fixes for Darin's and Adam's issues.
Comment on attachment 18381 [details]
Patch v2
Looks good on the Windows side.
Nice. -JavaScriptCore/pcre/chartables.c: $(top_builddir)/Programs/dftables$(EXEEXT) - ./Programs/dftables $@ +JavaScriptCore/pcre/chartables.c: + $(srcdir)/JavaScriptCore/pcre/dftables $@ This should probably be: JavaScriptCore/pcre/chartables.c: $(srcdir)/JavaScriptCore/pcre/dftables $^ $@ (In reply to comment #10) > -JavaScriptCore/pcre/chartables.c: $(top_builddir)/Programs/dftables$(EXEEXT) > - ./Programs/dftables $@ > +JavaScriptCore/pcre/chartables.c: > + $(srcdir)/JavaScriptCore/pcre/dftables $@ > > This should probably be: > > JavaScriptCore/pcre/chartables.c: $(srcdir)/JavaScriptCore/pcre/dftables > $^ $@ Fixed. Thanks! Committed revision 29381. (In reply to comment #12) > Committed revision 29381. It helps if dftables is executable, too. Committed revision 29382. Looks like Qt Linux/Windows and Gtk builds failed. I must not have made the correct changes to the qmake files. |