2006-05-13 Kevin M. Ollivier <kevino@theolliviers.com>
authorap <ap@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 13 May 2006 16:47:07 +0000 (16:47 +0000)
committerap <ap@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 13 May 2006 16:47:07 +0000 (16:47 +0000)
        Reviewed by Darin, landed by ap.

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8528
          Bakefiles (and generated Makefiles) for wx and gdk ports

JavaScriptCore:
        * make-generated-sources.sh:
        Added script to configure environment to run DerivedSources.make

        * JavaScriptCoreSources.bkl:
        Added JavaScriptCore sources list for Bakefile.

        * jscore.bkl:
        Bakefile used to generate JavaScriptCore project files
        (currently only used by wx and gdk ports)

WebCore:
        * make-generated-sources.sh:
        Added script to configure environment to run DerivedSources.make

        * move-js-headers.sh:
        Added script to copy JavaScriptCore includes into one dir so that
        Framework-style includes will work on all OSes. (written by Mike Emmel)

        * platform/wx: New dir, home for the wxWidgets port
        * platform/wx/wx-encodings.txt: Added temp. stub for wx encodings file.

        * Projects: New dir, for various project files for ports.

        * Projects/gdk: New dir, GDK port files.
        * Projects/webcore-gdk.bkl: Bakefile to generate GDK port project files

        * Projects/wx: New dir, wxWidgets port files.
        * Projects/webcore-wx.bkl: Bakefile to generate wxWidgets port project files

WebKitTools:
        * Scripts/install-unix-extras: Added.
        * Scripts/regenerate-makefiles: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14359 268f45cc-cd09-0410-ab3c-d52691b4dbfc

20 files changed:
Bakefiles/Bakefiles.bkgen [new file with mode: 0644]
Bakefiles/ChangeLog [new file with mode: 0644]
Bakefiles/Readme.txt [new file with mode: 0644]
Bakefiles/presets.bkl [new file with mode: 0644]
Bakefiles/update-file-lists.py [new file with mode: 0644]
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCoreSources.bkl [new file with mode: 0644]
JavaScriptCore/jscore.bkl [new file with mode: 0644]
JavaScriptCore/make-generated-sources.sh [new file with mode: 0644]
WebCore/ChangeLog
WebCore/Projects/gdk/webcore-gdk.bkl [new file with mode: 0644]
WebCore/Projects/wx/webcore-wx.bkl [new file with mode: 0644]
WebCore/WebCoreSources.bkl [new file with mode: 0644]
WebCore/make-generated-sources.sh [new file with mode: 0644]
WebCore/move-js-headers.sh [new file with mode: 0644]
WebCore/platform/wx/wx-encodings.txt [new file with mode: 0644]
WebCore/webcore-base.bkl [new file with mode: 0644]
WebKitTools/ChangeLog
WebKitTools/Scripts/install-unix-extras [new file with mode: 0644]
WebKitTools/Scripts/regenerate-makefiles [new file with mode: 0644]

diff --git a/Bakefiles/Bakefiles.bkgen b/Bakefiles/Bakefiles.bkgen
new file mode 100644 (file)
index 0000000..5015a66
--- /dev/null
@@ -0,0 +1,91 @@
+<?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>
+        msvc,msvs2005,gnu <!-- xcode2 -->
+    </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>
diff --git a/Bakefiles/ChangeLog b/Bakefiles/ChangeLog
new file mode 100644 (file)
index 0000000..71d84b1
--- /dev/null
@@ -0,0 +1,18 @@
+2006-05-11  Kevin M. Ollivier  <kevino@theolliviers.com>
+
+        - http://bugzilla.opendarwin.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.
diff --git a/Bakefiles/Readme.txt b/Bakefiles/Readme.txt
new file mode 100644 (file)
index 0000000..f3f0ab8
--- /dev/null
@@ -0,0 +1,99 @@
+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
+
diff --git a/Bakefiles/presets.bkl b/Bakefiles/presets.bkl
new file mode 100644 (file)
index 0000000..3069b0a
--- /dev/null
@@ -0,0 +1,112 @@
+<?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 in ['msvc', 'msvs2005']">
+            <!-- MSVC chokes on #import, so don't use ForwardingHeaders... -->
+            <include>$(SRCDIR)/../JavaScriptCore/os-win32</include><!-- stdint.h is here -->
+        </if>
+        <if cond="FORMAT=='gnu'">
+                       <ldflags>-L$(SRCDIR)/../JavaScriptCore -lgtkjs</ldflags>
+        </if>
+    </template>
+
+    <template id="freetype">
+          <ldflags>`pkg-config --libs freetype2`</ldflags>
+          <cxxflags>`pkg-config --cflags freetype2`</cxxflags>
+          <ldflags>`pkg-config --libs fontconfig`</ldflags>
+          <cxxflags>`pkg-config --cflags fontconfig`</cxxflags>
+       </template>
+
+    <!-- GTK settings, for GTK ports - wx doesn't use these -->
+    <template id="gtk">
+        <if cond="FORMAT=='gnu'">
+          <ldflags>`pkg-config --libs gtk+-2.0`</ldflags>
+          <cxxflags>`pkg-config --cflags gtk+-2.0`</cxxflags>
+        </if>
+        
+        <!--    TODO: non-Cygwin Windows support for this? :) --> 
+    </template>
+
+    <!-- XML2 library settings -->
+    <template id="xml2">
+        <if cond="FORMAT=='gnu'">
+          <ldflags>`xml2-config --libs`</ldflags>
+          <cxxflags>`xml2-config --cflags`</cxxflags>
+        </if>
+        
+        <if cond="PLATFORM_WIN32=='1'">
+            <include>$(SRCDIR)/../libxml/include</include>
+        </if>        
+    </template>    
+    
+    
+    <!-- XSLT library settings -->
+    <template id="xslt">
+        <if cond="FORMAT=='gnu'">
+          <ldflags>`xslt-config --libs`</ldflags>
+          <cxxflags>`xslt-config --cflags`</cxxflags>
+        </if>
+        
+        <if cond="PLATFORM_WIN32=='1'">
+            <include>$(SRCDIR)/../libxslt/include</include>
+            <include>$(SRCDIR)/../libxml/include</include>
+        </if>        
+    </template>
+
+    <!-- IBM ICU settings -->
+    <template id="icu">
+        <if cond="FORMAT=='gnu'">
+          <ldflags>`icu-config --ldflags`</ldflags>
+          <cxxflags>`icu-config --cxxflags`</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>
+
+
diff --git a/Bakefiles/update-file-lists.py b/Bakefiles/update-file-lists.py
new file mode 100644 (file)
index 0000000..94e2b4f
--- /dev/null
@@ -0,0 +1,180 @@
+#!/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)
index 0e5456068759ff7fc30e8880dc5d5739977c6054..3f3b23b5b33406134cc76e113d8abc50684fe868 100644 (file)
@@ -1,3 +1,20 @@
+2006-05-13  Kevin M. Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin, landed by ap.
+
+        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8528
+          Bakefiles (and generated Makefiles) for wx and gdk ports
+
+        * make-generated-sources.sh: 
+        Added script to configure environment to run DerivedSources.make
+        
+        * JavaScriptCoreSources.bkl:
+        Added JavaScriptCore sources list for Bakefile.
+        
+        * jscore.bkl:
+        Bakefile used to generate JavaScriptCore project files 
+        (currently only used by wx and gdk ports)
+
 2006-05-09  Steve Falkenburg  <sfalken@apple.com>
 
         Fix Windows build.
diff --git a/JavaScriptCore/JavaScriptCoreSources.bkl b/JavaScriptCore/JavaScriptCoreSources.bkl
new file mode 100644 (file)
index 0000000..d46ab6f
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" ?>
+<makefile>
+       <set append="1" var="JSCORE_SOURCES_KJS">
+               
+               kjs/array_object.cpp
+               kjs/bool_object.cpp
+               kjs/collector.cpp
+               kjs/date_object.cpp
+               kjs/debugger.cpp
+               kjs/dtoa.cpp
+               kjs/error_object.cpp
+               kjs/fpconst.cpp
+               kjs/function.cpp
+               kjs/function_object.cpp
+               <!-- ./grammarWrapper.cpp -->
+               kjs/identifier.cpp
+               kjs/internal.cpp
+               kjs/interpreter.cpp
+               kjs/JSImmediate.cpp
+               kjs/JSLock.cpp
+               kjs/lexer.cpp
+               kjs/list.cpp
+               kjs/lookup.cpp
+               kjs/math_object.cpp
+               kjs/nodes.cpp
+               kjs/nodes2string.cpp
+               kjs/number_object.cpp
+               kjs/object.cpp
+               kjs/object_object.cpp
+               kjs/operations.cpp
+               kjs/Parser.cpp
+               kjs/property_map.cpp
+               kjs/property_slot.cpp
+               kjs/reference.cpp
+               kjs/reference_list.cpp
+               kjs/regexp.cpp
+               kjs/regexp_object.cpp
+               kjs/scope_chain.cpp
+               kjs/string_object.cpp
+               kjs/ustring.cpp
+               kjs/value.cpp
+
+       </set>
+       <set append="1" var="JSCORE_SOURCES_WTF">
+               
+               wtf/Assertions.cpp
+               wtf/FastMalloc.cpp
+               wtf/HashTable.cpp
+
+       </set>
+       <set append="1" var="JSCORE_SOURCES_PCRE">
+               
+               pcre/pcre_compile.c
+               pcre/pcre_config.c
+               pcre/pcre_exec.c
+               pcre/pcre_fullinfo.c
+               pcre/pcre_get.c
+               pcre/pcre_globals.c
+               pcre/pcre_info.c
+               pcre/pcre_maketables.c
+               pcre/pcre_ord2utf8.c
+               pcre/pcre_printint.c
+               pcre/pcre_refcount.c
+               pcre/pcre_study.c
+               pcre/pcre_tables.c
+               pcre/pcre_try_flipped.c
+               pcre/pcre_ucp_findchar.c
+               pcre/pcre_version.c
+               pcre/pcre_xclass.c
+               pcre/ucp_findchar.c
+
+       </set>
+</makefile>
diff --git a/JavaScriptCore/jscore.bkl b/JavaScriptCore/jscore.bkl
new file mode 100644 (file)
index 0000000..efffb8e
--- /dev/null
@@ -0,0 +1,112 @@
+<?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.
+
+JavaScriptCore Bakefile project file. 
+-->
+
+
+
+<makefile>
+
+    <set var="SRCDIR">.</set>
+    <!-- Common definitions etc.: -->
+    <include file="../Bakefiles/presets.bkl"/>
+    <include file="JavaScriptCoreSources.bkl"/>
+
+
+    <set var="BUILDDIR">obj-$(FORMAT)</set>
+
+    <template id="jscore_base" template="icu">
+        <pic>on</pic>
+        <threading>multi</threading>
+        <dirname>$(SRCDIR)</dirname>
+        
+        <include>$(SRCDIR)</include>
+        <include>$(SRCDIR)/ForwardingHeaders</include>
+        <include>$(SRCDIR)/kjs</include>
+        <include>$(SRCDIR)/pcre</include>
+        <include>$(SRCDIR)/bindings</include>
+        <include>$(SRCDIR)/bindings/c</include>
+        <include>$(SRCDIR)/bindings/jni</include>
+        <include>$(SRCDIR)/kxmlcore</include>
+        <include>$(SRCDIR)/DerivedSources/JavaScriptCore</include>
+
+        <define>APPLE_CHANGES=1</define>
+
+        <!-- this GC version requires Mach's thread suspend/resume: -->
+        <if cond="PLATFORM_MACOSX=='1'">
+            <define>USE_CONSERVATIVE_GC=0</define>
+        </if>
+        
+        <if cond="PLATFORM_MACOSX=='1'">
+            <define>USE_CONSERVATIVE_GC=1</define>
+        </if> 
+
+        <define>KHTML_XSLT=1</define>
+
+        <if cond="FORMAT=='gnu'">
+            <!-- FIXME: we need proper configure checks -->
+            <define>HAVE_FUNC_ISNAN</define>
+            <!-- check for undefined symbols for debugging reasons -->
+            <ldflags>-Wl,--no-undefined</ldflags>
+        </if>
+
+        <if cond="PLATFORM_WIN32=='1'">
+            <include>$(SRCDIR)/os-win32</include>
+            <define>HAVE_SYS_TIMEB_H=1</define>
+            <define>HAVE_FLOAT_H=1</define>
+            <define>HAVE_FUNC__FINITE=1</define>
+        </if>
+
+    </template>   
+
+    <exe id="dftables">
+        <dirname>$(SRCDIR)</dirname>
+        <sources>$(SRCDIR)/pcre/dftables.c</sources>
+    </exe>
+
+    <action id="DerivedSources">
+        <is-phony/>
+        <command>bash make-generated-sources.sh</command>
+    </action>
+
+    <lib id="jscore" template="jscore_base">
+        <objects-depend>dftables</objects-depend>
+        <pre-build-target>DerivedSources</pre-build-target>
+        <sources>
+                       $(JSCORE_SOURCES_WTF)
+            $(JSCORE_SOURCES_PCRE)
+            $(JSCORE_SOURCES_KJS)
+        </sources>
+               <install-to>$(BUILDDIR)</install-to>
+    </lib>
+
+</makefile>
+
+
+
diff --git a/JavaScriptCore/make-generated-sources.sh b/JavaScriptCore/make-generated-sources.sh
new file mode 100644 (file)
index 0000000..4720ff8
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+export SRCROOT=$PWD
+export WebCore=$PWD
+export CREATE_HASH_TABLE="$SRCROOT/kjs/create_hash_table"
+
+mkdir -p DerivedSources/JavaScriptCore
+cd DerivedSources/JavaScriptCore
+
+make -f ../../DerivedSources.make JavaScriptCore=../.. BUILT_PRODUCTS_DIR=../..
+cd ../..
+
+
+Property changes on: make-generated-sources.sh
+___________________________________________________________________
+Name: svn:executable
+   + *
+
index e20ca897dc23336a89917d2822fc26d9b18b8759..e2088a5ab9dd824d06e862ffa9f3b487dc02e246 100644 (file)
@@ -1,3 +1,28 @@
+2006-05-13  Kevin M. Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin, landed by ap.
+
+        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8528
+          Bakefiles (and generated Makefiles) for wx and gdk ports
+        
+        * make-generated-sources.sh: 
+        Added script to configure environment to run DerivedSources.make
+        
+        * move-js-headers.sh:
+        Added script to copy JavaScriptCore includes into one dir so that 
+        Framework-style includes will work on all OSes. (written by Mike Emmel)
+        
+        * platform/wx: New dir, home for the wxWidgets port
+        * platform/wx/wx-encodings.txt: Added temp. stub for wx encodings file.
+        
+        * Projects: New dir, for various project files for ports.
+        
+        * Projects/gdk: New dir, GDK port files.
+        * Projects/webcore-gdk.bkl: Bakefile to generate GDK port project files
+        
+        * Projects/wx: New dir, wxWidgets port files.
+        * Projects/webcore-wx.bkl: Bakefile to generate wxWidgets port project files
+
 2006-05-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
 
         Reviewed by Darin, landed by ap.
diff --git a/WebCore/Projects/gdk/webcore-gdk.bkl b/WebCore/Projects/gdk/webcore-gdk.bkl
new file mode 100644 (file)
index 0000000..bd4d756
--- /dev/null
@@ -0,0 +1,46 @@
+<?xml version="1.0" ?>
+<!-- $Id: gtkWebCore.bkl 199 2005-07-05 20:44:34Z vslavik $ -->
+<!-- generate GnuMakefile with
+       bakefile -f gnu gtkwebcore.bkl
+       consider forcing includes agian
+       CXX = g++  -I. include config.h
+-->
+
+
+<makefile>
+
+    <include file="../../webcore-base.bkl"/>
+    
+    <dll id="webcore-gdk" template="webcore_base,freetype,gtk">        
+        <dirname>.</dirname>
+        <pic>on</pic>
+        <threading>multi</threading>
+        <warnings>no</warnings>
+               <cxxflags>-w</cxxflags>
+               <cflags>-w</cflags>
+       <define>BUILDING_GDK__</define>
+       <define>BUILDING_CAIRO__</define>
+        <sources>              
+          platform/gdk/CursorGdk.cpp
+          platform/gdk/FontFtCairo.cpp
+          platform/gdk/FontPlatformDataFtCairo.cpp
+          platform/gdk/FrameGdk.cpp
+          platform/gdk/GtkGraphicsContext.cpp
+          platform/gdk/GtkIntPoint.cpp
+          platform/gdk/GtkIntRect.cpp
+          platform/gdk/GtkMouseEvent.cpp
+          platform/gdk/PageGdk.cpp
+          platform/gdk/RenderThemeGdk.cpp
+          platform/gdk/ScreenGdk.cpp
+          platform/gdk/ScrollViewGdk.cpp
+          platform/gdk/SharedTimerLinux.cpp
+          platform/gdk/SystemTimeLinux.cpp
+          platform/gdk/TemporaryLinkStubs.cpp
+          platform/gdk/TransferJobCurl.cpp
+          platform/gdk/WidgetGdk.cpp
+               </sources>
+        <include>$(SRCDIR)/platform/gdk</include>
+    </dll>
+</makefile>
+
diff --git a/WebCore/Projects/wx/webcore-wx.bkl b/WebCore/Projects/wx/webcore-wx.bkl
new file mode 100644 (file)
index 0000000..27cf040
--- /dev/null
@@ -0,0 +1,50 @@
+<?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.
+
+wxWebCore port Bakefile project file.
+-->
+
+
+
+<makefile>
+    <include file="../../webcore-base.bkl"/>
+    <!-- <include file="presets/wx.bkl"/> -->
+    
+    <action id="DerivedSources" msvs-type="prebuild">
+        <is-phony/>
+        <command>cd $(SRCDIR);bash move-js-headers.sh; bash make-generated-sources.sh platform/wx/wx-encodings.txt;cd Projects/wx</command>
+    </action>
+      
+    <lib id="webcore-wx" template="webcore_base">
+        <pre-build-target>DerivedSources</pre-build-target>
+        <dirname>.</dirname>
+        <!-- platform/wx sources go here when they exist! -->
+    </lib>
+
+</makefile>
+
diff --git a/WebCore/WebCoreSources.bkl b/WebCore/WebCoreSources.bkl
new file mode 100644 (file)
index 0000000..b858f06
--- /dev/null
@@ -0,0 +1,533 @@
+<?xml version="1.0" ?>
+<makefile>
+       <set append="1" var="WEBCORE_SOURCES_KWQ">
+               
+               kwq/KWQCString.cpp
+               kwq/KWQTextStream.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_DERIVEDSOURCES">
+               
+               DerivedSources/WebCore/CharsetData.cpp
+               DerivedSources/WebCore/ColorData.c
+               DerivedSources/WebCore/CSSGrammar.cpp
+               DerivedSources/WebCore/HTMLEntityNames.c
+               DerivedSources/WebCore/JSAttr.cpp
+               DerivedSources/WebCore/JSCanvasGradient.cpp
+               DerivedSources/WebCore/JSCanvasPattern.cpp
+               DerivedSources/WebCore/JSCanvasRenderingContext2D.cpp
+               DerivedSources/WebCore/JSCharacterData.cpp
+               DerivedSources/WebCore/JSCounter.cpp
+               DerivedSources/WebCore/JSCSSPrimitiveValue.cpp
+               DerivedSources/WebCore/JSCSSRule.cpp
+               DerivedSources/WebCore/JSCSSStyleDeclaration.cpp
+               DerivedSources/WebCore/JSCSSValue.cpp
+               DerivedSources/WebCore/JSDocument.cpp
+               DerivedSources/WebCore/JSDocumentType.cpp
+               DerivedSources/WebCore/JSDOMImplementation.cpp
+               DerivedSources/WebCore/JSDOMWindow.cpp
+               DerivedSources/WebCore/JSElement.cpp
+               DerivedSources/WebCore/JSEntity.cpp
+               DerivedSources/WebCore/JSEvent.cpp
+               DerivedSources/WebCore/JSHTMLCanvasElement.cpp
+               DerivedSources/WebCore/JSKeyboardEvent.cpp
+               DerivedSources/WebCore/JSMouseEvent.cpp
+               DerivedSources/WebCore/JSMutationEvent.cpp
+               DerivedSources/WebCore/JSNode.cpp
+               DerivedSources/WebCore/JSNodeFilter.cpp
+               DerivedSources/WebCore/JSNotation.cpp
+               DerivedSources/WebCore/JSProcessingInstruction.cpp
+               DerivedSources/WebCore/JSRange.cpp
+               DerivedSources/WebCore/JSText.cpp
+               DerivedSources/WebCore/JSUIEvent.cpp
+               DerivedSources/WebCore/JSWheelEvent.cpp
+               DerivedSources/WebCore/JSXPathEvaluator.cpp
+               DerivedSources/WebCore/JSXPathExpression.cpp
+               DerivedSources/WebCore/JSXPathNSResolver.cpp
+               DerivedSources/WebCore/JSXPathResult.cpp
+               DerivedSources/WebCore/JSWheelEvent.cpp
+               DerivedSources/WebCore/UserAgentStyleSheetsData.cpp
+               DerivedSources/WebCore/XPathGrammar.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_KHTML">
+               
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_MISC">
+               
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_PAGE">
+               
+               page/DOMWindow.cpp
+               page/Frame.cpp
+               page/FrameTree.cpp
+               page/FrameView.cpp
+               page/MouseEventWithHitTestResults.cpp
+               page/Page.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_LOADER">
+               
+               loader/Cache.cpp
+               loader/CachedCSSStyleSheet.cpp
+               loader/CachedImage.cpp
+               loader/CachedObject.cpp
+               loader/CachedObjectClientWalker.cpp
+               loader/CachedScript.cpp
+               loader/CachedXSLStyleSheet.cpp
+               loader/Decoder.cpp
+               loader/DocLoader.cpp
+               loader/FormData.cpp
+               loader/loader.cpp
+               loader/Request.cpp
+               loader/TextDocument.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_PLATFORM">
+               
+               platform/Arena.cpp
+               platform/ArrayImpl.cpp
+               platform/AtomicString.cpp
+               platform/CharsetNames.cpp
+               platform/Color.cpp
+               platform/DeprecatedPtrListImpl.cpp
+               platform/DeprecatedString.cpp
+               platform/DeprecatedStringList.cpp
+               platform/DeprecatedValueListImpl.cpp
+               platform/FloatPoint.cpp
+               platform/FloatRect.cpp
+               platform/FloatSize.cpp
+               platform/Font.cpp
+               platform/FontFamily.cpp
+               platform/GraphicsContext.cpp
+               platform/GraphicsTypes.cpp
+               platform/Image.cpp
+               platform/IntPointArray.cpp
+               platform/IntRect.cpp
+               platform/KURL.cpp
+               platform/Logging.cpp
+               platform/Pen.cpp
+               platform/RegularExpression.cpp
+               platform/SegmentedString.cpp
+               platform/StreamingTextDecoder.cpp
+               platform/String.cpp
+               platform/StringImpl.cpp
+               platform/TextEncoding.cpp
+               platform/Timer.cpp
+               platform/TransferJob.cpp
+               platform/Widget.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_WIN">
+               
+               platform/win/CursorWin.cpp
+               platform/win/FontPlatformDataWin.cpp
+               platform/win/FontWin.cpp
+               platform/win/IntPointWin.cpp
+               platform/win/IntRectWin.cpp
+               platform/win/IntSizeWin.cpp
+               platform/win/KeyEventWin.cpp
+               platform/win/MouseEventWin.cpp
+               platform/win/ScreenWin.cpp
+               platform/win/ScrollViewWin.cpp
+               platform/win/SharedTimerWin.cpp
+               platform/win/SystemTimeWin.cpp
+               platform/win/TemporaryLinkStubs.cpp
+               platform/win/TransferJobWin.cpp
+               platform/win/WidgetWin.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_IMAGE-DECODERS">
+               
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_GIF">
+               
+               platform/image-decoders/gif/GIFImageDecoder.cpp
+               platform/image-decoders/gif/GIFImageReader.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_PNG">
+               
+               platform/image-decoders/png/png.c
+               platform/image-decoders/png/pngerror.c
+               platform/image-decoders/png/pnggccrd.c
+               platform/image-decoders/png/pngget.c
+               platform/image-decoders/png/PNGImageDecoder.cpp
+               platform/image-decoders/png/pngmem.c
+               platform/image-decoders/png/pngpread.c
+               platform/image-decoders/png/pngread.c
+               platform/image-decoders/png/pngrio.c
+               platform/image-decoders/png/pngrtran.c
+               platform/image-decoders/png/pngrutil.c
+               platform/image-decoders/png/pngset.c
+               platform/image-decoders/png/pngtrans.c
+               platform/image-decoders/png/pngvcrd.c
+               platform/image-decoders/png/pngwio.c
+               platform/image-decoders/png/pngwrite.c
+               platform/image-decoders/png/pngwtran.c
+               platform/image-decoders/png/pngwutil.c
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_ZLIB">
+               
+               platform/image-decoders/zlib/adler32.c
+               platform/image-decoders/zlib/compress.c
+               platform/image-decoders/zlib/crc32.c
+               platform/image-decoders/zlib/deflate.c
+               platform/image-decoders/zlib/gzio.c
+               platform/image-decoders/zlib/infback.c
+               platform/image-decoders/zlib/inffast.c
+               platform/image-decoders/zlib/inflate.c
+               platform/image-decoders/zlib/inftrees.c
+               platform/image-decoders/zlib/trees.c
+               platform/image-decoders/zlib/uncompr.c
+               platform/image-decoders/zlib/zutil.c
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_JPEG">
+               
+               platform/image-decoders/jpeg/jcomapi.c
+               platform/image-decoders/jpeg/jdapimin.c
+               platform/image-decoders/jpeg/jdapistd.c
+               platform/image-decoders/jpeg/jdatadst.c
+               platform/image-decoders/jpeg/jdatasrc.c
+               platform/image-decoders/jpeg/jdcoefct.c
+               platform/image-decoders/jpeg/jdcolor.c
+               platform/image-decoders/jpeg/jddctmgr.c
+               platform/image-decoders/jpeg/jdhuff.c
+               platform/image-decoders/jpeg/jdinput.c
+               platform/image-decoders/jpeg/jdmainct.c
+               platform/image-decoders/jpeg/jdmarker.c
+               platform/image-decoders/jpeg/jdmaster.c
+               platform/image-decoders/jpeg/jdmerge.c
+               platform/image-decoders/jpeg/jdphuff.c
+               platform/image-decoders/jpeg/jdpostct.c
+               platform/image-decoders/jpeg/jdsample.c
+               platform/image-decoders/jpeg/jerror.c
+               platform/image-decoders/jpeg/jfdctflt.c
+               platform/image-decoders/jpeg/jfdctfst.c
+               platform/image-decoders/jpeg/jfdctint.c
+               platform/image-decoders/jpeg/jidctflt.c
+               platform/image-decoders/jpeg/jidctfst.c
+               platform/image-decoders/jpeg/jidctint.c
+               platform/image-decoders/jpeg/jmemmgr.c
+               platform/image-decoders/jpeg/jmemnobs.c
+               platform/image-decoders/jpeg/JPEGImageDecoder.cpp
+               platform/image-decoders/jpeg/jquant1.c
+               platform/image-decoders/jpeg/jquant2.c
+               platform/image-decoders/jpeg/jutils.c
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_CAIRO">
+               
+               platform/cairo/GraphicsContextCairo.cpp
+               platform/cairo/ImageCairo.cpp
+               platform/cairo/ImageSourceCairo.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_PIXMAN">
+               
+               platform/cairo/pixman/src/fbcompose.c
+               platform/cairo/pixman/src/fbedge.c
+               platform/cairo/pixman/src/fbpict.c
+               platform/cairo/pixman/src/fbtrap.c
+               platform/cairo/pixman/src/icblt.c
+               platform/cairo/pixman/src/icbltone.c
+               platform/cairo/pixman/src/iccolor.c
+               platform/cairo/pixman/src/icformat.c
+               platform/cairo/pixman/src/icimage.c
+               platform/cairo/pixman/src/icpixels.c
+               platform/cairo/pixman/src/icrect.c
+               platform/cairo/pixman/src/icstipple.c
+               platform/cairo/pixman/src/ictransform.c
+               platform/cairo/pixman/src/ictrap.c
+               platform/cairo/pixman/src/ictri.c
+               platform/cairo/pixman/src/icutil.c
+               platform/cairo/pixman/src/pixregion.c
+               platform/cairo/pixman/src/renderedge.c
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_CAIRO">
+               
+               platform/cairo/cairo/src/cairo-arc.c
+               platform/cairo/cairo/src/cairo-array.c
+               platform/cairo/cairo/src/cairo-cache.c
+               platform/cairo/cairo/src/cairo-clip.c
+               platform/cairo/cairo/src/cairo-color.c
+               platform/cairo/cairo/src/cairo-debug.c
+               platform/cairo/cairo/src/cairo-fixed.c
+               platform/cairo/cairo/src/cairo-font-options.c
+               platform/cairo/cairo/src/cairo-font.c
+               platform/cairo/cairo/src/cairo-gstate.c
+               platform/cairo/cairo/src/cairo-hash.c
+               platform/cairo/cairo/src/cairo-hull.c
+               platform/cairo/cairo/src/cairo-image-surface.c
+               platform/cairo/cairo/src/cairo-matrix.c
+               platform/cairo/cairo/src/cairo-meta-surface.c
+               platform/cairo/cairo/src/cairo-output-stream.c
+               platform/cairo/cairo/src/cairo-paginated-surface.c
+               platform/cairo/cairo/src/cairo-path-bounds.c
+               platform/cairo/cairo/src/cairo-path-data.c
+               platform/cairo/cairo/src/cairo-path-fill.c
+               platform/cairo/cairo/src/cairo-path-stroke.c
+               platform/cairo/cairo/src/cairo-path.c
+               platform/cairo/cairo/src/cairo-pattern.c
+               platform/cairo/cairo/src/cairo-pen.c
+               platform/cairo/cairo/src/cairo-polygon.c
+               platform/cairo/cairo/src/cairo-region.c
+               platform/cairo/cairo/src/cairo-scaled-font.c
+               platform/cairo/cairo/src/cairo-slope.c
+               platform/cairo/cairo/src/cairo-spline.c
+               platform/cairo/cairo/src/cairo-stroke-style.c
+               platform/cairo/cairo/src/cairo-surface-fallback.c
+               platform/cairo/cairo/src/cairo-surface.c
+               platform/cairo/cairo/src/cairo-traps.c
+               platform/cairo/cairo/src/cairo-unicode.c
+               platform/cairo/cairo/src/cairo-wideint.c
+               platform/cairo/cairo/src/cairo-win32-font.c
+               platform/cairo/cairo/src/cairo-win32-surface.c
+               platform/cairo/cairo/src/cairo.c
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_CSS">
+               
+               css/css_base.cpp
+               css/css_ruleimpl.cpp
+               css/css_stylesheetimpl.cpp
+               css/css_valueimpl.cpp
+               css/CSSComputedStyleDeclaration.cpp
+               css/csshelper.cpp
+               css/cssparser.cpp
+               css/cssstyleselector.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_RENDERING">
+               
+               rendering/bidi.cpp
+               rendering/break_lines.cpp
+               rendering/InlineTextBox.cpp
+               rendering/render_button.cpp
+               rendering/render_form.cpp
+               rendering/render_frames.cpp
+               rendering/render_line.cpp
+               rendering/render_list.cpp
+               rendering/render_replaced.cpp
+               rendering/render_style.cpp
+               rendering/RenderApplet.cpp
+               rendering/RenderArena.cpp
+               rendering/RenderBlock.cpp
+               rendering/RenderBox.cpp
+               rendering/RenderBR.cpp
+               rendering/RenderCanvas.cpp
+               rendering/RenderContainer.cpp
+               rendering/RenderEmptyApplet.cpp
+               rendering/RenderFlexibleBox.cpp
+               rendering/RenderFlow.cpp
+               rendering/RenderHTMLCanvas.cpp
+               rendering/RenderImage.cpp
+               rendering/RenderInline.cpp
+               rendering/RenderLayer.cpp
+               rendering/RenderObject.cpp
+               rendering/RenderTable.cpp
+               rendering/RenderTableCell.cpp
+               rendering/RenderTableCol.cpp
+               rendering/RenderTableRow.cpp
+               rendering/RenderTableSection.cpp
+               rendering/RenderText.cpp
+               rendering/RenderTextField.cpp
+               rendering/RenderTextFragment.cpp
+               rendering/RenderTheme.cpp
+               <!-- rendering/RenderThemeWin.cpp -->
+               rendering/RenderTreeAsText.cpp
+               rendering/table_layout.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_XPATH">
+               
+               xpath/XPathEvaluator.cpp
+               xpath/XPathExpression.cpp
+               xpath/XPathNamespace.cpp
+               xpath/XPathNSResolver.cpp
+               xpath/XPathResult.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_IMPL">
+               
+               xpath/impl/XPathExpressionNode.cpp
+               xpath/impl/XPathFunctions.cpp
+               xpath/impl/XPathParser.cpp
+               xpath/impl/XPathPath.cpp
+               xpath/impl/XPathPredicate.cpp
+               xpath/impl/XPathStep.cpp
+               xpath/impl/XPathUtil.cpp
+               xpath/impl/XPathValue.cpp
+               xpath/impl/XPathVariableReference.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_XML">
+               
+               xml/xmlhttprequest.cpp
+               xml/XSLStyleSheet.cpp
+               xml/XSLTProcessor.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_DOM">
+               
+               dom/Attr.cpp
+               dom/Attribute.cpp
+               dom/BeforeTextInsertedEvent.cpp
+               dom/CDATASection.cpp
+               dom/CharacterData.cpp
+               dom/ChildNodeList.cpp
+               dom/Comment.cpp
+               dom/ContainerNode.cpp
+               dom/CSSMappedAttributeDeclaration.cpp
+               dom/Document.cpp
+               dom/DocumentFragment.cpp
+               dom/DocumentType.cpp
+               dom/dom2_eventsimpl.cpp
+               dom/dom2_traversalimpl.cpp
+               dom/dom_xmlimpl.cpp
+               dom/DOMImplementation.cpp
+               dom/EditingText.cpp
+               dom/Element.cpp
+               dom/EventNames.cpp
+               dom/EventTargetNode.cpp
+               dom/MappedAttribute.cpp
+               dom/NamedAttrMap.cpp
+               dom/NamedMappedAttrMap.cpp
+               dom/NameNodeList.cpp
+               dom/Node.cpp
+               dom/NodeList.cpp
+               dom/Position.cpp
+               dom/QualifiedName.cpp
+               dom/Range.cpp
+               dom/StyledElement.cpp
+               dom/Text.cpp
+               dom/xml_tokenizer.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_BRIDGE">
+               
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_WIN">
+               
+               bridge/win/FrameWin.cpp
+               bridge/win/PageWin.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_EDITING">
+               
+               editing/AppendNodeCommand.cpp
+               editing/ApplyStyleCommand.cpp
+               editing/BreakBlockquoteCommand.cpp
+               editing/CompositeEditCommand.cpp
+               editing/CreateLinkCommand.cpp
+               editing/DeleteFromTextNodeCommand.cpp
+               editing/DeleteSelectionCommand.cpp
+               editing/EditCommand.cpp
+               editing/htmlediting.cpp
+               editing/HTMLInterchange.cpp
+               editing/InsertIntoTextNodeCommand.cpp
+               editing/InsertLineBreakCommand.cpp
+               editing/InsertNodeBeforeCommand.cpp
+               editing/InsertParagraphSeparatorCommand.cpp
+               editing/InsertTextCommand.cpp
+               editing/JoinTextNodesCommand.cpp
+               editing/JSEditor.cpp
+               editing/markup.cpp
+               editing/MergeIdenticalElementsCommand.cpp
+               editing/ModifySelectionListLevelCommand.cpp
+               editing/MoveSelectionCommand.cpp
+               editing/RebalanceWhitespaceCommand.cpp
+               editing/RemoveCSSPropertyCommand.cpp
+               editing/RemoveNodeAttributeCommand.cpp
+               editing/RemoveNodeCommand.cpp
+               editing/RemoveNodePreservingChildrenCommand.cpp
+               editing/ReplaceSelectionCommand.cpp
+               editing/Selection.cpp
+               editing/SelectionController.cpp
+               editing/SetNodeAttributeCommand.cpp
+               editing/SplitElementCommand.cpp
+               editing/SplitTextNodeCommand.cpp
+               editing/SplitTextNodeContainingElementCommand.cpp
+               editing/TextIterator.cpp
+               editing/TypingCommand.cpp
+               editing/UnlinkCommand.cpp
+               editing/visible_units.cpp
+               editing/VisiblePosition.cpp
+               editing/VisibleRange.cpp
+               editing/WrapContentsInDummySpanCommand.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_HTML">
+               
+               html/CanvasGradient.cpp
+               html/CanvasPattern.cpp
+               html/CanvasRenderingContext2D.cpp
+               html/CanvasStyle.cpp
+               html/FormDataList.cpp
+               html/html_baseimpl.cpp
+               html/html_blockimpl.cpp
+               html/html_headimpl.cpp
+               html/html_imageimpl.cpp
+               html/html_inlineimpl.cpp
+               html/html_listimpl.cpp
+               html/html_objectimpl.cpp
+               html/html_tableimpl.cpp
+               html/HTMLBaseFontElement.cpp
+               html/HTMLButtonElement.cpp
+               html/HTMLCanvasElement.cpp
+               html/HTMLCollection.cpp
+               html/HTMLDocument.cpp
+               html/HTMLElement.cpp
+               html/HTMLElementFactory.cpp
+               html/HTMLFieldSetElement.cpp
+               html/HTMLFormCollection.cpp
+               html/HTMLFormElement.cpp
+               html/HTMLGenericFormElement.cpp
+               html/HTMLInputElement.cpp
+               html/HTMLIsIndexElement.cpp
+               html/HTMLKeygenElement.cpp
+               html/HTMLLabelElement.cpp
+               html/HTMLLegendElement.cpp
+               html/HTMLNameCollection.cpp
+               html/HTMLNames.cpp
+               html/HTMLOptGroupElement.cpp
+               html/HTMLOptionElement.cpp
+               html/HTMLOptionsCollection.cpp
+               html/HTMLParser.cpp
+               html/HTMLSelectElement.cpp
+               html/HTMLTextAreaElement.cpp
+               html/HTMLTextFieldInnerElement.cpp
+               html/HTMLTokenizer.cpp
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_BINDINGS">
+               
+
+       </set>
+       <set append="1" var="WEBCORE_SOURCES_JS">
+               
+               bindings/js/JSCanvasRenderingContext2DBase.cpp
+               bindings/js/JSDOMParser.cpp
+               bindings/js/JSHTMLElementWrapperFactory.cpp
+               bindings/js/JSXMLHttpRequest.cpp
+               bindings/js/JSXMLSerializer.cpp
+               bindings/js/JSXSLTProcessor.cpp
+               bindings/js/kjs_binding.cpp
+               bindings/js/kjs_css.cpp
+               bindings/js/kjs_dom.cpp
+               bindings/js/kjs_events.cpp
+               bindings/js/kjs_html.cpp
+               bindings/js/kjs_navigator.cpp
+               bindings/js/kjs_proxy.cpp
+               bindings/js/kjs_traversal.cpp
+               bindings/js/kjs_window.cpp
+
+       </set>
+</makefile>
diff --git a/WebCore/make-generated-sources.sh b/WebCore/make-generated-sources.sh
new file mode 100644 (file)
index 0000000..a48970d
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+export SRCROOT=$PWD
+export WebCore=$PWD
+export CREATE_HASH_TABLE="$SRCROOT/../JavaScriptCore/kjs/create_hash_table"
+
+mkdir -p DerivedSources/WebCore
+cd DerivedSources/WebCore
+
+make -f ../../DerivedSources.make ENCODINGS_FILE=$1 ENCODINGS_PREFIX=""
+cd ../..
+
+
+Property changes on: make-generated-sources.sh
+___________________________________________________________________
+Name: svn:executable
+   + *
+
diff --git a/WebCore/move-js-headers.sh b/WebCore/move-js-headers.sh
new file mode 100644 (file)
index 0000000..9eca766
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+mkdir -p include/JavaScriptCore
+find ../JavaScriptCore/ -name \*.h -exec cp {} include/JavaScriptCore/. \;
+rm include/JavaScriptCore/config.h
+rm include/JavaScriptCore/JavaScriptCorePrefix.h
+
+Property changes on: move-js-headers.sh
+___________________________________________________________________
+Name: svn:executable
+   + *
+
diff --git a/WebCore/platform/wx/wx-encodings.txt b/WebCore/platform/wx/wx-encodings.txt
new file mode 100644 (file)
index 0000000..41c1fde
--- /dev/null
@@ -0,0 +1,12 @@
+# The items on the left are names of TextEncodingID values
+# The items on the right are IANA character set names. Names listed in character-sets.txt are not
+# repeated here; mentioning any one character set from a group in there pulls in all the aliases in
+# that group.
+
+#WinLatin1Encoding: windows-1252, winlatin1, xansi
+#Latin1Encoding: ISO-8859-1, 88591
+#ASCIIEncoding: US-ASCII, isoir6us
+#UTF16Encoding: ISO-10646-UCS-2, ucs2, unicode, utf16
+#UTF16Encoding, BigEndian: UTF-16BE, unicodefffe
+#UTF16Encoding, LittleEndian: UTF-16LE, unicodefeff
+#UTF8Encoding: UTF-8, unicode11utf8, unicode20utf8, xunicode20utf8
diff --git a/WebCore/webcore-base.bkl b/WebCore/webcore-base.bkl
new file mode 100644 (file)
index 0000000..4d0a229
--- /dev/null
@@ -0,0 +1,142 @@
+<?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.
+
+Base settings shared by all Bakefile-based ports.
+-->
+
+<makefile>
+
+    <!-- Common definitions etc.: -->
+
+    <set var="SRCDIR">../..</set>
+
+    <include file="../Bakefiles/presets.bkl"/>
+    <include file="WebCoreSources.bkl"/>
+    
+       <set var="WEBCORE_BASE_SOURCES">        
+               $(WEBCORE_SOURCES_KWQ)
+               $(WEBCORE_SOURCES_DERIVEDSOURCES)
+               $(WEBCORE_SOURCES_KHTML)
+               $(WEBCORE_SOURCES_MISC)
+               $(WEBCORE_SOURCES_PAGE)
+               $(WEBCORE_SOURCES_LOADER)
+               $(WEBCORE_SOURCES_PLATFORM)
+               $(WEBCORE_SOURCES_IMAGE-DECODERS)
+               $(WEBCORE_SOURCES_GIF)
+               $(WEBCORE_SOURCES_PNG)
+               $(WEBCORE_SOURCES_ZLIB)
+               $(WEBCORE_SOURCES_JPEG)
+               $(WEBCORE_SOURCES_CSS)
+               $(WEBCORE_SOURCES_RENDERING)
+               $(WEBCORE_SOURCES_XML)
+               $(WEBCORE_SOURCES_DOM)
+               $(WEBCORE_SOURCES_BRIDGE)
+               $(WEBCORE_SOURCES_EDITING)
+               $(WEBCORE_SOURCES_HTML)
+               $(WEBCORE_SOURCES_BINDINGS)
+               $(WEBCORE_SOURCES_JS)
+       </set>
+
+    <set var="BUILDDIR">obj-$(FORMAT)</set>
+    
+    <template id="webcore_cairo">
+        <include>$(SRCDIR)/platform/cairo/cairo/src</include>
+        <include>$(SRCDIR)/platform/cairo/pixman/src</include>
+        <sources>
+            $(WEBCORE_SOURCES_CAIRO) 
+                   $(WEBCORE_SOURCES_PIXMAN) 
+        </sources>
+    </template>
+    
+    <template id="webcore_base" template="xml2,iconv,xslt,icu,jscore">
+        <include>$(SRCDIR)/.</include>
+        <include>$(SRCDIR)/include</include>
+        <include>$(SRCDIR)/DerivedSources/WebCore</include>
+        <include>$(SRCDIR)/bindings/js</include>
+        <include>$(SRCDIR)/bridge</include>
+        <include>$(SRCDIR)/editing</include>
+        <include>$(SRCDIR)/html</include>
+        <include>$(SRCDIR)/css</include>
+        <include>$(SRCDIR)/dom</include>
+        <include>$(SRCDIR)/kwq</include>
+        <include>$(SRCDIR)/loader</include>
+        <include>$(SRCDIR)/page</include>
+        <include>$(SRCDIR)/platform</include>
+        <include>$(SRCDIR)/platform/image-decoders</include>
+        <include>$(SRCDIR)/platform/image-decoders/gif</include>
+        <include>$(SRCDIR)/platform/image-decoders/jpeg</include>
+        <include>$(SRCDIR)/platform/image-decoders/png</include>
+        <include>$(SRCDIR)/platform/image-decoders/zlib</include>
+        <include>$(SRCDIR)/rendering</include>
+        <include>$(SRCDIR)/xml</include>
+        <include>$(SRCDIR)/xpath</include>
+        <include>$(SRCDIR)/xpath/impl</include>
+        
+        <sources>$(WEBCORE_BASE_SOURCES)</sources>
+
+
+<!-- HACK ALERT! FIX THESE LATER!! -->
+        <include>$(SRCDIR)/platform/mac</include> <!-- when building on Mac, ExtraCFEncodings.h is needed -->      
+<!-- END HACKS -->
+
+        <define>APPLE_CHANGES=1</define>
+        <define>KHTML_XSLT=1</define>
+        <define>XPATH_SUPPORT=1</define>
+
+        <!-- TODO: is there a Linux-specific platform define? -->
+        <if cond="PLATFORM_UNIX=='1'">
+            <if cond="PLATFORM_MACOSX=='0'">
+                <define>LINUX</define>
+            </if>
+        </if>
+        <!-- this GC version requires Mach's thread suspend/resume: -->
+        <if cond="PLATFORM_MACOSX!='1'">
+            <define>USE_CONSERVATIVE_GC=0</define>
+        </if>
+        
+        <if cond="PLATFORM_MACOSX=='1'">
+            <define>USE_CONSERVATIVE_GC=1</define>
+        </if> 
+
+        <if cond="FORMAT=='gnu'">
+            <!-- FIXME: we need proper configure checks -->
+            <define>HAVE_FUNC_ISNAN</define>
+            <!-- check for undefined symbols for debugging reasons -->
+            <!-- FIXME: create a debug option and set these accordingly -->
+            <ldflags>-Wl,--no-undefined</ldflags>
+        </if>
+
+        <if cond="PLATFORM_WIN32=='1'">
+            <include>win32</include>
+            <define>HAVE_SYS_TIMEB_H=1</define>
+            <define>HAVE_FLOAT_H=1</define>
+            <define>HAVE_FUNC__FINITE=1</define>
+        </if>
+    </template>
+</makefile>
+
index 51dcb3d06307839c5355841b9353eccb260ef098..40e6e31407658ebd4c8b7693b19d86013a914c6a 100644 (file)
@@ -1,3 +1,13 @@
+2006-05-13  Kevin M. Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin, landed by ap.
+
+        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8528
+          Bakefiles (and generated Makefiles) for wx and gdk ports
+
+        * Scripts/install-unix-extras: Added.
+        * Scripts/regenerate-makefiles: Added.
+
 2006-05-10  Steve Falkenburg  <sfalken@apple.com>
 
         Reviewed by Maciej.
