summaryrefslogtreecommitdiffstats
path: root/WebKitTools/wx
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:30:52 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:30:52 -0800
commit8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2 (patch)
tree11425ea0b299d6fb89c6d3618a22d97d5bf68d0f /WebKitTools/wx
parent648161bb0edfc3d43db63caed5cc5213bc6cb78f (diff)
downloadexternal_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.zip
external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.tar.gz
external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.tar.bz2
auto import from //depot/cupcake/@135843
Diffstat (limited to 'WebKitTools/wx')
-rw-r--r--WebKitTools/wx/browser/browser.bkl63
-rw-r--r--WebKitTools/wx/browser/browser.cpp62
-rwxr-xr-xWebKitTools/wx/build-wxwebkit407
-rwxr-xr-xWebKitTools/wx/install-unix-extras172
4 files changed, 704 insertions, 0 deletions
diff --git a/WebKitTools/wx/browser/browser.bkl b/WebKitTools/wx/browser/browser.bkl
new file mode 100644
index 0000000..0a60fd9
--- /dev/null
+++ b/WebKitTools/wx/browser/browser.bkl
@@ -0,0 +1,63 @@
+<?xml version="1.0" ?>
+<!--
+Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
+
+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.
+
+wxWebKit sample application build file
+-->
+
+<makefile>
+ <set var="WX_UNICODE">1</set>
+ <set var="WX_SHARED">1</set>
+
+ <include file="../../../WebKit/wx/wxwk-settings.bkl"/>
+
+ <!-- the WX_PYTHON option was added to presets/wx.bkl in 2.8.5, so define
+ it in case the presets/wx.bkl doesn't define it for us. -->
+ <if cond="not isdefined('WX_PYTHON')">
+ <set var="WX_PYTHON">0</set>
+ </if>
+ <template id="wxwebkit">
+ <lib-path>$(WKOUTPUTDIR)</lib-path>
+ <sys-lib>wxwebkit</sys-lib>
+ </template>
+ <exe id="wxBrowser" template="wxwk,xml2,iconv,xslt,icu,jscore,webcore,wxwebkit,curl,pthreads">
+ <app-type>gui</app-type>
+ <runtime-libs>dynamic</runtime-libs>
+
+ <include>$(WK_ROOT)/WebCore/platform/wx</include>
+ <include>$(WK_ROOT)/WebCore/bridge/wx</include>
+ <include>$(WK_ROOT)/WebCore/page/wx</include>
+ <include>$(WK_ROOT)/WebKit/wx</include>
+ <include>$(WK_ROOT)/WebKit/wx/WebKitSupport</include>
+
+ <sources>
+ browser.cpp
+ </sources>
+
+ </exe>
+
+</makefile>
diff --git a/WebKitTools/wx/browser/browser.cpp b/WebKitTools/wx/browser/browser.cpp
new file mode 100644
index 0000000..83f909b
--- /dev/null
+++ b/WebKitTools/wx/browser/browser.cpp
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``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 COMPUTER, INC. OR
+ * 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.
+ */
+
+// webkit includes
+#include "WebView.h"
+#include "WebBrowserShell.h"
+
+#include "wx/wxprec.h"
+#ifndef WX_PRECOMP
+ #include "wx/wx.h"
+#endif
+
+class MyApp : public wxApp
+{
+public:
+
+ virtual bool OnInit();
+};
+
+
+IMPLEMENT_APP(MyApp)
+
+bool MyApp::OnInit()
+{
+ wxInitAllImageHandlers();
+
+ // create the main application window
+ // see WebKit/wx/WebFrame.cpp for how to write a shell around wxWebView.
+ wxWebBrowserShell *frame = new wxWebBrowserShell(_T("wxWebKit Test App"));
+
+#ifndef NDEBUG
+ frame->ShowDebugMenu(true);
+#endif
+ frame->CentreOnScreen();
+ frame->Show(true);
+
+ return true;
+}
diff --git a/WebKitTools/wx/build-wxwebkit b/WebKitTools/wx/build-wxwebkit
new file mode 100755
index 0000000..0fb5b89
--- /dev/null
+++ b/WebKitTools/wx/build-wxwebkit
@@ -0,0 +1,407 @@
+#!/bin/bash
+
+# Copyright (C) 2007 Robin Dunn, Kevin Ollivier 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.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``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 COMPUTER, INC. OR
+# 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.
+#
+# Driver for the wxWebKit build process.
+
+set -o errexit
+#set -o xtrace
+
+#----------------------------------------------------------------------
+# Set up the environment
+
+scriptDir="$(cd $(dirname $0);pwd)"
+WK_ROOT=$scriptDir/../..
+WK_ROOTDIR="$WK_ROOT"
+
+cd $scriptDir
+
+if [ -z $WEBKITOUTPUTDIR ]; then
+ WEBKITOUTPUTDIR=`cd $WK_ROOT/WebKitTools/Scripts; perl -e "use webkitdirs; print productDir()"`
+fi
+
+WKWINLIBS=WebKitLibraries/win
+WINDEPS=" $WKWINLIBS/lib/pthreadVC2.dll"
+WINDEPS="$WINDEPS $WKWINLIBS/bin/icuuc34.dll $WKWINLIBS/bin/icudt34.dll $WKWINLIBS/bin/icuin34.dll"
+WINDEPS="$WINDEPS $WKWINLIBS/bin/libcurl.dll $WKWINLIBS/bin/libeay32.dll $WKWINLIBS/bin/ssleay32.dll $WKWINLIBS/bin/zlib1.dll"
+WINDEPS="$WINDEPS $WKWINLIBS/lib/sqlite3.dll"
+WINDEPS="$WINDEPS $WKWINLIBS/bin/libxml2.dll $WKWINLIBS/bin/libxslt.dll"
+WINDEPS="$WINDEPS $WKWINLIBS/bin/iconv.dll"
+
+# TODO: check that we are running from the root of the source tree...
+
+# cygpath will bork if the dir doesn't exist...
+mkdir -p $WEBKITOUTPUTDIR
+
+if [ $OSTYPE == cygwin ]; then
+ EXE=.exe
+ WK_ROOTDIR=`cygpath -d $WK_ROOT`
+ WEBKITOUTPUTDIR=`cygpath -d $WEBKITOUTPUTDIR`
+ export WEBKITOUTPUTDIR
+ if [ -z $WXWIN ]; then
+ echo "Error, you must set WXWIN to your wxWidgets root directory."
+ exit 1
+ fi
+ if [ -z $WX_PREFIX ]; then
+ WX_PREFIX=$WXWIN
+ fi
+ if [ -z $BAKEFILE_PATHS ]; then
+ export BAKEFILE_PATHS=$WXWIN/build/bakefiles/wxpresets
+ fi
+ LINKER=`which link`
+ if [ "$LINKER" = "/usr/bin/link" ]; then
+ echo "WARNING: wxWebKit builds using MSVC on Windows, but it looks like"
+ echo "you have the GCC linker on your path. If /usr/bin/link does NOT point"
+ echo "to the MSVC linker, you need to move it or change your path to pick up"
+ echo "Microsoft's link.exe program first."
+ fi
+
+else
+ export WEBKITOUTPUTDIR
+ WX_PREFIX=`wx-config --prefix`
+ if [ ! -d "$WX_PREFIX" ]; then
+ echo "ERROR: Cannot find your wxWidgets installation."
+ echo "Make sure wx-config is on your PATH and points to a valid wxWidgets installation."
+ exit 1
+ fi
+
+ CONFIG=`wx-config --selected-config`
+ if [ "${CONFIG:0:4}" != "gtk2" -a "${CONFIG:0:3}" != "mac" ]; then
+ echo "ERROR: This configuration '$CONFIG' is not currently supported by wxWebKit. Please use the win, mac, or gtk2 port depending on your platform."
+ exit 1
+ fi
+
+ if [ ! -d "$WX_PREFIX/share/bakefile" ]; then
+ echo "ERROR: wxWidgets installation does not have wxpresets."
+ echo "wx-config is pointing to an installation that does not have Bakefile presets installed. Run `wx-config --version` to ensure your wxWidgets is of version 2.8+."
+ exit 1
+ fi
+
+ if [ -z $BAKEFILE_PATHS ]; then
+ export BAKEFILE_PATHS=$WX_PREFIX/share/bakefile
+ fi
+fi
+
+# after all that, make sure that BAKEFILE_PATHS was either set
+# previously, or by the code above
+if [ -z $BAKEFILE_PATHS ]; then
+ echo "Error, you must set BAKEFILE_PATHS to the directory containing wxpresets."
+ exit 1
+fi
+
+#----------------------------------------------------------------------
+# process command line args
+build_type_set=0
+
+do_bake=0
+do_prep=0
+do_extras=0
+do_build=0
+do_clean=0
+do_install=0
+use_wxgc=0
+debug=1
+wxdebug=0
+wxpython=0
+make_args=''
+other_args=''
+
+for flag in $*; do
+ case $flag in
+ bake) do_bake=1 ;;
+ prep) do_prep=1 ;;
+ build) do_build=1 ;;
+ all) do_extras=1; do_bake=1; do_prep=1; do_build=1 ;;
+ clean) other_args=clean; do_clean=1 ;;
+ wxgc) use_wxgc=1 ;;
+ wxdebug) wxdebug=1 ;;
+ wxpython) wxpython=1 ;;
+ wxpython-install) wxpython_install=1 ;;
+ *) export $flag ;; #other_args='$other_args "$flag"' ;;
+ esac
+done
+
+
+#----------------------------------------------------------------------
+
+# if no arguments were passed, do a full build.
+if [ $do_bake == 0 -a $do_prep == 0 -a $do_build == 0 -a $do_clean == 0 ]; then
+ do_bake=1; do_prep=1; do_build=1
+fi
+
+if [ -f $WK_ROOT/WebKitBuild/Configuration ]; then
+ BUILD_TYPE=`cat $WK_ROOT/WebKitBuild/Configuration`
+ echo "Configuration is: $BUILD_TYPE"
+
+ if [ $BUILD_TYPE == "Release" ]; then
+ debug=0
+ fi
+ if [ $BUILD_TYPE == "Debug" ]; then
+ debug=1
+ fi
+
+fi
+
+function do_make {
+ dir=$1
+ cxxflags=$2
+ olddir=$PWD
+ shift
+ shift
+ # NOTE: If we try to do make clean after the Bakefiles were cleaned out, or before they were
+ # first generated, we will get errors about missing files, so we need to check that the
+ # makefile exists before running it.
+ if [ $OSTYPE == cygwin ]; then
+ cd $dir
+ if [ -f makefile.vc ]; then
+ nmake -f makefile.vc CXXFLAGS="$cxxflags" $@
+ fi
+ cd $olddir
+ else
+ if [ -f $dir/GNUmakefile ]; then
+ make -C $dir -f GNUmakefile $MAKE_ARGS CXXFLAGS="$cxxflags" $@
+ fi
+ fi
+ if [ $? != 0 ]; then
+ exit $?
+ fi
+}
+
+# output the first parameter that is a dir and exists
+function find_existing_dir {
+ for arg in $*; do
+ tester=$arg
+ if [ $OSTYPE == cygwin ]; then
+ tester=`cygpath -u $arg`
+ fi
+ if [ -d $tester ]; then
+ echo $arg
+ return
+ fi
+ done
+}
+
+
+olddir=$PWD
+
+if [ $do_clean != 1 ]; then
+
+ mkdir -p $WEBKITOUTPUTDIR/build
+
+ if [ $do_bake == 1 ]; then
+ # bakefile stuff
+ cd $WK_ROOT/WebKit/wx
+ bakefile_gen
+
+ # we need to do this because Bakefile doesn't know which
+ # platform it's running on with GNU format, and so it defaults
+ # to the standard Unix file endings and linker args.
+ if [ "${OSTYPE:0:6}" = "darwin" ]; then
+ sed "s/libwebcore-wx.so/libwebcore-wx.dylib/" < $WK_ROOT/WebCore/GNUmakefile > temp
+ mv temp $WK_ROOT/WebCore/GNUmakefile
+
+ sed "s/\-shared/\-dynamiclib/" < $WK_ROOT/WebCore/GNUmakefile > temp
+ mv temp $WK_ROOT/WebCore/GNUmakefile
+
+ sed "s/libwxwebkit.so/libwxwebkit.dylib/" < $WK_ROOT/WebKit/wx/GNUmakefile > temp
+ mv temp $WK_ROOT/WebKit/wx/GNUmakefile
+
+ sed "s/\-shared/\-dynamiclib/" < $WK_ROOT/WebKit/wx/GNUmakefile > temp
+ mv temp $WK_ROOT/WebKit/wx/GNUmakefile
+ fi
+ fi
+
+ if [ $do_prep == 1 ]; then
+ # Other preparation steps
+
+ # since the buildbot will wipe the build tree clean sometimes, we need to reinstall
+ # the dependencies if they aren't installed.
+ if [ "${OSTYPE:0:6}" == "darwin" ]; then
+ $WK_ROOT/WebKitTools/wx/install-unix-extras
+ fi
+
+ cd $WK_ROOT/JavaScriptCore
+ ./make-generated-sources.sh
+ if [ $? != 0 ]; then
+ exit $?
+ fi
+
+ cd $WK_ROOT/WebCore
+ ./make-generated-sources.sh platform/wx/wx-encodings.txt
+ if [ $? != 0 ]; then
+ exit $?
+ fi
+ fi
+fi
+
+
+if [ $do_build == 1 -o $do_clean == 1 ]; then
+ # Build steps
+ WXGC_DEFINE=""
+ if [ $use_wxgc == 1 ]; then
+ WXGC_DEFINE="-DWTF_USE_WXGC=1"
+ fi
+ WX_EXT=
+ if [ "${OSTYPE:0:6}" == "cygwin" -a $wxdebug == 1 ]; then
+ WX_EXT=d
+ fi
+ if [ "${OSTYPE:0:6}" == "cygwin" -a $wxpython == 1 ]; then
+ other_args=WX_PYTHON=1
+ WX_EXT=h
+ wxdebug=1
+ fi
+
+ if [ "${OSTYPE:0:6}" == "cygwin" ]; then
+ PLATFORM_OS="win"
+ elif [ "${OSTYPE:0:6}" == "darwin" ]; then
+ PLATFORM_OS="mac"
+ else
+ PLATFORM_OS="linux"
+ use_wxgc=1 # Linux requires us to use wxgc to get proper drawing.
+ fi
+
+ WINDEPS="$WINDEPS $WXWIN/lib/vc_dll/wxmsw28u${WX_EXT}_core_vc.dll $WXWIN/lib/vc_dll/wxbase28u${WX_EXT}_vc.dll"
+
+ do_make $WK_ROOT/JavaScriptCore "-DBUILDING_WX__=1 $WXGC_DEFINE" WX_DEBUG=$wxdebug DEBUG=$debug WEBKIT_ROOT=$WK_ROOTDIR PLATFORM_OS=$PLATFORM_OS $other_args
+
+ mkdir -p $WEBKITOUTPUTDIR/JavaScriptCore
+ cp -p $WK_ROOT/JavaScriptCore/API/*.h $WEBKITOUTPUTDIR/JavaScriptCore/
+
+ do_make $WK_ROOT/WebCore "-DBUILDING_WX__=1 $WXGC_DEFINE" WX_DEBUG=$wxdebug WEBKIT_ROOT=$WK_ROOTDIR DEBUG=$debug PLATFORM_OS=$PLATFORM_OS $other_args
+ do_make $WK_ROOT/WebKit/wx "-DBUILDING_WX__=1 -DWXMAKINGDLL_WEBKIT=1 $WXGC_DEFINE" WX_DEBUG=$wxdebug DEBUG=$debug WEBKIT_ROOT=$WK_ROOTDIR PLATFORM_OS=$PLATFORM_OS $other_args
+ do_make $WK_ROOT/WebKitTools/wx/browser "-DBUILDING_WX__=1 -DWXUSINGDLL_WEBKIT=1 $WXGC_DEFINE" WX_DEBUG=$wxdebug DEBUG=$debug WEBKIT_ROOT=$WK_ROOTDIR PLATFORM_OS=$PLATFORM_OS $other_args
+
+ if [ $do_clean == 1 ]; then
+ rm -rf $WK_ROOT/JavaScriptCore/DerivedSources
+ rm -rf $WK_ROOT/WebCore/DerivedSources
+ rm -rf $WK_ROOT/WebCore/include/JavaScriptCore
+ fi
+
+ if [ $do_build == 1 ]; then
+ if [ "${OSTYPE:0:6}" = "darwin" ]; then
+ cd $WEBKITOUTPUTDIR
+ mkdir -p wxBrowser.app/Contents/MacOS
+ mkdir -p wxBrowser.app/Contents/Frameworks
+ cp wxBrowser wxBrowser.app/Contents/MacOS
+ install_name_tool -change libwxwebkit.dylib @executable_path/../Frameworks/libwxwebkit.dylib wxBrowser.app/Contents/MacOS/wxBrowser
+ if [ ! -f "$WEBKITOUTPUTDIR/libwxwebkit.dylib" ]; then
+ ln -s $WEBKITOUTPUTDIR/libwxwebkit.dylib wxBrowser.app/Contents/Frameworks
+ fi
+ fi
+
+ if [ $wxpython == 1 ]; then
+ if [ -z $SWIG ]; then
+ SWIG=`which swig`
+ fi
+
+ if [ ! -f "$SWIG" ]; then
+ echo "ERROR: Cannot find SWIG. Make sure that SWIG 1.3.29 is located on your path.";
+ exit 1;
+ fi
+
+ cd $WK_ROOT/WebKit/wx/bindings/python
+
+ SWIG_FLAGS=`python -c "import wx.build.config; import string; print string.join(wx.build.config.swig_args, ' ')"`
+ WEBKIT_INCLUDE="-I$WK_ROOT/WebKit/wx"
+ if [ "${OSTYPE:0:6}" == "cygwin" ]; then
+ WEBKIT_INCLUDE="-I`cygpath -d $WK_ROOT/WebKit/wx`"
+ fi
+
+ # Determine which include path to use for wxPython's *.i files
+ # Options are:
+ # wxPython installed on a posix system
+ # the wxPython win32 devel tarball
+ # a wx source tree from a tarball where wxPython is in the wx dir
+ # a wx source tree from SVN where wxPython is a sibling of the wx dir
+ WXPY_INCLUDE=`find_existing_dir \
+ $WX_PREFIX/include/wx-2.8/wx/wxPython/i_files \
+ $WX_PREFIX/include/wx/wxPython/i_files \
+ $WX_PREFIX/wxPython/src \
+ $WX_PREFIX/../wxPython/src`
+ if [ -z $WXPY_INCLUDE ]; then
+ echo "ERROR: Unable to find wxPython's *.i files"
+ exit 1
+ fi
+
+ # Run SWIG
+ $SWIG $SWIG_FLAGS -I$WXPY_INCLUDE $WEBKIT_INCLUDE -o webview.cpp webview.i
+ cp webview.py $WEBKITOUTPUTDIR/webview.py
+
+ PY_INCLUDE=`python -c "import sys,distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_inc())"`
+ PY_VERSION=`python -c "import sys; sys.stdout.write(str(sys.version_info[0]) + str(sys.version_info[1]))"`
+ PY_LIBDIR=`python -c "import distutils.sysconfig; import sys; sys.stdout.write(distutils.sysconfig.PREFIX)"`
+
+ if [ "${OSTYPE:0:6}" == "cygwin" ]; then
+ PY_LIBDIR="$PY_LIBDIR\\Libs"
+ else
+ PY_LIBDIR="$PY_LIBDIR/lib"
+ fi
+
+ do_make $WK_ROOT/WebKit/wx/bindings/python "-DBUILDING_WX__=1 -DWXUSINGDLL=1 -DWXUSINGDLL_WEBKIT=1 -I$PY_INCLUDE -I$WX_PREFIX/wxPython/include -I$WX_PREFIX/../wxPython/include $WXGC_DEFINE" \
+ WX_DEBUG=$wxdebug DEBUG=$debug WEBKIT_ROOT=$WK_ROOTDIR PLATFORM_OS=$PLATFORM_OS PYTHON_VERSION=$PY_VERSION PYTHON_LIBDIR=$PY_LIBDIR $other_args
+ if [ "${OSTYPE:0:6}" == "cygwin" ]; then
+ if [ -f $WEBKITOUTPUTDIR/_webview.pyd -a -f $WEBKITOUTPUTDIR/_webview.dll ]; then
+ rm $WEBKITOUTPUTDIR/_webview.pyd
+ mv $WEBKITOUTPUTDIR/_webview.dll $WEBKITOUTPUTDIR/_webview.pyd
+ fi
+ fi
+ fi
+
+
+ if [ "$OSTYPE" == "cygwin" ]; then
+ echo "Copying necessary DLLs to run test and sample applications..."
+ cd $WK_ROOT
+ cp $WINDEPS `cygpath -u $WEBKITOUTPUTDIR`
+ chmod +x `cygpath -u $WEBKITOUTPUTDIR/`*.dll
+ if [ -e `cygpath -u $WEBKITOUTPUTDIR/_webview.dll` ]; then
+ mv `cygpath -u $WEBKITOUTPUTDIR/_webview.dll` `cygpath -u $WEBKITOUTPUTDIR/_webview.pyd`
+ fi
+ fi
+
+ BROWSERAPP="wxBrowser"
+
+ if [ "${OSTYPE:0:6}" == "darwin" ]; then
+ BROWSERAPP="wxBrowser.app/Contents/MacOS/wxBrowser"
+ fi
+
+ echo ""
+ echo ""
+ echo "--- BUILD COMPLETE ---"
+ echo ""
+ echo "Next steps:"
+ echo ""
+ echo "-- Run '$WK_ROOT/WebKitTools/Scripts/run-javascriptcore-tests --wx' to ensure JSCore tests pass."
+ echo ""
+ echo "-- Run $WEBKITOUTPUTDIR/$BROWSERAPP to test your wxWebKit build."
+ echo ""
+ echo ""
+ fi
+fi
+
+if [ $do_clean == 1 ]; then
+ cd $WK_ROOT/WebKit/wx
+ bakefile_gen --clean
+fi
+
+cd $olddir
diff --git a/WebKitTools/wx/install-unix-extras b/WebKitTools/wx/install-unix-extras
new file mode 100755
index 0000000..19df45c
--- /dev/null
+++ b/WebKitTools/wx/install-unix-extras
@@ -0,0 +1,172 @@
+#!/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"
+
+scriptDir="$(cd $(dirname $0);pwd)"
+WK_ROOT=$scriptDir/../..
+WK_ROOTDIR=$WK_ROOT
+
+DL_DIR=/tmp/webkit-deps
+# NOTE: If you change this, make sure the dir is on the path.
+DEPS_PREFIX=$WK_ROOT/WebKitLibraries/unix
+DLLEXT=so
+
+if [ "${OSTYPE:0:6}" == "darwin" ]; then
+ DLLEXT=dylib
+fi
+
+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"
+
+# dependent app, not lib, what should we do for these?
+
+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"
+
+LIBJPEG_VERSION="6b"
+LIBJPEG_TARBALL="jpegsrc.v$LIBJPEG_VERSION.tar.gz"
+LIBJPEG_URL="http://www.ijg.org/files/$LIBJPEG_TARBALL"
+
+LIBPNG_VERSION="1.2.32"
+LIBPNG_TARBALL="libpng-$LIBPNG_VERSION.tar.gz"
+LIBPNG_URL="ftp://ftp.simplesystems.org/pub/libpng/png/src/$LIBPNG_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
+
+ if [ "${OSTYPE:0:6}" == "darwin" ]; then
+ ./configure --prefix=$DEPS_PREFIX --disable-dependency-tracking
+ make CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
+ LDFLAGS="-arch i386 -arch ppc"
+ make install
+ else
+ ./configure --prefix=$DEPS_PREFIX
+
+ make
+ #make check
+ make install
+ fi
+ cd $DL_DIR
+ rm -rf icu
+fi
+
+# TODO: What would be a good way to test for this?
+if [ ! -f $DEPS_PREFIX/lib/libiconv.$DLLEXT ]; then
+ $DL_CMD -o $DL_DIR/$ICONV_TARBALL $ICONV_URL
+
+ tar xzvf $DL_DIR/$ICONV_TARBALL
+ cd $DL_DIR/libiconv-$ICONV_VERSION
+
+ if [ "${OSTYPE:0:6}" == "darwin" ]; then
+ ./configure --prefix=$DEPS_PREFIX --disable-dependency-tracking
+ make CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
+ LDFLAGS="-arch i386 -arch ppc"
+ make install
+ else
+ ./configure --prefix=$DEPS_PREFIX
+
+ make
+ make install
+ fi
+ cd $DL_DIR
+ rm -rf $DL_DIR/libiconv-$ICONV_VERSION
+fi
+
+if [ ! -f $DEPS_PREFIX/lib/libjpeg.a ]; then
+ $DL_CMD -o $DL_DIR/$LIBJPEG_TARBALL $LIBJPEG_URL
+
+ tar xzvf $DL_DIR/$LIBJPEG_TARBALL
+ cd $DL_DIR/jpeg-$LIBJPEG_VERSION
+
+ # jpeg install command expects this to exist.
+ mkdir -p $DEPS_PREFIX/man/man1
+
+ if [ "${OSTYPE:0:6}" == "darwin" ]; then
+ ./configure --prefix=$DEPS_PREFIX --disable-dependency-tracking
+ make CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
+ LDFLAGS="-arch i386 -arch ppc"
+ make install
+ else
+ ./configure --prefix=$DEPS_PREFIX
+
+ make
+ fi
+
+ cp libjpeg.a $DEPS_PREFIX/lib
+ cp *.h $DEPS_PREFIX/include
+
+ cd $DL_DIR
+ rm -rf $DL_DIR/jpeg-$LIBJPEG_VERSION
+fi
+
+if [ ! -f $DEPS_PREFIX/lib/libpng.a ]; then
+ $DL_CMD -o $DL_DIR/$LIBPNG_TARBALL $LIBPNG_URL
+
+ tar xzvf $DL_DIR/$LIBPNG_TARBALL
+ cd $DL_DIR/libpng-$LIBPNG_VERSION
+
+ if [ "${OSTYPE:0:6}" == "darwin" ]; then
+ ./configure --prefix=$DEPS_PREFIX --disable-dependency-tracking
+ make CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
+ LDFLAGS="-arch i386 -arch ppc"
+ make install
+ else
+ ./configure --prefix=$DEPS_PREFIX
+
+ make
+ make install
+ fi
+
+ cd $DL_DIR
+ rm -rf $DL_DIR/libpng-$LIBPNG_VERSION
+fi