summaryrefslogtreecommitdiffstats
path: root/WebKitTools/wx/build
diff options
context:
space:
mode:
Diffstat (limited to 'WebKitTools/wx/build')
-rw-r--r--WebKitTools/wx/build/build_utils.py188
-rw-r--r--WebKitTools/wx/build/settings.py405
-rw-r--r--WebKitTools/wx/build/waf_extensions.py83
-rw-r--r--WebKitTools/wx/build/wxpresets.py120
4 files changed, 0 insertions, 796 deletions
diff --git a/WebKitTools/wx/build/build_utils.py b/WebKitTools/wx/build/build_utils.py
deleted file mode 100644
index a6962e2..0000000
--- a/WebKitTools/wx/build/build_utils.py
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright (C) 2009 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.
-#
-# Helper functions for the WebKit build.
-
-import commands
-import glob
-import os
-import platform
-import re
-import shutil
-import sys
-import urllib
-import urlparse
-
-def get_output(command):
- """
- Windows-compatible function for getting output from a command.
- """
- if sys.platform.startswith('win'):
- f = os.popen(command)
- return f.read().strip()
- else:
- return commands.getoutput(command)
-
-def get_excludes(root, patterns):
- """
- Get a list of exclude patterns going down several dirs.
- TODO: Make this fully recursive.
- """
- excludes = []
-
- for pattern in patterns:
- subdir_pattern = os.sep + '*'
- for subdir in [subdir_pattern, subdir_pattern*2, subdir_pattern*3]:
- adir = root + subdir + os.sep + pattern
- files = glob.glob(adir)
- for afile in files:
- excludes.append(os.path.basename(afile))
-
- return excludes
-
-def get_dirs_for_features(root, features, dirs):
- """
- Find which directories to include in the list of build dirs based upon the
- enabled port(s) and features.
- """
- outdirs = dirs
- for adir in dirs:
- for feature in features:
- relpath = os.path.join(adir, feature)
- featuredir = os.path.join(root, relpath)
- if os.path.exists(featuredir) and not relpath in outdirs:
- outdirs.append(relpath)
-
- return outdirs
-
-def download_if_newer(url, destdir):
- """
- Checks if the file on the server is newer than the one in the user's tree,
- and if so, downloads it.
-
- Returns the filename of the downloaded file if downloaded, or None if
- the existing file matches the one on the server.
- """
- obj = urlparse.urlparse(url)
- filename = os.path.basename(obj.path)
- destfile = os.path.join(destdir, filename)
-
- urlobj = urllib.urlopen(url)
- size = long(urlobj.info().getheader('Content-Length'))
-
- def download_callback(downloaded, block_size, total_size):
- downloaded = block_size * downloaded
- if downloaded > total_size:
- downloaded = total_size
- sys.stdout.write('%s %d of %d bytes downloaded\r' % (filename, downloaded, total_size))
-
- # NB: We don't check modified time as Python doesn't yet handle timezone conversion
- # properly when converting strings to time objects.
- if not os.path.exists(destfile) or os.path.getsize(destfile) != size:
- urllib.urlretrieve(url, destfile, download_callback)
- print ''
- return destfile
-
- return None
-
-def update_wx_deps(conf, wk_root, msvc_version='msvc2008'):
- """
- Download and update tools needed to build the wx port.
- """
- import Logs
- Logs.info('Ensuring wxWebKit dependencies are up-to-date.')
-
- wklibs_dir = os.path.join(wk_root, 'WebKitLibraries')
- waf = download_if_newer('http://wxwebkit.wxcommunity.com/downloads/deps/waf', os.path.join(wk_root, 'WebKitTools', 'wx'))
- if waf:
- # TODO: Make the build restart itself after an update.
- Logs.warn('Build system updated, please restart build.')
- sys.exit(1)
-
- # since this module is still experimental
- wxpy_dir = os.path.join(wk_root, 'WebKit', 'wx', 'bindings', 'python')
- swig_module = download_if_newer('http://wxwebkit.wxcommunity.com/downloads/deps/swig.py.txt', wxpy_dir)
- if swig_module:
- shutil.copy(os.path.join(wxpy_dir, 'swig.py.txt'), os.path.join(wxpy_dir, 'swig.py'))
-
- if sys.platform.startswith('win'):
- Logs.info('downloading deps package')
- archive = download_if_newer('http://wxwebkit.wxcommunity.com/downloads/deps/wxWebKitDeps-%s.zip' % msvc_version, wklibs_dir)
- if archive and os.path.exists(archive):
- os.system('unzip -o %s -d %s' % (archive, os.path.join(wklibs_dir, msvc_version)))
-
- elif sys.platform.startswith('darwin'):
- # export the right compiler for building the dependencies
- if platform.release().startswith('10'): # Snow Leopard
- os.environ['CC'] = conf.env['CC'][0]
- os.environ['CXX'] = conf.env['CXX'][0]
- os.system('%s/WebKitTools/wx/install-unix-extras' % wk_root)
-
-def includeDirsForSources(sources):
- include_dirs = []
- for group in sources:
- for source in group:
- dirname = os.path.dirname(source)
- if not dirname in include_dirs:
- include_dirs.append(dirname)
-
- return include_dirs
-
-def flattenSources(sources):
- flat_sources = []
- for group in sources:
- flat_sources.extend(group)
-
- return flat_sources
-
-def git_branch_name():
- try:
- branches = commands.getoutput("git branch --no-color")
- match = re.search('^\* (.*)', branches, re.MULTILINE)
- if match:
- return ".%s" % match.group(1)
- except:
- pass
-
- return ""
-
-def get_config(wk_root):
- config_file = os.path.join(wk_root, 'WebKitBuild', 'Configuration')
- config = 'Debug'
-
- if os.path.exists(config_file):
- config = open(config_file).read()
-
- return config
-
-def svn_revision():
- if os.system("git-svn info") == 0:
- info = commands.getoutput("git-svn info ../..")
- else:
- info = commands.getoutput("svn info")
-
- for line in info.split("\n"):
- if line.startswith("Revision: "):
- return line.replace("Revision: ", "").strip()
-
- return ""
diff --git a/WebKitTools/wx/build/settings.py b/WebKitTools/wx/build/settings.py
deleted file mode 100644
index cd3358c..0000000
--- a/WebKitTools/wx/build/settings.py
+++ /dev/null
@@ -1,405 +0,0 @@
-# Copyright (C) 2009 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.
-#
-# Common elements of the waf build system shared by all projects.
-
-import commands
-import os
-import platform
-import re
-import sys
-
-import Options
-
-from build_utils import *
-from waf_extensions import *
-
-# to be moved to wx when it supports more configs
-from wxpresets import *
-
-wk_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../..'))
-
-if sys.platform.startswith('win'):
- if not 'WXWIN' in os.environ:
- print "Please set WXWIN to the directory containing wxWidgets."
- sys.exit(1)
-
- wx_root = os.environ['WXWIN']
-else:
- wx_root = commands.getoutput('wx-config --prefix')
-
-jscore_dir = os.path.join(wk_root, 'JavaScriptCore')
-webcore_dir = os.path.join(wk_root, 'WebCore')
-wklibs_dir = os.path.join(wk_root, 'WebKitLibraries')
-
-common_defines = []
-common_cxxflags = []
-common_includes = []
-common_libs = []
-common_libpaths = []
-common_frameworks = []
-
-ports = [
- 'Brew',
- 'Chromium',
- 'Gtk',
- 'Haiku',
- 'Mac',
- 'None',
- 'Qt',
- 'Safari',
- 'Win',
- 'Wince',
- 'wx',
-]
-
-port_uses = {
- 'wx': ['CURL', 'WXGC'],
-}
-
-jscore_dirs = [
- 'API',
- 'bytecode',
- 'bytecompiler',
- 'debugger',
- 'DerivedSources',
- 'interpreter',
- 'jit',
- 'parser',
- 'pcre',
- 'profiler',
- 'runtime',
- 'wtf',
- 'wtf/text',
- 'wtf/unicode',
- 'wtf/unicode/icu',
- 'yarr',
-]
-
-webcore_dirs = [
- 'WebCore/accessibility',
- 'WebCore/bindings',
- 'WebCore/bindings/cpp',
- 'WebCore/bindings/generic',
- 'WebCore/bindings/js',
- 'WebCore/bindings/js/specialization',
- 'WebCore/bridge',
- 'WebCore/bridge/c',
- 'WebCore/bridge/jsc',
- 'WebCore/css',
- 'WebCore/DerivedSources',
- 'WebCore/dom',
- 'WebCore/dom/default',
- 'WebCore/editing',
- 'WebCore/fileapi',
- 'WebCore/history',
- 'WebCore/html',
- 'WebCore/html/canvas',
- 'WebCore/html/parser',
- 'WebCore/inspector',
- 'WebCore/loader',
- 'WebCore/loader/appcache',
- 'WebCore/loader/archive',
- 'WebCore/loader/icon',
- 'WebCore/notifications',
- 'WebCore/page',
- 'WebCore/page/animation',
- 'WebCore/platform',
- 'WebCore/platform/animation',
- 'WebCore/platform/graphics',
- 'WebCore/platform/graphics/filters',
- 'WebCore/platform/graphics/transforms',
- 'WebCore/platform/image-decoders',
- 'WebCore/platform/image-decoders/bmp',
- 'WebCore/platform/image-decoders/gif',
- 'WebCore/platform/image-decoders/ico',
- 'WebCore/platform/image-decoders/jpeg',
- 'WebCore/platform/image-decoders/png',
- 'WebCore/platform/mock',
- 'WebCore/platform/network',
- 'WebCore/platform/sql',
- 'WebCore/platform/text',
- 'WebCore/platform/text/transcoder',
- 'WebCore/plugins',
- 'WebCore/rendering',
- 'WebCore/rendering/style',
- 'WebCore/rendering/svg',
- 'WebCore/storage',
- 'WebCore/svg',
- 'WebCore/svg/animation',
- 'WebCore/svg/graphics',
- 'WebCore/svg/graphics/filters',
-
- 'WebCore/websockets',
- 'WebCore/xml'
-]
-
-config = get_config(wk_root)
-config_dir = config + git_branch_name()
-
-output_dir = os.path.join(wk_root, 'WebKitBuild', config_dir)
-
-build_port = "wx"
-building_on_win32 = sys.platform.startswith('win')
-
-def get_config():
- waf_configname = config.upper().strip()
- if building_on_win32:
- isReleaseCRT = (config == 'Release')
- if build_port == 'wx':
- if Options.options.wxpython:
- isReleaseCRT = True
-
- if isReleaseCRT:
- waf_configname = waf_configname + ' CRT_MULTITHREADED_DLL'
- else:
- waf_configname = waf_configname + ' CRT_MULTITHREADED_DLL_DBG'
-
- return waf_configname
-
-create_hash_table = wk_root + "/JavaScriptCore/create_hash_table"
-if building_on_win32:
- create_hash_table = get_output('cygpath --unix "%s"' % create_hash_table)
-os.environ['CREATE_HASH_TABLE'] = create_hash_table
-
-feature_defines = ['ENABLE_DATABASE', 'ENABLE_XSLT', 'ENABLE_JAVASCRIPT_DEBUGGER',
- 'ENABLE_SVG', 'ENABLE_SVG_USE', 'ENABLE_FILTERS', 'ENABLE_SVG_FONTS',
- 'ENABLE_SVG_ANIMATION', 'ENABLE_SVG_AS_IMAGE', 'ENABLE_SVG_FOREIGN_OBJECT',
- 'ENABLE_JIT', 'BUILDING_%s' % build_port.upper()]
-
-msvc_version = 'msvc2008'
-
-msvclibs_dir = os.path.join(wklibs_dir, msvc_version, 'win')
-
-def get_path_to_wxconfig():
- if 'WX_CONFIG' in os.environ:
- return os.environ['WX_CONFIG']
- else:
- return 'wx-config'
-
-def common_set_options(opt):
- """
- Initialize common options provided to the user.
- """
- opt.tool_options('compiler_cxx')
- opt.tool_options('compiler_cc')
- opt.tool_options('python')
-
- opt.add_option('--wxpython', action='store_true', default=False, help='Create the wxPython bindings.')
- opt.add_option('--wx-compiler-prefix', action='store', default='vc',
- help='Specify a different compiler prefix (do this if you used COMPILER_PREFIX when building wx itself)')
- opt.add_option('--macosx-version', action='store', default='', help="Version of OS X to build for.")
- opt.add_option('--msvc-version', action='store', default='', help="MSVC version to use to build. Use 8 for 2005, 9 for 2008")
-
-def common_configure(conf):
- """
- Configuration used by all targets, called from the target's configure() step.
- """
-
- conf.env['MSVC_TARGETS'] = ['x86']
-
- if Options.options.msvc_version and Options.options.msvc_version != '':
- print "msvc version = %s" % Options.options.msvc_version
- conf.env['MSVC_VERSIONS'] = ['msvc %s.0' % Options.options.msvc_version]
- else:
- print "msvc not set!"
- conf.env['MSVC_VERSIONS'] = ['msvc 9.0', 'msvc 8.0']
-
- if sys.platform.startswith('cygwin'):
- print "ERROR: You must use the Win32 Python from python.org, not Cygwin Python, when building on Windows."
- sys.exit(1)
-
- if sys.platform.startswith('darwin') and build_port == 'wx':
- import platform
- if platform.release().startswith('10'): # Snow Leopard
- # wx currently only supports 32-bit compilation, so we want gcc-4.0 instead of 4.2 on Snow Leopard
- # unless the user has explicitly set a different compiler.
- if not "CC" in os.environ:
- conf.env['CC'] = 'gcc-4.0'
- if not "CXX" in os.environ:
- conf.env['CXX'] = 'g++-4.0'
- conf.check_tool('compiler_cxx')
- conf.check_tool('compiler_cc')
- if Options.options.wxpython:
- conf.check_tool('python')
- conf.check_python_headers()
-
- if sys.platform.startswith('darwin'):
- conf.check_tool('osx')
-
- global msvc_version
- global msvclibs_dir
-
- libprefix = ''
-
- if building_on_win32:
- libprefix = 'lib'
-
- found = conf.get_msvc_versions()
- found_versions = []
- for version in found:
- found_versions.append(version[0])
-
- if 'msvc 9.0' in conf.env['MSVC_VERSIONS'] and 'msvc 9.0' in found_versions:
- msvc_version = 'msvc2008'
- elif 'msvc 8.0' in conf.env['MSVC_VERSIONS'] and 'msvc 8.0' in found_versions:
- msvc_version = 'msvc2005'
-
- msvclibs_dir = os.path.join(wklibs_dir, msvc_version, 'win')
-
- # Disable several warnings which occur many times during the build.
- # Some of them are harmless (4099, 4344, 4396, 4800) and working around
- # them in WebKit code is probably just not worth it. We can simply do
- # nothing about the others (4503). A couple are possibly valid but
- # there are just too many of them in the code so fixing them is
- # impossible in practice and just results in tons of distracting output
- # (4244, 4291). Finally 4996 is actively harmful as it is given for
- # just about any use of standard C/C++ library facilities.
- conf.env.append_value('CXXFLAGS', [
- '/wd4099', # type name first seen using 'struct' now seen using 'class'
- '/wd4244', # conversion from 'xxx' to 'yyy', possible loss of data:
- '/wd4291', # no matching operator delete found (for placement new)
- '/wd4344', # behaviour change in template deduction
- '/wd4396', # inline can't be used in friend declaration
- '/wd4503', # decorated name length exceeded, name was truncated
- '/wd4800', # forcing value to bool 'true' or 'false'
- '/wd4996', # deprecated function
- ])
-
- # This one also occurs in C code, so disable it there as well.
- conf.env.append_value('CCFLAGS', ['/wd4996'])
-
- if build_port == "wx":
- update_wx_deps(conf, wk_root, msvc_version)
-
- conf.env.append_value('CXXDEFINES', ['BUILDING_WX__=1', 'JS_NO_EXPORT'])
-
- if building_on_win32:
- conf.env.append_value('LIBPATH', os.path.join(msvclibs_dir, 'lib'))
- # wx settings
- global config
- is_debug = (config == 'Debug')
- wxdefines, wxincludes, wxlibs, wxlibpaths = get_wxmsw_settings(wx_root, shared=True, unicode=True, debug=is_debug, wxPython=Options.options.wxpython)
- conf.env['CXXDEFINES_WX'] = wxdefines
- conf.env['CPPPATH_WX'] = wxincludes
- conf.env['LIB_WX'] = wxlibs
- conf.env['LIBPATH_WX'] = wxlibpaths
-
- if sys.platform.startswith('darwin'):
- conf.env['LIB_ICU'] = ['icucore']
-
- conf.env.append_value('CPPPATH', wklibs_dir)
- conf.env.append_value('LIBPATH', wklibs_dir)
-
- min_version = None
-
- mac_target = 'MACOSX_DEPLOYMENT_TARGET'
- if Options.options.macosx_version != '':
- min_version = Options.options.macosx_version
-
- # WebKit only supports 10.4+, but ppc systems often set this to earlier systems
- if not min_version:
- min_version = commands.getoutput('sw_vers -productVersion')[:4]
- if min_version in ['10.1','10.2','10.3']:
- min_version = '10.4'
-
- os.environ[mac_target] = conf.env[mac_target] = min_version
-
- sdk_version = min_version
- if min_version == "10.4":
- sdk_version += "u"
- conf.env.append_value('LIB_WKINTERFACE', ['WebKitSystemInterfaceTiger'])
- else:
- # NOTE: There is a WebKitSystemInterfaceSnowLeopard, but when we use that
- # on 10.6, we get a strange missing symbol error, and this library seems to
- # work fine for wx's purposes.
- conf.env.append_value('LIB_WKINTERFACE', ['WebKitSystemInterfaceLeopard'])
-
- sdkroot = '/Developer/SDKs/MacOSX%s.sdk' % sdk_version
- sdkflags = ['-arch', 'i386', '-isysroot', sdkroot]
-
- conf.env.append_value('CPPFLAGS', sdkflags)
- conf.env.append_value('LINKFLAGS', sdkflags)
-
- conf.env.append_value('CPPPATH_SQLITE3', [os.path.join(wklibs_dir, 'WebCoreSQLite3')])
- conf.env.append_value('LIB_SQLITE3', ['WebCoreSQLite3'])
-
- conf.env.append_value('CXXDEFINES', feature_defines)
- if config == 'Release':
- conf.env.append_value('CPPDEFINES', 'NDEBUG')
-
- if building_on_win32:
- conf.env.append_value('CPPPATH', [
- os.path.join(jscore_dir, 'os-win32'),
- os.path.join(msvclibs_dir, 'include'),
- os.path.join(msvclibs_dir, 'include', 'pthreads'),
- os.path.join(msvclibs_dir, 'lib'),
- ])
-
- conf.env.append_value('LIB', ['libpng', 'libjpeg', 'pthreadVC2'])
- # common win libs
- conf.env.append_value('LIB', [
- 'kernel32', 'user32','gdi32','comdlg32','winspool','winmm',
- 'shell32', 'shlwapi', 'comctl32', 'ole32', 'oleaut32', 'uuid', 'advapi32',
- 'wsock32', 'gdiplus', 'usp10','version'])
-
- conf.env['LIB_ICU'] = ['icudt', 'icule', 'iculx', 'icuuc', 'icuin', 'icuio', 'icutu']
-
- #curl
- conf.env['LIB_CURL'] = ['libcurl']
-
- #sqlite3
- conf.env['CPPPATH_SQLITE3'] = [os.path.join(msvclibs_dir, 'include', 'SQLite')]
- conf.env['LIB_SQLITE3'] = ['sqlite3']
-
- #libxml2
- conf.env['LIB_XML'] = ['libxml2']
-
- #libxslt
- conf.env['LIB_XSLT'] = ['libxslt']
- else:
- if build_port == 'wx':
- port_uses['wx'].append('PTHREADS')
- conf.env.append_value('LIB', ['jpeg', 'png', 'pthread'])
- conf.env.append_value('LIBPATH', os.path.join(wklibs_dir, 'unix', 'lib'))
- conf.env.append_value('CPPPATH', os.path.join(wklibs_dir, 'unix', 'include'))
- conf.env.append_value('CXXFLAGS', ['-fPIC', '-DPIC'])
-
- conf.check_cfg(path=get_path_to_wxconfig(), args='--cxxflags --libs', package='', uselib_store='WX', mandatory=True)
-
- conf.check_cfg(msg='Checking for libxslt', path='xslt-config', args='--cflags --libs', package='', uselib_store='XSLT', mandatory=True)
- conf.check_cfg(path='xml2-config', args='--cflags --libs', package='', uselib_store='XML', mandatory=True)
- if sys.platform.startswith('darwin') and min_version and min_version == '10.4':
- conf.check_cfg(path=os.path.join(wklibs_dir, 'unix', 'bin', 'curl-config'), args='--cflags --libs', package='', uselib_store='CURL', mandatory=True)
- else:
- conf.check_cfg(path='curl-config', args='--cflags --libs', package='', uselib_store='CURL', mandatory=True)
-
- if not sys.platform.startswith('darwin'):
- conf.check_cfg(package='cairo', args='--cflags --libs', uselib_store='WX', mandatory=True)
- conf.check_cfg(package='pango', args='--cflags --libs', uselib_store='WX', mandatory=True)
- conf.check_cfg(package='gtk+-2.0', args='--cflags --libs', uselib_store='WX', mandatory=True)
- conf.check_cfg(package='sqlite3', args='--cflags --libs', uselib_store='SQLITE3', mandatory=True)
- conf.check_cfg(path='icu-config', args='--cflags --ldflags', package='', uselib_store='ICU', mandatory=True)
-
- for use in port_uses[build_port]:
- conf.env.append_value('CXXDEFINES', ['WTF_USE_%s' % use])
diff --git a/WebKitTools/wx/build/waf_extensions.py b/WebKitTools/wx/build/waf_extensions.py
deleted file mode 100644
index f50f264..0000000
--- a/WebKitTools/wx/build/waf_extensions.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright (C) 2009 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.
-#
-# This module is for code where we override waf's default behavior or extend waf
-
-import os
-import subprocess
-import sys
-
-import Utils
-
-# version of exec_command that handles Windows command lines longer than 32000 chars
-def exec_command(s, **kw):
- filename = ''
- if sys.platform.startswith('win') and len(' '.join(s)) > 32000:
- import tempfile
- (fd, filename) = tempfile.mkstemp()
- t = []
- for i in s:
- if i.find(" ") != -1:
- i = '"%s"' % i
- t.append(i)
- os.write(fd, ' '.join(t[1:]))
- os.close(fd)
-
- s = [s[0], '@' + filename]
-
- if 'log' in kw:
- kw['stdout'] = kw['stderr'] = kw['log']
- del(kw['log'])
- kw['shell'] = isinstance(s, str)
-
- def cleanup():
- try:
- if os.path.exists(filename):
- os.remove(filename)
- except:
- pass
-
- try:
- proc = subprocess.Popen(s, **kw)
- result = proc.wait()
- cleanup()
- return result
-
- except OSError:
- cleanup()
- raise
-
-Utils.exec_command = exec_command
-
-# Better performing h_file to keep hashing from consuming lots of time
-import stat
-def h_file(filename):
- st = os.stat(filename)
- if stat.S_ISDIR(st[stat.ST_MODE]): raise IOError('not a file')
- m = Utils.md5()
- m.update(str(st.st_mtime))
- m.update(str(st.st_size))
- m.update(filename)
- return m.digest()
-
-Utils.h_file = h_file
diff --git a/WebKitTools/wx/build/wxpresets.py b/WebKitTools/wx/build/wxpresets.py
deleted file mode 100644
index 3d6b693..0000000
--- a/WebKitTools/wx/build/wxpresets.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright (C) 2009 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.
-#
-# Library for functions to determine wx settings based on configuration
-
-import os
-import re
-
-import Options
-
-def parse_build_cfg(filename):
- cfg_file = open(filename, 'r')
- cfg = {}
- for cfg_line in cfg_file.readlines():
- key = None
- value = None
- parts = cfg_line.split('=')
- if len(parts) >= 1:
- key = parts[0].strip()
-
- if len(parts) >= 2:
- value = parts[1].strip()
- if value.isdigit():
- value = int(value)
-
- if key:
- cfg[key] = value
-
- return cfg
-
-def get_wx_version(wx_root):
- versionText = open(os.path.join(wx_root, "include", "wx", "version.h"), "r").read()
-
- majorVersion = re.search("#define\swxMAJOR_VERSION\s+(\d+)", versionText).group(1)
- minorVersion = re.search("#define\swxMINOR_VERSION\s+(\d+)", versionText).group(1)
-
- return (majorVersion, minorVersion)
-
-def get_wxmsw_settings(wx_root, shared = False, unicode = False, debug = False, wxPython=False):
- if not os.path.exists(wx_root):
- print "Directory %s does not exist." % wx_root
- sys.exit(1)
-
- defines = ['__WXMSW__']
- includes = [os.path.join(wx_root, 'include')]
- cxxflags = []
- libs = []
- libpaths = []
-
- libdir = os.path.join(wx_root, 'lib')
- ext = ''
- postfix = 'vc'
-
- version_str_nodot = ''.join(get_wx_version(wx_root))
-
- if shared:
- defines.append('WXUSINGDLL')
- libdir = os.path.join(libdir, Options.options.wx_compiler_prefix + '_dll')
- else:
- libdir = os.path.join(libdir, Options.options.wx_compiler_prefix + '_lib')
-
- if unicode:
- defines.append('_UNICODE')
- ext += 'u'
-
- depext = ''
- if wxPython:
- ext += 'h'
- depext += 'h'
- elif debug:
- ext += 'd'
- depext += 'd'
-
- configdir = os.path.join(libdir, 'msw' + ext)
-
- monolithic = False
- cfg_file = os.path.join(configdir, 'build.cfg')
- if os.path.exists(cfg_file):
- cfg = parse_build_cfg(cfg_file)
- if "MONOLITHIC" in cfg:
- monolithic = cfg["MONOLITHIC"]
- libpaths.append(libdir)
- includes.append(configdir)
-
- def get_wxlib_name(name):
- if name == 'base':
- return 'wxbase%s%s' % (version_str_nodot, ext)
-
- return "wxmsw%s%s_%s" % (version_str_nodot, ext, name)
-
- libs.extend(['wxzlib' + depext, 'wxjpeg' + depext, 'wxpng' + depext, 'wxexpat' + depext])
- if monolithic:
- libs.extend(["wxmsw%s%s" % (version_str_nodot, ext)])
- else:
- libs.extend([get_wxlib_name('base'), get_wxlib_name('core')])
-
- if wxPython or debug:
- defines.append('__WXDEBUG__')
-
- return (defines, includes, libs, libpaths)