diff --git a/WebKitTools/Scripts/install-unix-extras b/WebKitTools/Scripts/install-unix-extras
new file mode 100644 (file)
index 0000000..6b441b2
--- /dev/null
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# 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 download the extra libraries needed to build WebKit on UNIX-based OSes.
+# libxml/libxslt need to be added, but so far I've had them on all the (UNIX) machines
+# I've tested on, so I don't have a machine to test the code on.
+
+DL_CMD="curl -L"
+
+DL_DIR=/tmp/webkit-deps
+# NOTE: If you change this, make sure the dir is on the path.
+DEPS_PREFIX=/usr/local
+
+mkdir -p $DL_DIR
+mkdir -p $DEPS_PREFIX
+
+ICU_VERSION="3.4.1"
+ICU_TARBALL="icu-$ICU_VERSION.tgz"
+ICU_URL="ftp://ftp.software.ibm.com/software/globalization/icu/$ICU_VERSION/$ICU_TARBALL"
+
+GPERF_VERSION="3.0.1"
+GPERF_TARBALL="gperf-$GPERF_VERSION.tar.gz"
+GPERF_URL="ftp://mirrors.kernel.org/gnu/gperf/$GPERF_TARBALL"
+
+PKG_CONFIG_VERSION="0.20"
+PKG_CONFIG_TARBALL="pkg-config-$PKG_CONFIG_VERSION.tar.gz"
+PKG_CONFIG_URL="http://pkgconfig.freedesktop.org/releases/$PKG_CONFIG_TARBALL"
+
+ICONV_VERSION="1.9.2"
+ICONV_TARBALL="libiconv-$ICONV_VERSION.tar.gz"
+ICONV_URL="http://ftp.gnu.org/pub/gnu/libiconv/$ICONV_TARBALL"
+
+cd $DL_DIR
+# build ICU
+if [ `which icu-config >/dev/null 2>&1` ]; then
+  $DL_CMD -o $DL_DIR/$ICU_TARBALL $ICU_URL
+
+  tar xzvf $DL_DIR/$ICU_TARBALL
+  cd $DL_DIR/icu/source
+  
+  chmod +x configure install-sh
+  ./configure --prefix=$DEPS_PREFIX
+  
+  make
+  #make check
+  make install
+  
+  cd $DL_DIR
+  rm -rf icu
+fi
+
+if [ `which gperf >/dev/null 2>&1` ]; then
+  $DL_CMD -o $DL_DIR/$GPERF_TARBALL $GPERF_URL
+
+  tar xzvf $DL_DIR/$GPERF_TARBALL
+  cd $DL_DIR/gperf-$GPERF_VERSION
+  
+  ./configure --prefix=$DEPS_PREFIX
+  
+  make
+  make install
+  
+  cd $DL_DIR
+  rm -rf $DL_DIR/gperf-$GPERF_VERSION
+fi
+
+# TODO: What would be a good way to test for this?
+if [ ! -f $DEPS_PREFIX/lib/libiconv.dylib ]; then
+  $DL_CMD -o $DL_DIR/$ICONV_TARBALL $ICONV_URL
+
+  tar xzvf $DL_DIR/$ICONV_TARBALL
+  cd $DL_DIR/libiconv-$ICONV_VERSION
+  
+  ./configure --prefix=$DEPS_PREFIX
+  
+  make
+  make install
+  
+  cd $DL_DIR
+  rm -rf $DL_DIR/libiconv-$ICONV_VERSION
+fi
+
+Property changes on: install-unix-extras
+___________________________________________________________________
+Name: svn:executable
+   + *
+
diff --git a/WebKitTools/Scripts/regenerate-makefiles b/WebKitTools/Scripts/regenerate-makefiles
new file mode 100644 (file)
index 0000000..2429f4c
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+# 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 software regenerates the makefiles that are maintained using 
+# Bakefile.
+
+DL_CMD="curl -L"
+
+THISDIR=$PWD
+if [ ! -d $THISDIR/../../Bakefiles ]; then
+  echo "You must run this script from the WebKitTools/Scripts directory."
+  exit 1
+fi
+
+DL_DIR=/tmp/webkit-deps
+# NOTE: If you change this, make sure the dir is on the path.
+DEPS_PREFIX=/usr/local
+
+mkdir -p $DL_DIR
+mkdir -p $DEPS_PREFIX
+
+BKL_VERSION="0.2.0"
+BKL_TARBALL="bakefile-$BKL_VERSION-msvs2005.tar.gz"
+BKL_URL="http://kevino.theolliviers.com/$BKL_TARBALL"
+#BKL_URL="http://mesh.dl.sourceforge.net/sourceforge/bakefile/$BKL_TARBALL"
+
+BKFILE=`which bakefile`
+
+if [ ! -f "$BKFILE" ]; then
+  echo "Bakefile not installed. Installing now..."
+  cd $DL_DIR
+  $DL_CMD -o $DL_DIR/$BKL_TARBALL $BKL_URL
+
+  tar xzvf $DL_DIR/$BKL_TARBALL
+  cd $DL_DIR/bakefile-$BKL_VERSION
+  
+  ./configure --prefix=$DEPS_PREFIX
+  make
+  make install
+  
+  cd $THISDIR
+  rm -rf $DL_DIR/bakefile-$BKL_VERSION
+fi
+
+cd ../../Bakefiles
+bakefile_gen
+
+Property changes on: regenerate-makefiles
+___________________________________________________________________
+Name: svn:executable
+   + *
+