⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 build-webkit

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻
📖 第 1 页 / 共 2 页
字号:
#!/usr/bin/perl -w# 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.# Build script wrapper for the WebKit Open Source Project.use strict;use File::Basename;use File::Spec;use FindBin;use Getopt::Long qw(:config pass_through);use lib $FindBin::Bin;use webkitdirs;use POSIX;my $originalWorkingDirectory = getcwd();my $channelMessagingSupport = 0;my $databaseSupport = 1;my $domStorageSupport = 1;my $gnomeKeyringSupport = 0;my $iconDatabaseSupport = 1;my $offlineWebApplicationSupport = 1;my $svgSupport = 1;my $svgAnimationSupport = 1;my $svgFiltersSupport = 0;my $svgForeignObjectSupport = 1;my $svgUseSupport = 1;my $svgFontsSupport = 1;my $svgAsImageSupport = 1;my $xpathSupport = 1;my $xsltSupport = 1;my $wmlSupport = 0;my $coverageSupport = 0;my $videoSupport = isAppleWebKit(); # Enable by default for Apple's buildsmy $workersSupport = (isAppleWebKit() || isGtk()); # Enable by default for Apple's builds (mac/win) and Gtk+my $geolocationSupport = (isAppleMacWebKit() && !isTiger() && !isLeopard());my $showHelp = 0;my $clean = 0;my $buildUniversal = 0;my $buildSixtyFourBit = 0;my $threeDTransformsSupport = 0;my $programName = basename($0);my $usage = <<EOF;Usage: $programName [options] [options to pass to build system]  --help                        Show this help message  --cairo-win32                 Build using Cairo (rather than CoreGraphics) on Windows  --chromium                    Build the Chromium port on Mac/Win/Linux  --clean                       Cleanup the build directory  --gtk                         Build the GTK+ port  --universal                   Build 2-way universal (PPC and Intel 32-bit)  --64-bit                      Build 64-bit, combine with --universal to build 4-way universal  --[no-]3d-transforms          Toggle 3D Transforms support (default: $threeDTransformsSupport)  --[no-]channel-messaging          Toggle MessageChannel and MessagePort support (default: $channelMessagingSupport)  --[no-]offline-web-applications   Toggle Offline Web Application Support (default : $offlineWebApplicationSupport)  --[no-]database               Toggle Database Support (default: $databaseSupport)  --[no-]dom-storage            Toggle DOM Storage Support (default: $domStorageSupport)  --[no-]gnomekeyring           Toggle GNOME Keyring Support (GTK+ port only) (default: $gnomeKeyringSupport)  --[no-]icon-database          Toggle Icon database support (default: $iconDatabaseSupport)  --[no-]svg                    Toggle SVG support (default: $svgSupport)  --[no-]svg-animation          Toggle SVG animation support (default: $svgAnimationSupport, implies SVG Support)  --[no-]svg-filters            Toggle SVG filters support (default: $svgFiltersSupport, implies SVG Support)  --[no-]svg-foreign-object     Toggle SVG foreign object support (default: $svgForeignObjectSupport, implies SVG Support)  --[no-]svg-fonts              Toggle SVG fonts support (default: $svgFontsSupport, implies SVG Support)  --[no-]svg-as-image           Toggle SVG as Image support (default: $svgAsImageSupport, implies SVG Support)  --[no-]svg-use                Toggle SVG use element support (default: $svgUseSupport, implies SVG Support)  --[no-]xpath                  Toggle XPath support (default: $xpathSupport)  --[no-]xslt                   Toggle XSLT support (default: $xsltSupport)  --[no-]wml                    Toggle WML support (default: $wmlSupport)  --[no-]video                  Toggle Video support (default: $videoSupport)  --[no-]workers                Toggle Web Workers support (default: $workersSupport)  --[no-]geolocation            Toggle Geolocation support (default: $geolocationSupport)  --[no-]coverage               Toggle code coverage support (default: $coverageSupport)EOFGetOptions(           '3d-transforms!' => \$threeDTransformsSupport,           'channel-messaging!' => \$channelMessagingSupport,           'database!' => \$databaseSupport,           'dom-storage!' => \$domStorageSupport,           'gnomekeyring!' => \$gnomeKeyringSupport,           'icon-database!' => \$iconDatabaseSupport,           'offline-web-applications!' => \$offlineWebApplicationSupport,           'svg!' => \$svgSupport,           'svg-animation!' => \$svgAnimationSupport,           'svg-filters!' => \$svgFiltersSupport,           'svg-foreign-object!' => \$svgForeignObjectSupport,           'svg-fonts!' => \$svgFontsSupport,           'svg-as-image!' => \$svgAsImageSupport,           'svg-use!' => \$svgUseSupport,           'xpath!' => \$xpathSupport,           'xslt!' => \$xsltSupport,           'wml!' => \$wmlSupport,           'video!' => \$videoSupport,           'workers!' => \$workersSupport,           'geolocation!' => \$geolocationSupport,           'coverage!' => \$coverageSupport,           'help' => \$showHelp,           'universal' => \$buildUniversal,           '64-bit' => \$buildSixtyFourBit,           'clean' => \$clean);if ($showHelp) {   print STDERR $usage;   exit 1;}checkRequiredSystemConfig();setConfiguration();chdirWebKit();if (isWx()) {    $ENV{"WEBKITOUTPUTDIR"} = productDir();    my @opts = getWxArgs();    if ($clean) {        push(@opts, "clean");    }    system "WebKitTools/wx/build-wxwebkit @opts";    exit exitStatus($?);}my $productDir = productDir();my @overrideFeatureDefinesOption = ();push @overrideFeatureDefinesOption, "ENABLE_3D_TRANSFORMS" if $threeDTransformsSupport;push @overrideFeatureDefinesOption, "ENABLE_CHANNEL_MESSAGING" if $channelMessagingSupport;push @overrideFeatureDefinesOption, "ENABLE_DATABASE" if $databaseSupport;push @overrideFeatureDefinesOption, "ENABLE_DOM_STORAGE" if $domStorageSupport;push @overrideFeatureDefinesOption, "ENABLE_ICONDATABASE" if $iconDatabaseSupport;push @overrideFeatureDefinesOption, "ENABLE_OFFLINE_WEB_APPLICATIONS" if $offlineWebApplicationSupport;push @overrideFeatureDefinesOption, "ENABLE_SVG" if $svgSupport;push @overrideFeatureDefinesOption, "ENABLE_SVG_ANIMATION" if $svgAnimationSupport;push @overrideFeatureDefinesOption, "ENABLE_SVG_AS_IMAGE" if $svgAsImageSupport;push @overrideFeatureDefinesOption, "ENABLE_SVG_FILTERS" if $svgFiltersSupport;push @overrideFeatureDefinesOption, "ENABLE_SVG_FONTS" if $svgFontsSupport;push @overrideFeatureDefinesOption, "ENABLE_SVG_FOREIGN_OBJECT" if $svgForeignObjectSupport;push @overrideFeatureDefinesOption, "ENABLE_SVG_USE" if $svgUseSupport;push @overrideFeatureDefinesOption, "ENABLE_VIDEO" if $videoSupport;push @overrideFeatureDefinesOption, "ENABLE_WORKERS" if $workersSupport;push @overrideFeatureDefinesOption, "ENABLE_XPATH" if $xpathSupport;push @overrideFeatureDefinesOption, "ENABLE_XSLT" if $xsltSupport;push @overrideFeatureDefinesOption, "ENABLE_WML" if $wmlSupport;push @overrideFeatureDefinesOption, "ENABLE_GEOLOCATION" if $geolocationSupport;my $overrideFeatureDefinesString = "FEATURE_DEFINES=" . join(" ", @overrideFeatureDefinesOption);my @coverageSupportOption = ($coverageSupport) ? XcodeCoverageSupportOptions() : ();# Check that all the project directories are there.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -