blob: 1855ca8767e99461326c43b7cc27e47b9a43cdba [file] [log] [blame]
kevino@webkit.org289ba9c2010-08-16 19:12:19 +00001#! /usr/bin/env python
2
3# Copyright (C) 2009 Kevin Ollivier All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8# 1. Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10# 2. Redistributions in binary form must reproduce the above copyright
11# notice, this list of conditions and the following disclaimer in the
12# documentation and/or other materials provided with the distribution.
13#
14# THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25#
26# WebCore build script for the waf build system
27
28import Options
29
30from settings import *
kevino@webkit.org76597e92011-04-29 16:57:53 +000031import wxpresets
kevino@webkit.org289ba9c2010-08-16 19:12:19 +000032
kevino@webkit.org289ba9c2010-08-16 19:12:19 +000033import TaskGen
34from TaskGen import taskgen, feature, after
35import Task, ccroot
36
kevino@webkit.org680c0922011-04-27 01:08:59 +000037def generate_webcore_derived_sources(conf):
kevino@webkit.org289ba9c2010-08-16 19:12:19 +000038 # build the derived sources
39 derived_sources_dir = os.path.join(webcore_dir, 'DerivedSources')
40 wc_dir = webcore_dir
41 if building_on_win32:
42 wc_dir = get_output('cygpath --unix "%s"' % wc_dir)
43 if not os.path.exists(derived_sources_dir):
44 os.mkdir(derived_sources_dir)
45
46 olddir = os.getcwd()
47 os.chdir(derived_sources_dir)
48
49 # DerivedSources.make expects Cygwin (i.e. Unix-style) python, so use that instead.
50 if building_on_win32:
51 oldpath = os.environ["PATH"]
52 os.environ["PATH"] = "/usr/bin" + os.pathsep + os.environ["PATH"]
kevino@webkit.org680c0922011-04-27 01:08:59 +000053 os.system('make -f %s/DerivedSources.make WebCore=%s SOURCE_ROOT=%s all FEATURE_DEFINES="%s"' % (wc_dir, wc_dir, wc_dir, conf.env["FEATURE_DEFINES"]))
kevino@webkit.org289ba9c2010-08-16 19:12:19 +000054 if building_on_win32:
55 os.environ["PATH"] = oldpath
56 os.chdir(olddir)
57
kevino@webkit.org680c0922011-04-27 01:08:59 +000058def generate_jscore_derived_sources(conf):
kevino@webkit.org289ba9c2010-08-16 19:12:19 +000059 # build the derived sources
60 js_dir = jscore_dir
61 if building_on_win32:
62 js_dir = get_output('cygpath --unix "%s"' % js_dir)
63 derived_sources_dir = os.path.join(jscore_dir, 'DerivedSources')
64 if not os.path.exists(derived_sources_dir):
65 os.mkdir(derived_sources_dir)
66
67 olddir = os.getcwd()
68 os.chdir(derived_sources_dir)
69
70 # DerivedSources.make expects Cygwin (i.e. Unix-style) python, so use that instead.
71 if building_on_win32:
72 oldpath = os.environ["PATH"]
73 os.environ["PATH"] = "/usr/bin" + os.pathsep + os.environ["PATH"]
kevino@webkit.org680c0922011-04-27 01:08:59 +000074 command = 'make -f %s/DerivedSources.make JavaScriptCore=%s BUILT_PRODUCTS_DIR=%s all FEATURE_DEFINES="%s"' % (js_dir, js_dir, js_dir, conf.env["FEATURE_DEFINES"])
kevino@webkit.org289ba9c2010-08-16 19:12:19 +000075 os.system(command)
76 if building_on_win32:
77 os.environ["PATH"] = oldpath
78 os.chdir(olddir)
79
80def set_options(opt):
81 common_set_options(opt)
82
83def configure(conf):
84 common_configure(conf)
kevino@webkit.org680c0922011-04-27 01:08:59 +000085 generate_jscore_derived_sources(conf)
86 generate_webcore_derived_sources(conf)
87 if Options.options.port == "wx" and sys.platform.startswith('win'):
abarth@webkit.org8ac7e152011-01-08 09:35:14 +000088 graphics_dir = os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'graphics')
kevino@webkit.org289ba9c2010-08-16 19:12:19 +000089 # HACK ALERT: MSVC automatically adds the source file's directory as the first entry in the
90 # path. Unfortunately, that means when compiling these files we will end up including
91 # win/FontPlatformData.h, which breaks wx compilation. So we copy the files to the wx dir.
92 for afile in ['UniscribeController.h', 'UniscribeController.cpp', 'GlyphPageTreeNodeCairoWin.cpp']:
93 shutil.copy(os.path.join(graphics_dir, 'win', afile), os.path.join(graphics_dir, 'wx'))
94
95 webcore_out_dir = os.path.join(output_dir, 'WebCore')
96 if not os.path.exists(webcore_out_dir):
97 os.makedirs(webcore_out_dir)
abarth@webkit.org8ac7e152011-01-08 09:35:14 +000098 shutil.copy('Source/WebCore/platform/mac/WebCoreSystemInterface.h', os.path.join(output_dir, 'WebCore', 'WebCoreSystemInterface.h'))
kevino@webkit.org289ba9c2010-08-16 19:12:19 +000099 jscore_out_dir = os.path.join(output_dir, 'JavaScriptCore')
100 if not os.path.exists(jscore_out_dir):
101 os.makedirs(jscore_out_dir)
102 for api_file in glob.glob(os.path.join(jscore_dir, 'API/*.h')):
103 shutil.copy(api_file, os.path.join(jscore_out_dir, os.path.basename(api_file)))
104
kevino@webkit.org680c0922011-04-27 01:08:59 +0000105 if Options.options.port == "wx" and Options.options.wxpython:
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000106 common_configure(conf)
abarth@webkit.orga5db5752011-01-17 05:02:09 +0000107 conf.check_tool('swig', tooldir='Source/WebKit/wx/bindings/python')
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000108 conf.check_swig_version('1.3.29')
109
kevino@webkit.org680c0922011-04-27 01:08:59 +0000110def build(bld):
111
112 webcore_dirs = list(webcore_dirs_common)
113
114 if Options.options.port == "wx":
115 webcore_dirs.extend(['Source/WebKit/wx', 'Source/WebKit/wx/WebKitSupport'])
116
117 wk_includes = ['.',
118 os.path.join(wk_root, 'Source', 'JavaScriptCore'),
119 os.path.join(wk_root, 'Source', 'JavaScriptCore', 'wtf', 'text'),
120 os.path.join(wk_root, 'Source', 'WebCore'),
121 os.path.join(wk_root, 'Source', 'WebCore', 'DerivedSources'),
122 os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'image-decoders'),
123 os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'win'),
124 os.path.join(wk_root, 'Source', 'WebCore', 'workers'),
125 os.path.join(output_dir),
126 ]
127
128 if Options.options.port == "wx":
129 wk_includes.append(os.path.join(wk_root, 'Source', 'WebKit', 'wx'))
130 wk_includes.append(os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'wx', 'wxcode'))
131
132 if sys.platform.startswith("win"):
133 wk_includes.append(os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'win'))
134 wk_includes.append(os.path.join(wk_root, 'Source', 'WebCore', 'platform', 'graphics', 'win'))
135
136 windows_deps = [
137 'lib/pthreadVC2.dll',
138 'bin/icuuc40.dll', 'bin/icudt40.dll', 'bin/icuin40.dll',
139 'bin/libcurl.dll', 'bin/libeay32.dll', 'bin/ssleay32.dll', 'bin/zlib1.dll',
140 'lib/sqlite3.dll', 'bin/libxml2.dll', 'bin/libxslt.dll', 'bin/iconv.dll',
141 ]
142
143 webcore_sources = {}
144
145 if Options.options.port == "wx":
146 webcore_sources['wx'] = [
147 'Source/WebCore/bindings/cpp/WebDOMEventTarget.cpp',
kevino@webkit.org3a622c92011-05-06 00:12:05 +0000148 'Source/WebCore/platform/KillRingNone.cpp',
149 'Source/WebCore/platform/text/LocalizedDateNone.cpp',
kevino@webkit.org680c0922011-04-27 01:08:59 +0000150 'Source/WebCore/platform/text/LocalizedNumberNone.cpp'
151 ]
152
153 if building_on_win32:
154 # make sure platform/wx comes after this so we get the right
155 # FontPlatformData.h
156 webcore_dirs.extend(['Source/WebCore/platform/wx/wxcode/win', 'Source/WebCore/plugins/win'])
157 webcore_sources['wx-win'] = [
158 'Source/WebCore/platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp',
159 'Source/WebCore/platform/graphics/win/TransformationMatrixWin.cpp',
160 'Source/WebCore/platform/ScrollAnimatorWin.cpp',
161 # wxTimer on Windows has a bug that causes it to eat crashes in callbacks
162 # so we need to use the Win port's implementation until the wx bug fix is
163 # widely available (it was fixed in 2.8.10).
164 'Source/WebCore/platform/win/SharedTimerWin.cpp',
165 'Source/WebCore/platform/win/WebCoreInstanceHandle.cpp',
166 # Use the Windows plugin architecture
167 #'Source/WebCore/plugins/win/PluginDataWin.cpp',
168 'Source/WebCore/plugins/win/PluginDatabaseWin.cpp',
169 'Source/WebCore/plugins/win/PluginMessageThrottlerWin.cpp',
170 'Source/WebCore/plugins/win/PluginPackageWin.cpp',
171 'Source/WebCore/plugins/win/PluginViewWin.cpp',
172 ]
kevino@webkit.org35997d32011-09-04 16:49:10 +0000173 if Options.options.cairo:
174 webcore_dirs.append('Source/WebCore/platform/wx/wxcode/cairo')
175 else:
176 webcore_dirs.append('Source/WebCore/platform/wx/wxcode/gdiplus')
kevino@webkit.org680c0922011-04-27 01:08:59 +0000177 elif sys.platform.startswith('darwin'):
178 webcore_dirs.append('Source/WebCore/plugins/mac')
179 webcore_dirs.append('Source/WebCore/platform/wx/wxcode/mac/carbon')
180 webcore_dirs.append('Source/WebCore/platform/mac')
181 webcore_dirs.append('Source/WebCore/platform/text/mac')
182 webcore_sources['wx-mac'] = [
183 'Source/WebCore/platform/mac/PurgeableBufferMac.cpp',
184 'Source/WebCore/platform/mac/WebCoreNSStringExtras.mm',
185 'Source/WebCore/platform/mac/WebCoreSystemInterface.mm',
186 'Source/WebCore/platform/graphics/cg/FloatSizeCG.cpp',
187 'Source/WebCore/platform/graphics/mac/ComplexTextController.cpp',
188 'Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.cpp',
189 'Source/WebCore/platform/graphics/mac/ComplexTextControllerATSUI.cpp',
190 'Source/WebCore/platform/graphics/mac/GlyphPageTreeNodeMac.cpp',
191 'Source/WebCore/platform/graphics/mac/SimpleFontDataATSUI.mm',
192 'Source/WebCore/platform/graphics/mac/SimpleFontDataCoreText.cpp',
193 'Source/WebCore/platform/graphics/wx/FontPlatformDataWxMac.mm',
kevino@webkit.org680c0922011-04-27 01:08:59 +0000194 'Source/WebCore/platform/wx/wxcode/mac/carbon/fontprops.mm',
195 'Source/WebCore/plugins/mac/PluginPackageMac.cpp',
196 'Source/WebCore/plugins/mac/PluginViewMac.mm'
197 ]
198 else:
199 webcore_sources['wx-gtk'] = [
200 'Source/WebCore/plugins/PluginViewNone.cpp',
201 'Source/WebCore/plugins/PluginPackageNone.cpp'
202 ]
203 webcore_dirs.append('Source/WebCore/platform/wx/wxcode/gtk')
kevino@webkit.org35997d32011-09-04 16:49:10 +0000204 webcore_dirs.append('Source/WebCore/platform/wx/wxcode/cairo')
kevino@webkit.org680c0922011-04-27 01:08:59 +0000205
206
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000207 import TaskGen
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000208
abarth@webkit.org76da8fc2011-01-02 06:22:31 +0000209 # FIXME: Does this need to be Source/JavaScriptCore?
kevino@webkit.org7991b852011-02-02 19:34:38 +0000210 bld.add_subdirs('Source/JavaScriptCore')
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000211
212 if sys.platform.startswith('darwin'):
213 TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cxx']
214 TaskGen.task_gen.mappings['.m'] = TaskGen.task_gen.mappings['.cxx']
215
kevino@webkit.org680c0922011-04-27 01:08:59 +0000216 features = [Options.options.port.lower()]
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000217 exclude_patterns = ['*AllInOne.cpp', '*Brew.cpp', '*CFNet.cpp', '*Chromium*.cpp',
218 '*Efl.cpp', '*Gtk.cpp', '*Haiku.cpp', '*Mac.cpp', '*None.cpp', '*Qt.cpp', '*Safari.cpp',
kevino@webkit.org66c5c892010-09-18 22:52:49 +0000219 'test*bindings.*', '*WinCE.cpp', "WebDOMCanvas*.cpp", "WebDOMSVG*.cpp"]
kevino@webkit.org680c0922011-04-27 01:08:59 +0000220 if Options.options.port == 'wx':
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000221 features.append('curl')
222 exclude_patterns.append('*Win.cpp')
223
224 if sys.platform.startswith('darwin'):
225 features.append('cf')
226
227 else:
228 exclude_patterns.append('*CF.cpp')
229
230 full_dirs = get_dirs_for_features(wk_root, features=features, dirs=webcore_dirs)
231
abarth@webkit.org76da8fc2011-01-02 06:22:31 +0000232 jscore_dir = os.path.join(wk_root, 'Source', 'JavaScriptCore')
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000233 for item in os.listdir(jscore_dir):
234 fullpath = os.path.join(jscore_dir, item)
235 if os.path.isdir(fullpath) and not item == "os-win32" and not item == 'icu':
236 wk_includes.append(fullpath)
237
kevino@webkit.org7991b852011-02-02 19:34:38 +0000238 wk_includes.append('Source')
kevino@webkit.org4e26c272011-02-17 20:24:52 +0000239 wk_includes.append(os.path.join(jscore_dir, 'collector', 'handles'))
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000240 wk_includes.append(os.path.join(jscore_dir, 'wtf', 'unicode'))
241 wk_includes.append(os.path.join(jscore_dir, 'wtf', 'unicode', 'icu'))
242 wk_includes += common_includes + full_dirs
243 if sys.platform.startswith('darwin'):
244 wk_includes.append(os.path.join(webcore_dir, 'icu'))
245
246 cxxflags = []
247 if building_on_win32:
248 cxxflags.append('/FIWebCorePrefix.h')
kevino@webkit.org47c9a572011-03-03 22:51:22 +0000249 # FIXME: We do this because in waf, local include dirs take precedence
250 # over global ones. This makes sense, but because unicode/utf8.h is both
251 # an ICU header name and a WebKit header name (in Source/JavaScriptCore/wtf)
252 # we have to make sure <unicode/utf8.h> picks up the ICU one first.
253 global msvclibs_dir
254 wk_includes.append(os.path.join(msvclibs_dir, 'include'))
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000255 else:
256 cxxflags.extend(['-include', 'WebCorePrefix.h'])
257
258 webcore = bld.new_task_gen(
259 features = 'cc cxx cshlib',
260 includes = ' '.join(wk_includes),
261 source = ' '.join(flattenSources(webcore_sources.values())),
262 cxxflags = cxxflags,
263 defines = ['WXMAKINGDLL_WEBKIT', 'BUILDING_WebCore'],
264 libpath = [output_dir],
265 target = 'wxwebkit',
266 uselib = 'WX ICU XML XSLT CURL SQLITE3 WKINTERFACE ' + get_config(),
267 uselib_local = 'jscore',
268 install_path = output_dir,
269 )
270
271 excludes = []
272
kevino@webkit.org680c0922011-04-27 01:08:59 +0000273 if Options.options.port == 'wx':
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000274 excludes = get_excludes(webcore_dir, exclude_patterns)
275 excludes.extend(['UserStyleSheetLoader.cpp', 'RenderMediaControls.cpp'])
276
kevino@webkit.orgcabb23c2010-09-30 17:35:58 +0000277 # intermediate sources
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000278 excludes.append('DocTypeStrings.cpp')
279 excludes.append('HTMLEntityNames.cpp')
280 excludes.append('tokenizer.cpp')
281
kevino@webkit.org5c296302010-09-28 16:17:17 +0000282 # Qt specific file in common sources
283 excludes.append('ContextShadow.cpp')
284
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000285 # FIXME: these three require headers that I can't seem to find in trunk.
286 # Investigate how to resolve these issues.
287 excludes.append('JSAbstractView.cpp')
288 excludes.append('JSPositionCallback.cpp')
289 excludes.append('JSInspectorController.cpp')
290
291 # The bindings generator seems to think these are ref-counted, while they aren't in trunk.
292 excludes.append('JSElementTimeControl.cpp')
293 excludes.append('JSSVGAnimatedPathData.cpp')
294 excludes.append('JSSVGAnimatedPoints.cpp')
295 excludes.append('JSSVGExternalResourcesRequired.cpp')
296 excludes.append('JSSVGFilterPrimitiveStandardAttributes.cpp')
297 excludes.append('JSSVGLocatable.cpp')
298 excludes.append('JSSVGStyleTable.cpp')
299 excludes.append('JSSVGTests.cpp')
300 excludes.append('JSSVGStylable.cpp')
301 excludes.append('JSSVGZoomAndPan.cpp')
302
303 # These are files that expect methods not in the base C++ class, usually XYZAnimated methods.
304 excludes.append('JSSVGFitToViewBox.cpp')
305 excludes.append('JSSVGLangSpace.cpp')
306 excludes.append('JSSVGTransformable.cpp')
307 excludes.append('JSSVGURIReference.cpp')
308
309 # These are C++ DOM Bindings that won't compile because they look for things not in trunk.
310 excludes.append('WebDOMEventTarget.cpp')
311 excludes.append('WebDOMAbstractView.cpp')
312 excludes.append('WebDOMBlobBuilder.cpp')
313 excludes.append('WebDOMEventListenerCustom.cpp')
314 excludes.append('WebDOMElementTimeControl.cpp')
315 excludes.append('WebDOMImageData.cpp')
316 excludes.append('WebDOMInspectorBackend.cpp')
317 excludes.append('WebDOMScriptProfile.cpp')
318 excludes.append('WebDOMScriptProfileNode.cpp')
319 excludes.append('WebNativeEventListener.cpp')
320
kevino@webkit.org99f7f662011-08-10 23:19:30 +0000321 # These files appear not to build with older versions of ICU
kevino@webkit.org5bb68552011-03-03 01:41:14 +0000322 excludes.append('LocalizedNumberICU.cpp')
kevino@webkit.org99f7f662011-08-10 23:19:30 +0000323 excludes.append('LocaleToScriptMappingICU.cpp')
kevino@webkit.org5bb68552011-03-03 01:41:14 +0000324
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000325 if building_on_win32:
326 excludes.append('SharedTimerWx.cpp')
327 excludes.append('RenderThemeWin.cpp')
328 excludes.append('KeyEventWin.cpp')
329
330 if building_on_win32 or sys.platform.startswith('darwin'):
331 excludes.append('GlyphMapWx.cpp')
332 excludes.append('AuthenticationCF.cpp')
333 excludes.append('LoaderRunLoopCF.cpp')
334 excludes.append('ResourceErrorCF.cpp')
335
kevino@webkit.orga378e452011-03-26 01:21:30 +0000336 # once we move over to the new FPD implementation, remove this.
337 excludes.append('FontPlatformData.cpp')
338
kevino@webkit.org405e5322011-08-03 19:38:19 +0000339 # we don't use gestures currently
340 excludes.append('PlatformGestureRecognizer.cpp')
341
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000342 if sys.platform.startswith('darwin'):
abarth@webkit.orga5db5752011-01-17 05:02:09 +0000343 webcore.includes += ' Source/WebKit/mac/WebCoreSupport WebCore/platform/mac'
344 webcore.source += ' Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm'
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000345
kevino@webkit.org5c296302010-09-28 16:17:17 +0000346 if building_on_win32:
347 for wxlib in bld.env['LIB_WX']:
kevino@webkit.org76597e92011-04-29 16:57:53 +0000348 wx_version = wxpresets.get_wx_version(os.environ['WXWIN'])
349 if int(wx_version[1]) % 2 == 1:
350 wxlib = wxlib.replace(''.join(wx_version[:2]), ''.join(wx_version))
kevino@webkit.org5c296302010-09-28 16:17:17 +0000351 wxlibname = os.path.join(bld.env['LIBPATH_WX'][0], wxlib + '_vc.dll')
kevino@webkit.org76597e92011-04-29 16:57:53 +0000352 print "Copying %s" % wxlibname
kevino@webkit.org5c296302010-09-28 16:17:17 +0000353 if os.path.exists(wxlibname):
kevino@webkit.orga7621582010-09-28 18:05:17 +0000354 bld.install_files(webcore.install_path, [wxlibname])
kevino@webkit.org5c296302010-09-28 16:17:17 +0000355
356 for dep in windows_deps:
kevino@webkit.orga7621582010-09-28 18:05:17 +0000357 bld.install_files(webcore.install_path, [os.path.join(msvclibs_dir, dep)])
kevino@webkit.org35997d32011-09-04 16:49:10 +0000358
359 if "CAIRO_ROOT" in os.environ and Options.options.cairo:
360 cairo_bin_dir = os.path.join(os.environ["CAIRO_ROOT"], "bin")
361 for dep in glob.glob(os.path.join(cairo_bin_dir, "*.dll")):
362 bld.install_files(webcore.install_path, [os.path.join(cairo_bin_dir, dep)])
363
kevino@webkit.org289ba9c2010-08-16 19:12:19 +0000364 webcore.find_sources_in_dirs(full_dirs, excludes = excludes, exts=['.c', '.cpp'])
365
366 bld.add_group()
367
kevino@webkit.org680c0922011-04-27 01:08:59 +0000368 if Options.options.port == "wx":
abarth@webkit.orga5db5752011-01-17 05:02:09 +0000369 bld.add_subdirs(['Tools/DumpRenderTree', 'Tools/wx/browser', 'Source/WebKit/wx/bindings/python'])