summaryrefslogtreecommitdiffstats
path: root/WebCore/wscript
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/wscript')
-rw-r--r--WebCore/wscript247
1 files changed, 0 insertions, 247 deletions
diff --git a/WebCore/wscript b/WebCore/wscript
deleted file mode 100644
index 58886aa..0000000
--- a/WebCore/wscript
+++ /dev/null
@@ -1,247 +0,0 @@
-#! /usr/bin/env python
-
-# 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.
-#
-# WebCore build script for the waf build system
-
-from settings import *
-
-webcore_sources = {}
-
-if build_port == "wx":
- webcore_sources['wx'] = ['platform/KillRingNone.cpp', 'bindings/cpp/WebDOMEventTarget.cpp']
-
- if building_on_win32:
- # make sure platform/wx comes after this so we get the right
- # FontPlatformData.h
- webcore_dirs.extend(['platform/wx/wxcode/win', 'plugins/win'])
- webcore_sources['wx-win'] = [
- 'platform/graphics/win/TransformationMatrixWin.cpp',
- # wxTimer on Windows has a bug that causes it to eat crashes in callbacks
- # so we need to use the Win port's implementation until the wx bug fix is
- # widely available (it was fixed in 2.8.10).
- 'platform/win/SharedTimerWin.cpp',
- 'platform/win/WebCoreInstanceHandle.cpp',
- # Use the Windows plugin architecture
- 'plugins/win/PluginDataWin.cpp',
- 'plugins/win/PluginDatabaseWin.cpp',
- 'plugins/win/PluginMessageThrottlerWin.cpp',
- 'plugins/win/PluginPackageWin.cpp',
- 'plugins/win/PluginViewWin.cpp',
- ]
- elif sys.platform.startswith('darwin'):
- webcore_dirs.append('plugins/mac')
- webcore_dirs.append('platform/wx/wxcode/mac/carbon')
- webcore_dirs.append('platform/mac')
- webcore_dirs.append('platform/text/mac')
- webcore_sources['wx-mac'] = [
- 'platform/mac/PurgeableBufferMac.cpp',
- 'platform/mac/WebCoreNSStringExtras.mm',
- 'platform/mac/WebCoreSystemInterface.mm',
- 'platform/graphics/cg/FloatSizeCG.cpp',
- 'platform/graphics/mac/ComplexTextController.cpp',
- 'platform/graphics/mac/ComplexTextControllerCoreText.cpp',
- 'platform/graphics/mac/ComplexTextControllerATSUI.cpp',
- 'platform/graphics/mac/GlyphPageTreeNodeMac.cpp',
- 'platform/graphics/mac/SimpleFontDataATSUI.mm',
- 'platform/graphics/mac/SimpleFontDataCoreText.cpp',
- 'platform/graphics/wx/FontPlatformDataWxMac.mm',
- 'platform/text/mac/ShapeArabic.c',
- 'platform/wx/wxcode/mac/carbon/fontprops.mm',
- 'plugins/mac/PluginPackageMac.cpp',
- 'plugins/mac/PluginViewMac.mm'
- ]
- else:
- webcore_sources['wx-gtk'] = [
- 'plugins/PluginDataNone.cpp',
- 'plugins/PluginViewNone.cpp',
- 'plugins/PluginPackageNone.cpp'
- ]
- webcore_dirs.append('platform/wx/wxcode/gtk')
-
-import TaskGen
-from TaskGen import taskgen, feature, after
-import Task, ccroot
-
-def generate_webcore_derived_sources():
- # build the derived sources
- derived_sources_dir = os.path.join(webcore_dir, 'DerivedSources')
- wc_dir = webcore_dir
- if building_on_win32:
- wc_dir = get_output('cygpath --unix "%s"' % wc_dir)
- if not os.path.exists(derived_sources_dir):
- os.mkdir(derived_sources_dir)
-
- olddir = os.getcwd()
- os.chdir(derived_sources_dir)
-
- os.system('make -f %s/DerivedSources.make WebCore=%s SOURCE_ROOT=%s all FEATURE_DEFINES="%s"' % (wc_dir, wc_dir, wc_dir, ' '.join(feature_defines)))
- os.chdir(olddir)
-
-def set_options(opt):
- common_set_options(opt)
-
-def configure(conf):
- common_configure(conf)
- generate_webcore_derived_sources()
- if sys.platform.startswith('win'):
- graphics_dir = os.path.join(wk_root, 'WebCore', 'platform', 'graphics')
- # HACK ALERT: MSVC automatically adds the source file's directory as the first entry in the
- # path. Unfortunately, that means when compiling these files we will end up including
- # win/FontPlatformData.h, which breaks wx compilation. So we copy the files to the wx dir.
- for afile in ['UniscribeController.h', 'UniscribeController.cpp', 'GlyphPageTreeNodeCairoWin.cpp']:
- shutil.copy(os.path.join(graphics_dir, 'win', afile), os.path.join(graphics_dir, 'wx'))
-
-def build(bld):
- import Options
-
- import TaskGen
-
- if sys.platform.startswith('darwin'):
- TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cxx']
- TaskGen.task_gen.mappings['.m'] = TaskGen.task_gen.mappings['.cxx']
-
- wk_includes = ['.', '..', 'DerivedSources',
- wk_root,
- os.path.join(wk_root, 'JavaScriptCore'),
- os.path.join(wk_root, 'JavaScriptCore', 'wtf', 'text'),
- os.path.join(wk_root, 'WebCore'),
- os.path.join(wk_root, 'WebKit/wx'),
- 'platform/image-decoders',
- 'platform/win',
- 'platform/wx/wxcode',
- 'workers',
- ]
-
- features = [build_port]
- exclude_patterns = ['*AllInOne.cpp', '*Brew.cpp', '*CFNet.cpp', '*Chromium*.cpp',
- '*Efl.cpp', '*Gtk.cpp', '*Haiku.cpp', '*Mac.cpp', '*None.cpp', '*Qt.cpp', '*Safari.cpp',
- 'test*bindings.*', '*Wince.cpp', "WebDOMCanvas*.cpp", "WebDOMSVG*.cpp"]
- if build_port == 'wx':
- features.append('curl')
- if not building_on_win32:
- exclude_patterns.append('*Win.cpp')
-
- if sys.platform.startswith('darwin'):
- features.append('cf')
- bld.install_files(os.path.join(output_dir, 'WebCore'), 'platform/mac/WebCoreSystemInterface.h')
- else:
- exclude_patterns.append('*CF.cpp')
-
- full_dirs = get_dirs_for_features(webcore_dir, features=features, dirs=webcore_dirs)
-
- jscore_dir = os.path.join(wk_root, 'JavaScriptCore')
- for item in os.listdir(jscore_dir):
- fullpath = os.path.join(jscore_dir, item)
- if os.path.isdir(fullpath) and not item == "os-win32" and not item == 'icu':
- wk_includes.append(fullpath)
-
- wk_includes.append(os.path.join(jscore_dir, 'wtf', 'unicode'))
- wk_includes.append(os.path.join(jscore_dir, 'wtf', 'unicode', 'icu'))
- wk_includes += common_includes + full_dirs
- if sys.platform.startswith('darwin'):
- wk_includes.append(os.path.join(webcore_dir, 'icu'))
-
- cxxflags = []
- if building_on_win32:
- cxxflags.append('/FIWebCorePrefix.h')
- else:
- cxxflags.extend(['-include', 'WebCorePrefix.h'])
-
- webcore = bld.new_task_gen(
- features = 'cc cxx cstaticlib',
- includes = ' '.join(wk_includes),
- source = ' '.join(flattenSources(webcore_sources.values())),
- cxxflags = cxxflags,
- defines = ['WXMAKINGDLL_WEBKIT'],
- target = 'webcore',
- uselib = 'WX ICU XML XSLT CURL SQLITE3 ' + get_config(),
- uselib_local = '',
- install_path = output_dir,
- )
-
- excludes = []
-
- if build_port == 'wx':
- excludes = get_excludes(webcore_dir, exclude_patterns)
- excludes.extend(['UserStyleSheetLoader.cpp', 'RenderMediaControls.cpp'])
-
- # intermediate sources
- excludes.append('CSSValueKeywords.cpp')
- excludes.append('CSSPropertyNames.cpp')
- excludes.append('tokenizer.cpp')
-
- # FIXME: these three require headers that I can't seem to find in trunk.
- # Investigate how to resolve these issues.
- excludes.append('JSAbstractView.cpp')
- excludes.append('JSPositionCallback.cpp')
- excludes.append('JSInspectorController.cpp')
-
- # The bindings generator seems to think these are ref-counted, while they aren't in trunk.
- excludes.append('JSElementTimeControl.cpp')
- excludes.append('JSSVGAnimatedPathData.cpp')
- excludes.append('JSSVGAnimatedPoints.cpp')
- excludes.append('JSSVGExternalResourcesRequired.cpp')
- excludes.append('JSSVGFilterPrimitiveStandardAttributes.cpp')
- excludes.append('JSSVGLocatable.cpp')
- excludes.append('JSSVGStyleTable.cpp')
- excludes.append('JSSVGTests.cpp')
- excludes.append('JSSVGStylable.cpp')
- excludes.append('JSSVGZoomAndPan.cpp')
-
- # These are files that expect methods not in the base C++ class, usually XYZAnimated methods.
- excludes.append('JSSVGFitToViewBox.cpp')
- excludes.append('JSSVGLangSpace.cpp')
- excludes.append('JSSVGTransformable.cpp')
- excludes.append('JSSVGURIReference.cpp')
-
- # These are C++ DOM Bindings that won't compile because they look for things not in trunk.
- excludes.append('WebDOMEventTarget.cpp')
- excludes.append('WebDOMAbstractView.cpp')
- excludes.append('WebDOMBlobBuilder.cpp')
- excludes.append('WebDOMDatabaseCallback.cpp')
- excludes.append('WebDOMEventListenerCustom.cpp')
- excludes.append('WebDOMElementTimeControl.cpp')
- excludes.append('WebDOMImageData.cpp')
- excludes.append('WebDOMInspectorBackend.cpp')
- excludes.append('WebDOMScriptProfile.cpp')
- excludes.append('WebDOMScriptProfileNode.cpp')
- excludes.append('WebDOMSQLStatementCallback.cpp')
- excludes.append('WebDOMSQLTransactionErrorCallback.cpp')
- excludes.append('WebDOMSQLTransactionSyncCallback.cpp')
- excludes.append('WebDOMSQLTransactionCallback.cpp')
- excludes.append('WebNativeEventListener.cpp')
-
- if building_on_win32:
- excludes.append('SharedTimerWx.cpp')
- excludes.append('RenderThemeWin.cpp')
- excludes.append('KeyEventWin.cpp')
-
- if building_on_win32 or sys.platform.startswith('darwin'):
- excludes.append('GlyphMapWx.cpp')
- excludes.append('AuthenticationCF.cpp')
- excludes.append('LoaderRunLoopCF.cpp')
- excludes.append('ResourceErrorCF.cpp')
-
- webcore.find_sources_in_dirs(full_dirs, excludes = excludes, exts=['.c', '.cpp'])