[Webkit-unassigned] [Bug 33810] New: Refactor of Makefiles into Modular design

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 18 13:39:45 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=33810

           Summary: Refactor of Makefiles into Modular design
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: Mac OS X 10.5
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Gtk
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: mike.emmel at gmail.com
            Blocks: 32452


In Bug 32452 and attempt was made to integrate the V8 JS engine into
Gtk/WebKit.

The current monolithic design of the Makefiles made adding such and invasive
module very difficult requiring a number of changes with a large number if
ifdefs. My orignal comment of the V8 bug
is new but this should be a new bug.

I set to work refactoring the makefiles to make them modular enough to add
large and different submodules aka v8 vs JavascriptCore.

It turned out to be a very involved task.

The work can be downloaded at:
http://repo.or.cz/w/webbrowser.git
git clone ssh://repo.or.cz/srv/git/webbrowser.git

The branch is makefile

It would still need quite a bit of clean up and several reviews.
I've not tested out of tree builds I suspect they are broken.
However nothing particularly major is left.

The basic idea is that the monolithic solution is simply becoming unmanageable
and does not fit the way most large project using autotools.

Several modular makefiles are already included in the main one so its already a
multi file solution.

What I have done is move all the processor flag setting into configure and
split the makefiles so they are standalone not included in the main build.

What this does is make it much simpler to split out submodules especially and
refactor a bit if needed. Right now its very close to what I would need to
easily add V8.

It was quite a bit of work and more needs to be done to finish but its to the
point that the basic idea can be accepted or rejected. 

When the build finished GtkLauncher is now in WebKit/WebKitTools/Programs

In doing the work I found a lot of interesting issues several features for
example did not have switches and thus could not be turned on even if they
existed in the Makefile. I suspect in several cases these are bugs highlighting
the issue of maintainability.

With all the includes and flags now resolved in configure adding new modular
standalone makefiles is fairly easy. And it would not be hard to make the final
link a bit more modular if needed.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list