Changeset 198086 in webkit


Ignore:
Timestamp:
Mar 13, 2016 3:30:13 PM (8 years ago)
Author:
commit-queue@webkit.org
Message:

Added new port JSCOnly.
https://bugs.webkit.org/show_bug.cgi?id=154512

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-03-13
Reviewed by Michael Catanzaro.

This port allows to build JavaScriptCore engine with minimal
dependencies.

.:

  • CMakeLists.txt:
  • Source/cmake/OptionsJSCOnly.cmake: Added.

Source/JavaScriptCore:

  • PlatformJSCOnly.cmake: Added.

Source/WTF:

  • wtf/PlatformJSCOnly.cmake: Added.
  • wtf/none/MainThreadNone.cpp: Added.
  • wtf/none/RunLoopNone.cpp: Added.
  • wtf/none/WorkQueueNone.cpp: Added.

Tools:

  • Scripts/build-jsc:
  • Scripts/webkitdirs.pm:

(argumentsForConfiguration):
(executableProductDir):
(determinePortName):
(isJSCOnly):
(wrapperPrefixIfNeeded):
(generateBuildSystemFromCMakeProject):
(buildCMakeGeneratedProject):

Location:
trunk
Files:
7 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/CMakeLists.txt

    r196748 r198086  
    2020# Determine which port will be built
    2121# -----------------------------------------------------------------------------
    22 set(ALL_PORTS Efl GTK AppleWin WinCairo Mac)
     22set(ALL_PORTS
     23    AppleWin
     24    Efl
     25    GTK
     26    JSCOnly
     27    Mac
     28    WinCairo
     29)
    2330set(PORT "NOPORT" CACHE STRING "choose which WebKit port to build (one of ${ALL_PORTS})")
    2431
  • trunk/ChangeLog

    r198074 r198086  
     12016-03-13  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        Added new port JSCOnly.
     4        https://bugs.webkit.org/show_bug.cgi?id=154512
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        This port allows to build JavaScriptCore engine with minimal
     9        dependencies.
     10
     11        * CMakeLists.txt:
     12        * Source/cmake/OptionsJSCOnly.cmake: Added.
     13
    1142016-03-12  Myles C. Maxfield  <mmaxfield@apple.com>
    215
  • trunk/Source/JavaScriptCore/ChangeLog

    r198080 r198086  
     12016-03-13  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        Added new port JSCOnly.
     4        https://bugs.webkit.org/show_bug.cgi?id=154512
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        This port allows to build JavaScriptCore engine with minimal
     9        dependencies.
     10
     11        * PlatformJSCOnly.cmake: Added.
     12
    1132016-03-12  Mark Lam  <mark.lam@apple.com>
    214
  • trunk/Source/WTF/ChangeLog

    r198081 r198086  
     12016-03-13  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        Added new port JSCOnly.
     4        https://bugs.webkit.org/show_bug.cgi?id=154512
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        This port allows to build JavaScriptCore engine with minimal
     9        dependencies.
     10
     11        * wtf/PlatformJSCOnly.cmake: Added.
     12        * wtf/none/MainThreadNone.cpp: Added.
     13        * wtf/none/RunLoopNone.cpp: Added.
     14        * wtf/none/WorkQueueNone.cpp: Added.
     15
    1162016-03-13  David Kilzer  <ddkilzer@apple.com>
    217
  • trunk/Source/WTF/wtf/WorkQueue.h

    r197563 r198086  
    3939#endif
    4040
    41 #if PLATFORM(GTK)
     41#if PLATFORM(EFL)
     42#include <DispatchQueueEfl.h>
     43#elif USE(GLIB)
    4244#include <wtf/Condition.h>
    4345#include <wtf/RunLoop.h>
    4446#include <wtf/glib/GRefPtr.h>
    45 #elif PLATFORM(EFL)
    46 #include <DispatchQueueEfl.h>
    4747#elif OS(WINDOWS)
    4848#include <wtf/HashMap.h>
     
    7575    WTF_EXPORT_PRIVATE static void concurrentApply(size_t iterations, const std::function<void (size_t index)>&);
    7676
    77 #if PLATFORM(GTK)
    78     RunLoop& runLoop() const { return *m_runLoop; }
    79 #elif PLATFORM(EFL)
     77#if PLATFORM(EFL)
    8078    void registerSocketEventHandler(int, std::function<void ()>);
    8179    void unregisterSocketEventHandler(int);
     80#elif USE(GLIB)
     81    RunLoop& runLoop() const { return *m_runLoop; }
    8282#elif OS(DARWIN)
    8383    dispatch_queue_t dispatchQueue() const { return m_dispatchQueue; }
     
    103103#endif
    104104
    105 #if PLATFORM(GTK)
     105#if PLATFORM(EFL)
     106    RefPtr<DispatchQueue> m_dispatchQueue;
     107#elif USE(GLIB)
    106108    ThreadIdentifier m_workQueueThread;
    107109    Lock m_initializeRunLoopConditionMutex;
     
    110112    Lock m_terminateRunLoopConditionMutex;
    111113    Condition m_terminateRunLoopCondition;
    112 #elif PLATFORM(EFL)
    113     RefPtr<DispatchQueue> m_dispatchQueue;
    114114#elif OS(DARWIN)
    115115    static void executeFunction(void*);
  • trunk/Tools/ChangeLog

    r198085 r198086  
     12016-03-13  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        Added new port JSCOnly.
     4        https://bugs.webkit.org/show_bug.cgi?id=154512
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        This port allows to build JavaScriptCore engine with minimal
     9        dependencies.
     10
     11        * Scripts/build-jsc:
     12        * Scripts/webkitdirs.pm:
     13        (argumentsForConfiguration):
     14        (executableProductDir):
     15        (determinePortName):
     16        (isJSCOnly):
     17        (wrapperPrefixIfNeeded):
     18        (generateBuildSystemFromCMakeProject):
     19        (buildCMakeGeneratedProject):
     20
    1212016-03-13  David Kilzer  <ddkilzer@apple.com>
    222
  • trunk/Tools/Scripts/build-jsc

    r197358 r198086  
    4343my $coverageSupport = 0;
    4444my $showHelp = 0;
    45 my $ftlJIT = int(isAppleMacWebKit() && !willUseIOSSimulatorSDK() || isX86_64() && (isGtk() || isEfl()));
     45my $ftlJIT = int(isAppleMacWebKit() && !willUseIOSSimulatorSDK() || isX86_64() && (isGtk() || isEfl() || isJSCOnly()));
    4646my $forceCLoop = 0;
    4747my $cli = 0;
  • trunk/Tools/Scripts/webkitdirs.pm

    r197883 r198086  
    102102    iOS      => "iOS",
    103103    Mac      => "Mac",
     104    JSCOnly  => "JSCOnly",
    104105    WinCairo => "WinCairo",
    105106    Unknown  => "Unknown"
     
    449450    push(@args, '--gtk') if isGtk();
    450451    push(@args, '--efl') if isEfl();
     452    push(@args, '--jsc-only') if isJSCOnly();
    451453    push(@args, '--wincairo') if isWinCairo();
    452454    push(@args, '--inspector-frontend') if isInspectorFrontend();
     
    645647
    646648    my $binaryDirectory;
    647     if (isEfl() || isGtk()) {
     649    if (isEfl() || isGtk() || isJSCOnly()) {
    648650        $binaryDirectory = "bin";
    649651    } elsif (isAnyWindows()) {
     
    10461048        efl => Efl,
    10471049        gtk => GTK,
     1050        'jsc-only' => JSCOnly,
    10481051        wincairo => WinCairo
    10491052    );
     
    10761079                --efl
    10771080                --gtk
     1081                --jsc-only
    10781082            );
    10791083            die "Please specify which WebKit port to build using one of the following options:"
     
    11011105{
    11021106    return portName() eq GTK;
     1107}
     1108
     1109sub isJSCOnly()
     1110{
     1111    return portName() eq JSCOnly;
    11031112}
    11041113
     
    18321841sub wrapperPrefixIfNeeded()
    18331842{
    1834     if (isAnyWindows()) {
     1843    if (isAnyWindows() || isJSCOnly()) {
    18351844        return ();
    18361845    }
     
    19851994    }
    19861995
    1987     # GTK+ has a production mode, but build-webkit should always use developer mode.
    1988     push @args, "-DDEVELOPER_MODE=ON" if isEfl() || isGtk();
     1996    # Some ports have production mode, but build-webkit should always use developer mode.
     1997    push @args, "-DDEVELOPER_MODE=ON" if isEfl() || isGtk() || isJSCOnly();
    19891998
    19901999    # Don't warn variables which aren't used by cmake ports.
     
    20242033    push @args, ("--", $makeArgs) if $makeArgs;
    20252034
    2026     # GTK can use a build script to preserve colors and pretty-printing.
    2027     if (isGtk() && -e "$buildPath/build.sh") {
     2035    # GTK and JSCOnly can use a build script to preserve colors and pretty-printing.
     2036    if ((isGtk() || isJSCOnly()) && -e "$buildPath/build.sh") {
    20282037        chdir "$buildPath" or die;
    20292038        $command = "$buildPath/build.sh";
Note: See TracChangeset for help on using the changeset viewer.