webengine/osswebengine/Bakefiles/Readme.txt
changeset 0 dd21522fd290
equal deleted inserted replaced
-1:000000000000 0:dd21522fd290
       
     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