summaryrefslogtreecommitdiffstats
path: root/WebKitTools/wx/build-wxwebkit
diff options
context:
space:
mode:
Diffstat (limited to 'WebKitTools/wx/build-wxwebkit')
-rwxr-xr-xWebKitTools/wx/build-wxwebkit407
1 files changed, 0 insertions, 407 deletions
diff --git a/WebKitTools/wx/build-wxwebkit b/WebKitTools/wx/build-wxwebkit
deleted file mode 100755
index 0fb5b89..0000000
--- a/WebKitTools/wx/build-wxwebkit
+++ /dev/null
@@ -1,407 +0,0 @@
-#!/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