Commit f5c101bc authored by zecke's avatar zecke

Bakefiles:

2007-09-29  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark.

        -Fix http://bugs.webkit.org/show_bug.cgi?id=13226.
        Remove Bakefiles from svn.

        * Bakefiles/Bakefiles.bkgen: Removed.
        * Bakefiles/ChangeLog: Removed.
        * Bakefiles/Readme.txt: Removed.
        * Bakefiles/presets.bkl: Removed.
        * Bakefiles/update-file-lists.py: Removed.

JavaScriptCore:
2007-09-29  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark.

        -Fix http://bugs.webkit.org/show_bug.cgi?id=13226.
        Remove Bakefiles from svn.

        * JavaScriptCoreSources.bkl: Removed.
        * jscore.bkl: Removed.

WebCore:
2007-09-29  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark.

        -Fix http://bugs.webkit.org/show_bug.cgi?id=13226.
        Remove Bakefiles from svn.

        * Projects/gdk/webcore-gdk.bkl: Removed.
        * Projects/wx/webcore-wx.bkl: Removed.
        * WebCoreSources.bkl: Removed.
        * webcore-base.bkl: Removed.

WebKitTools
2007-09-29  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark.

        -Fix http://bugs.webkit.org/show_bug.cgi?id=13226.
        Remove Bakefiles from svn.

        * GtkLauncher/Bakefiles.bkgen: Removed.
        * GtkLauncher/ENV: Removed.
        * GtkLauncher/gdklauncher.bkl: Removed.
        * GtkLauncher/mk: Removed.
        * Scripts/regenerate-makefiles: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 68e127da
