~ubuntu-branches/ubuntu/maverick/webkit/maverick

« back to all changes in this revision

Viewing changes to Bakefiles/Readme.txt

  • Committer: Bazaar Package Importer
  • Author(s): Mike Hommey
  • Date: 2007-08-19 15:54:12 UTC
  • Revision ID: james.westby@ubuntu.com-20070819155412-uxxg1h9plpghmtbi
Tags: upstream-0~svn25144
ImportĀ upstreamĀ versionĀ 0~svn25144

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
WebKit Bakefile Docs
 
2
 
 
3
The files in this folder are used to auto-generate project files in GNU
 
4
Make and Microsoft Visual Studio 6 (can be used in 7 and 8 too). Support
 
5
for many other formats are available, including eVC (for PocketPC),
 
6
autoconf, and Symbian project formats, so most future ports would be
 
7
able to take advantage of Bakefile support for their projects. (XCode
 
8
also has a partial backend in place, but it's not in a usable state for
 
9
this project.)
 
10
 
 
11
The project files generated using Bakefile currently reside in the
 
12
WebCore/Projects/<Project Name> folder. There are not any JavaScriptCore
 
13
Bakefiles yet as it build successfully pretty much everywhere already.
 
14
However, a Bakefile-based project management system might reduce the
 
15
maintenance burden of maintaining the JavaScriptCore project files too,
 
16
eventually.
 
17
 
 
18
 
 
19
Preparing the build environment
 
20
--------------------------------
 
21
 
 
22
Right now, the prepartion steps are not totally automated. Here are the steps
 
23
that need to be taken at present before you build. 
 
24
 
 
25
IMPORTANT: If you already have a copy of Bakefile 0.2.0 installed, you need to
 
26
update your version to a modified 0.2.0 release with MSVS 2005 support. (If you 
 
27
haven't installed it, regenerate-makefiles will take care of it for you.) You can
 
28
get the release from here:
 
29
 
 
30
http://kevino.theolliviers.com/bakefile-0.2.0-msvs2005.tar.gz
 
31
 
 
32
This support will be officially in a future Bakefile release.
 
33
 
 
34
--- On Unix, do the following:
 
35
 
 
36
cd WebKitTools/Scripts
 
37
sudo ./install-unix-extras # or su, needed for make install
 
38
 
 
39
--- On Windows, do the following:
 
40
 
 
41
cd WebKitTools/Scripts
 
42
./install-win-extras
 
43
 
 
44
 
 
45
Building the projects 
 
46
----------------------
 
47
 
 
48
cd into the project directory (WebKit/JavaScriptCore and 
 
49
WebKit/WebCore/Projects/wx, respectively) and run the following:
 
50
 
 
51
-- On Unix:
 
52
 
 
53
make
 
54
 
 
55
-- On Windows, you should open and build the .sln projects.
 
56
 
 
57
Windows Note: Sometimes, the files generated by the pre-build step don't get
 
58
built and you get an error during linking. However, a subsequent build resolves
 
59
the issue.
 
60
 
 
61
 
 
62
Regenerating the Makefiles 
 
63
---------------------------
 
64
 
 
65
cd into the WebCore/WebKitTools/Scripts directory and run the
 
66
./regenerate-makefiles script to recreate the makefiles. This will download
 
67
and install Bakefile if you don't have it installed already. (You may need to
 
68
authenticate if it needs to install Bakefile.)
 
69
 
 
70
 
 
71
Regenerating the source file lists 
 
72
------------------------------------
 
73
Currently, WebCoreSources.bkl and JavaScriptCore.bkl files are
 
74
autogenerated by reading the .vcproj files and extracting the file lists
 
75
from them, using update-file-lists.py. Whenever files are added/removed,
 
76
you should re-run 'python update-file-lists.py' to put the *Sources.bkl back in
 
77
sync with TOT. When the script is run, however, there are also currently two 
 
78
source files that need to be manually removed:
 
79
 
 
80
In JavaScriptCoreSources.bkl
 
81
- ./grammarWrapper.cpp
 
82
 
 
83
In WebCoreSources.bkl
 
84
- $(SRCDIR)/rendering/RenderThemeWin.cpp 
 
85
 
 
86
Eventually, we need a way to ensure that these files get included only for
 
87
Win builds. Either we find a solution so that we no longer need to autogenerate
 
88
the source file list, or we move them in the vcproj to some sort of 'win' 
 
89
subfolder, which would automatically keep them from being added to the Bakefiles.
 
90
 
 
91
 
 
92
Bakefile formats
 
93
-----------------
 
94
 
 
95
For those of you curious about what other types of project files Bakefile can
 
96
generate, a list can be found here: 
 
97
 
 
98
http://bakefile.sourceforge.net/doc/html/rn01re01.html
 
99