<?xml version="1.0" ?>
<!--
Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Build configuration script for Bakefile.
-->
<bakefile-gen>
<input>
../JavaScriptCore/jscore.bkl
../WebCore/Projects/wx/webcore-wx.bkl
../WebCore/Projects/gdk/webcore-gdk.bkl
</input>
<!-- List of output formats to generate: -->
<add-formats>
gnu <!-- xcode2,msvc,msvs2005 -->
</add-formats>
<!-- webcore gdk is Unix-only for now, right? -->
<del-formats files="../WebCore/Projects/gdk/webcore-gdk.bkl">
msvs2005,msvc
</del-formats>
<!-- JSCore settings -->
<add-flags files="../JavaScriptCore/jscore.bkl" formats="gnu">
-o../JavaScriptCore/GNUmakefile
</add-flags>
<add-flags files="../JavaScriptCore/jscore.bkl" formats="msvs2005">
-o../JavaScriptCore/JavaScriptCore.sln
</add-flags>
<add-flags files="../JavaScriptCore/jscore.bkl" formats="msvc">
-o../JavaScriptCore/bkl-makefile.vc
</add-flags>
<!-- testing XCode backend
<add-flags files="jscore.bkl" formats="xcode2">
-o../WebCore/Projects/base/WebCoreBase.xcode
</add-flags>
-->
<!-- wx port settings -->
<add-flags files="../WebCore/Projects/wx/webcore-wx.bkl" formats="gnu">
-o../WebCore/Projects/wx/GNUmakefile
</add-flags>
<add-flags files="../WebCore/Projects/wx/webcore-wx.bkl" formats="msvs2005">
-o../WebCore/Projects/wx/wxWebCore.sln
</add-flags>
<add-flags files="../WebCore/Projects/wx/webcore-wx.bkl" formats="msvc">
-o../WebCore/Projects/wx/makefile.vc
</add-flags>
<!-- testing XCode backend
<add-flags files="webcore-wx.bkl" formats="xcode2">
-o../WebCore/Projects/wx/wxWebCore.xcode
</add-flags>
-->
<!-- gdk port settings - -->
<add-flags files="../WebCore/Projects/gdk/webcore-gdk.bkl" formats="gnu">
-o../WebCore/Projects/gdk/GNUmakefile
</add-flags>
<!-- Personal customizations (not in SVN): -->
<include file="Bakefiles.local.bkgen" ignore_missing="1"/>
</bakefile-gen>
2006-10-09 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Reviewed by Geoff.
Improve gdk build compiler options.
* Bakefiles.bkgen:
* presets.bkl:
2006-10-03 Mark Rowe <bdash@webkit.org>
Reviewed by Eric.
Stop Bakefile-generated Makefile from running pkg-config multiple times per file.
* presets.bkl: Make use of "options" and Python commands to run pkg-config etc up front.
2006-05-11 Kevin M. Ollivier <kevino@theolliviers.com>
- http://bugs.webkit.org/show_bug.cgi?id=8528
Bakefiles (and generated Makefiles) for wx and gdk ports
* Readme.txt:
Added file introducing the Bakefile build system and detailing how it works.
* Bakefiles.bkgen:
Added Bakefile build configuration file
* update-file-lists.py:
Added script to generate cross-platform sources list from Win VCProject files.
* presets.bkl:
Added Bakefile containing templates for WebCore pre-requisites, like
libxml/xslt, ICU, etc. This file contains the logic for determining the
correct build settings for those projects on each platform.
WebKit Bakefile Docs
The files in this folder are used to auto-generate project files in GNU
Make and Microsoft Visual Studio 6 (can be used in 7 and 8 too). Support
for many other formats are available, including eVC (for PocketPC),
autoconf, and Symbian project formats, so most future ports would be
able to take advantage of Bakefile support for their projects. (XCode
also has a partial backend in place, but it's not in a usable state for
this project.)
The project files generated using Bakefile currently reside in the
WebCore/Projects/<Project Name> folder. There are not any JavaScriptCore
Bakefiles yet as it build successfully pretty much everywhere already.
However, a Bakefile-based project management system might reduce the
maintenance burden of maintaining the JavaScriptCore project files too,
eventually.
Preparing the build environment
--------------------------------
Right now, the prepartion steps are not totally automated. Here are the steps
that need to be taken at present before you build.
IMPORTANT: If you already have a copy of Bakefile 0.2.0 installed, you need to
update your version to a modified 0.2.0 release with MSVS 2005 support. (If you
haven't installed it, regenerate-makefiles will take care of it for you.) You can
get the release from here:
http://kevino.theolliviers.com/bakefile-0.2.0-msvs2005.tar.gz
This support will be officially in a future Bakefile release.
--- On Unix, do the following:
cd WebKitTools/Scripts
sudo ./install-unix-extras # or su, needed for make install
--- On Windows, do the following:
cd WebKitTools/Scripts
./install-win-extras
Building the projects
----------------------
cd into the project directory (WebKit/JavaScriptCore and
WebKit/WebCore/Projects/wx, respectively) and run the following:
-- On Unix:
make
-- On Windows, you should open and build the .sln projects.
Windows Note: Sometimes, the files generated by the pre-build step don't get
built and you get an error during linking. However, a subsequent build resolves
the issue.
Regenerating the Makefiles
---------------------------
cd into the WebCore/WebKitTools/Scripts directory and run the
./regenerate-makefiles script to recreate the makefiles. This will download
and install Bakefile if you don't have it installed already. (You may need to
authenticate if it needs to install Bakefile.)
Regenerating the source file lists
------------------------------------
Currently, WebCoreSources.bkl and JavaScriptCore.bkl files are
autogenerated by reading the .vcproj files and extracting the file lists
from them, using update-file-lists.py. Whenever files are added/removed,
you should re-run 'python update-file-lists.py' to put the *Sources.bkl back in
sync with TOT. When the script is run, however, there are also currently two
source files that need to be manually removed:
In JavaScriptCoreSources.bkl
- ./grammarWrapper.cpp
In WebCoreSources.bkl
- $(SRCDIR)/rendering/RenderThemeWin.cpp
Eventually, we need a way to ensure that these files get included only for
Win builds. Either we find a solution so that we no longer need to autogenerate
the source file list, or we move them in the vcproj to some sort of 'win'
subfolder, which would automatically keep them from being added to the Bakefiles.
Bakefile formats
-----------------
For those of you curious about what other types of project files Bakefile can
generate, a list can be found here:
http://bakefile.sourceforge.net/doc/html/rn01re01.html
<?xml version="1.0" ?>
<!--
Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This file contains templates with settings for components used by JavaScriptCore
and WebCore. Include this file to use these settings.
-->
<makefile>
<template id="jscore">
<include>$(SRCDIR)/../JavaScriptCore</include>
<if cond="FORMAT=='gnu'">
<ldflags>$(SRCDIR)/../JavaScriptCore/libjscore.a</ldflags>
</if>
</template>
<option name="SQLITE3_LIBS">
<default-value>$(os.popen("pkg-config --libs sqlite3").read())</default-value>
</option>
<option name="SQLITE3_CFLAGS">
<default-value>$(os.popen("pkg-config --cflags sqlite3").read())</default-value>
</option>
<template id="sqlite3">
<ldflags>$(SQLITE3_LIBS)</ldflags>
<cxxflags>$(SQLITE3_CFLAGS)</cxxflags>
</template>
<option name="FREETYPE2_LIBS">
<default-value>$(os.popen("pkg-config --libs freetype2").read())</default-value>
</option>
<option name="FREETYPE2_CFLAGS">
<default-value>$(os.popen("pkg-config --cflags freetype2").read())</default-value>
</option>
<option name="FONTCONFIG_LIBS">
<default-value>$(os.popen("pkg-config --libs fontconfig").read())</default-value>
</option>
<option name="FONTCONFIG_CFLAGS">
<default-value>$(os.popen("pkg-config --cflags fontconfig").read())</default-value>
</option>
<template id="freetype">
<ldflags>$(FREETYPE2_LIBS)</ldflags>
<cxxflags>$(FREETYPE2_CFLAGS)</cxxflags>
<ldflags>$(FONTCONFIG_LIBS)</ldflags>
<cxxflags>$(FONTCONFIG_CFLAGS)</cxxflags>
</template>
<option name="CURL_LIBS">
<default-value>$(os.popen("curl-config --libs").read())</default-value>
</option>
<option name="CURL_CFLAGS">
<default-value>$(os.popen("curl-config --cflags").read())</default-value>
</option>
<template id="curl">
<ldflags>$(CURL_LIBS)</ldflags>
<cxxflags>$(CURL_CFLAGS)</cxxflags>
</template>
<option name="CAIRO_LIBS">
<default-value>$(os.popen("pkg-config --libs cairo").read())</default-value>
</option>
<option name="CAIRO_CFLAGS">
<default-value>$(os.popen("pkg-config --cflags cairo").read())</default-value>
</option>
<template id="cairo">
<ldflags>$(CAIRO_LIBS)</ldflags>
<cxxflags>$(CAIRO_CFLAGS)</cxxflags>
</template>
<option name="GTK_LIBS">
<default-value>$(os.popen("pkg-config --libs gtk+-2.0").read())</default-value>
</option>
<option name="GTK_CFLAGS">
<default-value>$(os.popen("pkg-config --cflags gtk+-2.0").read())</default-value>
</option>
<!-- GTK settings, for GTK ports - wx doesn't use these -->
<template id="gtk">
<if cond="FORMAT=='gnu'">
<ldflags>$(GTK_LIBS)</ldflags>
<cxxflags>$(GTK_CFLAGS)</cxxflags>
</if>
<!-- TODO: non-Cygwin Windows support for this? :) -->
</template>
<option name="XML2_LIBS">
<default-value>$(os.popen("xml2-config --libs").read())</default-value>
</option>
<option name="XML2_CFLAGS">
<default-value>$(os.popen("xml2-config --cflags").read())</default-value>
</option>
<!-- XML2 library settings -->
<template id="xml2">
<if cond="FORMAT=='gnu'">
<ldflags>$(XML2_LIBS)</ldflags>
<cxxflags>$(XML2_CFLAGS)</cxxflags>
</if>
<if cond="PLATFORM_WIN32=='1'">
<include>$(SRCDIR)/../libxml/include</include>
</if>
</template>
<option name="XSLT_LIBS">
<default-value>$(os.popen("xslt-config --libs").read())</default-value>
</option>
<option name="XSLT_CFLAGS">
<default-value>$(os.popen("xslt-config --cflags").read())</default-value>
</option>
<!-- XSLT library settings -->
<template id="xslt">
<if cond="FORMAT=='gnu'">
<ldflags>$(XSLT_LIBS)</ldflags>
<cxxflags>$(XSLT_CFLAGS)</cxxflags>
</if>
<if cond="PLATFORM_WIN32=='1'">
<include>$(SRCDIR)/../libxslt/include</include>
<include>$(SRCDIR)/../libxml/include</include>
</if>
</template>
<option name="ICU_LIBS">
<default-value>$(os.popen("icu-config --ldflags").read())</default-value>
</option>
<option name="ICU_CFLAGS">
<default-value>$(os.popen("icu-config --cxxflags").read())</default-value>
</option>
<!-- IBM ICU settings -->
<template id="icu">
<if cond="FORMAT=='gnu'">
<ldflags>$(ICU_LIBS)</ldflags>
<cxxflags>$(ICU_CFLAGS)</cxxflags>
</if>
<if cond="PLATFORM_WIN32=='1'">
<include>$(SRCDIR)/../icu/include</include>
</if>
</template>
<template id="iconv">
<if cond="PLATFORM_WIN32=='1'">
<include>$(SRCDIR)/../iconv/include</include>
</if>
</template>
</makefile>
#!/usr/bin/python
# Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
# its contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# A script to make sure the source file list for the Bakefiles is up-to-date
# with the MSVC project files.
import sys, os
from xml.dom import minidom
WebKitRoot = ".."
class MSVS8Compiler:
def __init__(self):
self.precomp_headers = True
self.warning_level = "default"
self.defines = []
self.includes = []
def fromXML(self, tool):
if tool.attributes.has_key("AdditionalIncludeDirectories"):
includes_string = tool.attributes["AdditionalIncludeDirectories"].value
includes_string = includes_string.replace("&quot;", '"')
includes_string = includes_string.replace("$", "$(DOLLAR)")
self.includes = includes_string.split(";")
if tool.attributes.has_key("PreprocessorDefinitions"):
self.defines = tool.attributes["PreprocessorDefinitions"].value.split(";")
class MSVS8Config:
def __init__(self):
self.target_type="exe"
self.target_name="Release"
self.output_dir = ""
self.build_dir = ""
self.pre_build_step = ""
self.compiler = MSVS8Compiler()
def fromXML(self, config):
if config.attributes.has_key("Name"):
self.target_name = config.attributes["Name"].value
config_type = config.attributes["ConfigurationType"].value
if config_type == "1":
self.target_type = "exe"
elif config_type == "2":
self.target_type = "dll"
elif config_type == "4":
self.target_type = "lib"
else:
print "Unknown project type %s. Exiting..." % (config_type)
sys.exit(1)
tools = config.getElementsByTagName("Tool")
for tool in tools:
if tool.attributes.has_key("Name") and tool.attributes["Name"].value == "VCPreBuildEventTool" and tool.attributes.has_key("VCPreBuildEventTool"):
self.pre_build_step = tool.attributes["VCPreBuildEventTool"].value
continue
if tool.attributes.has_key("Name") and tool.attributes["Name"].value == "VCCLCompilerTool":
self.compiler.fromXML(tool)
def asBkl(self, doc):
target = doc.createElement(self.target_type)
target.setAttribute("id", self.target_name)
return target
class MSVS8Filter:
def __init__(self):
self.files = []
self.name = ""
self.varname = ""
self.prefix = "WEBCORE_"
def fromXML(self, filter):
if filter.attributes.has_key("Name"):
self.name = filter.attributes["Name"].value
self.varname = self.prefix + "SOURCES_" + self.name.upper()
for node in filter.childNodes:
if node.nodeName == "File" and node.attributes.has_key("RelativePath"):
filename = node.attributes["RelativePath"].value.replace("$", "$(DOLLAR)")
filename = filename.replace("\\", "/")
filename = "\t\t" + filename.replace("../../", "")
if os.path.splitext(filename)[1] in [".c", ".cpp"]:
self.files.append(filename)
def asBkl(self, doc):
sources = doc.createElement("set")
if self.name != "":
sources.setAttribute("var", self.varname)
# currently we 'flatten' the MSVC sources hierarchy to a simple list
# so we may end up with duplicates for self.varname when the root
# and subfolders share the same name. For now, just make sure the
# sources are added together as part of the target
sources.setAttribute("append", "1")
sources_text = "\n"
for afile in self.files:
sources_text += afile + "\n"
sources.appendChild(doc.createTextNode(sources_text))
return sources
class MSVS8Project:
def __init__(self):
self.configs = []
self.file_list = []
self.prefix = "WEBCORE_"
def loadFromXML(self, filename):
doc = minidom.parse(filename)
configs = doc.getElementsByTagName("Configuration")
for config in configs:
config_obj = MSVS8Config()
config_obj.fromXML(config)
self.configs.append(config_obj)
if filename.find("JavaScriptCore") != -1:
self.prefix = "JSCORE_"
files = doc.getElementsByTagName("Filter")
for node in files:
files = MSVS8Filter()
files.prefix = self.prefix
files.fromXML(node)
self.file_list.append(files)
def saveAsBkl(self, filename):
doc = minidom.Document()
makefile = doc.createElement("makefile")
source_tags = []
for files in self.file_list:
makefile.appendChild(files.asBkl(doc))
doc.appendChild(makefile)
outfile = open(filename, "w")
outfile.write(doc.toprettyxml())
outfile.close()
jsdir = os.path.join(WebKitRoot, "JavaScriptCore")
wcdir = os.path.join(WebKitRoot, "WebCore")
files = { jsdir: os.path.join(jsdir, "JavaScriptCore.vcproj", "JavaScriptCore", "JavaScriptCore.vcproj"),
wcdir: os.path.join(wcdir, "WebCore.vcproj", "WebCore", "WebCore.vcproj")
}
for adir in files:
project = MSVS8Project()
project.loadFromXML(files[adir])
outputfile = os.path.join(adir, os.path.splitext(os.path.basename(files[adir]))[0] + "Sources.bkl")
project.saveAsBkl(outputfile)
2007-09-29 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Mark.
-Fix http://bugs.webkit.org/show_bug.cgi?id=13226.
Remove Bakefiles from svn.
* Bakefiles/Bakefiles.bkgen: Removed.
* Bakefiles/ChangeLog: Removed.
* Bakefiles/Readme.txt: Removed.
* Bakefiles/presets.bkl: Removed.
* Bakefiles/update-file-lists.py: Removed.
2007-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
Rubber stamped by Adam.
......
2007-09-29 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Mark.
-Fix http://bugs.webkit.org/show_bug.cgi?id=13226.
Remove Bakefiles from svn.
* JavaScriptCoreSources.bkl: Removed.
* jscore.bkl: Removed.
2007-09-27 Kevin Decker <kdecker@apple.com>
Rubber stamped by John Sullivan.
......
<?xml version="1.0" ?>
<makefile>
<set append="1" var="JSCORE_SOURCES_KJS">
DerivedSources/JavaScriptCore/grammar.cpp
kjs/CommonIdentifiers.cpp
kjs/Context.cpp