Title: [187818] trunk
Revision
187818
Author
[email protected]
Date
2015-08-03 23:49:35 -0700 (Mon, 03 Aug 2015)

Log Message

[CMake] Add an option to build AllInOne files
https://bugs.webkit.org/show_bug.cgi?id=102647

Reviewed by Alex Christensen.

.:

* Source/cmake/OptionsEfl.cmake: Disabled by default.
* Source/cmake/OptionsGTK.cmake: Disabled by default.
* Source/cmake/OptionsWindows.cmake: Enabled by default.
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/WebKitMacros.cmake:

Source/WebCore:

* CMakeLists.txt:

Tools:

* Scripts/webkitperl/FeatureList.pm:

Modified Paths

Diff

Modified: trunk/ChangeLog (187817 => 187818)


--- trunk/ChangeLog	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/ChangeLog	2015-08-04 06:49:35 UTC (rev 187818)
@@ -1,3 +1,16 @@
+2015-08-03  Csaba Osztrogonác  <[email protected]>
+
+        [CMake] Add an option to build AllInOne files
+        https://bugs.webkit.org/show_bug.cgi?id=102647
+
+        Reviewed by Alex Christensen.
+
+        * Source/cmake/OptionsEfl.cmake: Disabled by default.
+        * Source/cmake/OptionsGTK.cmake: Disabled by default.
+        * Source/cmake/OptionsWindows.cmake: Enabled by default.
+        * Source/cmake/WebKitFeatures.cmake:
+        * Source/cmake/WebKitMacros.cmake:
+
 2015-08-03  Carlos Garcia Campos  <[email protected]>
 
         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.5 release.

Modified: trunk/Source/WebCore/CMakeLists.txt (187817 => 187818)


--- trunk/Source/WebCore/CMakeLists.txt	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Source/WebCore/CMakeLists.txt	2015-08-04 06:49:35 UTC (rev 187818)
@@ -2790,6 +2790,46 @@
     xml/parser/XMLDocumentParserScope.cpp
 )
 
+if (ENABLE_ALLINONE_BUILD)
+    message(STATUS "All-in-One build is enabled.")
+    set(allInOnes
+        accessibility/AccessibilityAllInOne.cpp
+
+        bindings/js/JSBindingsAllInOne.cpp
+
+        css/CSSAllInOne.cpp
+
+        dom/DOMAllInOne.cpp
+
+        editing/EditingAllInOne.cpp
+
+        html/HTMLElementsAllInOne.cpp
+
+        inspector/InspectorAllInOne.cpp
+
+        loader/appcache/ApplicationCacheAllInOne.cpp
+
+        mathml/MathMLAllInOne.cpp
+
+        platform/text/TextAllInOne.cpp
+
+        rendering/RenderingAllInOne.cpp
+
+        rendering/style/StyleAllInOne.cpp
+
+        rendering/svg/RenderSVGAllInOne.cpp
+
+        svg/SVGAllInOne.cpp
+    )
+    foreach (allInOne ${allInOnes})
+        PROCESS_ALLINONE_FILE("${WebCore_SOURCES}" ${allInOne} newSources ${AllInOne})
+        set(WebCore_SOURCES
+            ${allInOne}
+            ${newSources}
+        )
+    endforeach ()
+endif ()
+
 set(WebCore_CSS_PROPERTY_NAMES
     ${WEBCORE_DIR}/css/CSSPropertyNames.in
 )
@@ -3514,6 +3554,7 @@
 
 GENERATE_EVENT_FACTORY(${WEBCORE_DIR}/dom/EventTargetFactory.in EventTargetInterfaces.h)
 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/dom/EventNames.cpp EventTargetInterfaces.h)
+ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/dom/DOMAllInOne.cpp EventTargetInterfaces.h)
 list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/EventTargetInterfaces.h)
 
 

Modified: trunk/Source/WebCore/ChangeLog (187817 => 187818)


--- trunk/Source/WebCore/ChangeLog	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Source/WebCore/ChangeLog	2015-08-04 06:49:35 UTC (rev 187818)
@@ -1,5 +1,14 @@
 2015-08-03  Csaba Osztrogonác  <[email protected]>
 
+        [CMake] Add an option to build AllInOne files
+        https://bugs.webkit.org/show_bug.cgi?id=102647
+
+        Reviewed by Alex Christensen.
+
+        * CMakeLists.txt:
+
+2015-08-03  Csaba Osztrogonác  <[email protected]>
+
         Fix the all-in-one build on Linux after r187659
         https://bugs.webkit.org/show_bug.cgi?id=147557
 

Modified: trunk/Source/cmake/OptionsEfl.cmake (187817 => 187818)


--- trunk/Source/cmake/OptionsEfl.cmake	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Source/cmake/OptionsEfl.cmake	2015-08-04 06:49:35 UTC (rev 187818)
@@ -69,6 +69,7 @@
 
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_TRANSFORMS PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCESSIBILITY PUBLIC ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ALLINONE_BUILD PUBLIC OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ATTACHMENT_ELEMENT PUBLIC OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_TEXT PUBLIC ON)

Modified: trunk/Source/cmake/OptionsGTK.cmake (187817 => 187818)


--- trunk/Source/cmake/OptionsGTK.cmake	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Source/cmake/OptionsGTK.cmake	2015-08-04 06:49:35 UTC (rev 187818)
@@ -143,6 +143,7 @@
 
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_TRANSFORMS PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCESSIBILITY PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ALLINONE_BUILD PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ATTACHMENT_ELEMENT PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CANVAS_PATH PRIVATE OFF)

Modified: trunk/Source/cmake/OptionsWindows.cmake (187817 => 187818)


--- trunk/Source/cmake/OptionsWindows.cmake	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Source/cmake/OptionsWindows.cmake	2015-08-04 06:49:35 UTC (rev 187818)
@@ -2,6 +2,7 @@
 
 #FIXME: Make sure these are the same as the Windows feature defines once we get CMake working on Windows.
 WEBKIT_OPTION_BEGIN()
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ALLINONE_BUILD PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VENDOR_PREFIXES PUBLIC OFF)

Modified: trunk/Source/cmake/WebKitFeatures.cmake (187817 => 187818)


--- trunk/Source/cmake/WebKitFeatures.cmake	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Source/cmake/WebKitFeatures.cmake	2015-08-04 06:49:35 UTC (rev 187818)
@@ -31,6 +31,7 @@
     WEBKIT_OPTION_DEFINE(ENABLE_ACCELERATED_2D_CANVAS "Toggle accelerated 2D canvas support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_ACCELERATED_OVERFLOW_SCROLLING "Toggle accelerated scrolling support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_ACCESSIBILITY "Toggle accessibility support" PRIVATE OFF)
+    WEBKIT_OPTION_DEFINE(ENABLE_ALLINONE_BUILD "Toggle all-in-one build" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_API_TESTS "Enable public API unit tests" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_ATTACHMENT_ELEMENT "Toggle attachment element support" PRIVATE OFF)
     WEBKIT_OPTION_DEFINE(ENABLE_AVF_CAPTIONS "Toggle AVFoundation caption support" PRIVATE OFF)

Modified: trunk/Source/cmake/WebKitMacros.cmake (187817 => 187818)


--- trunk/Source/cmake/WebKitMacros.cmake	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Source/cmake/WebKitMacros.cmake	2015-08-04 06:49:35 UTC (rev 187818)
@@ -296,3 +296,25 @@
         list(APPEND ${_output_source} ${DERIVED_SOURCES_WEBKIT2_DIR}/${_name}MessageReceiver.cpp)
     endforeach ()
 endmacro()
+
+# Helper macro for using all-in-one builds
+# This macro removes the sources included in the _all_in_one_file from the input _file_list.
+# _file_list is a list of source files
+# _all_in_one_file is an all-in-one cpp file includes other cpp files
+# _result_file_list is the output file list
+macro(PROCESS_ALLINONE_FILE _file_list _all_in_one_file _result_file_list)
+    file(STRINGS ${_all_in_one_file} _all_in_one_file_content)
+    set(${_result_file_list} ${_file_list})
+    foreach (_line ${_all_in_one_file_content})
+        string(REGEX MATCH "^#include [\"<](.*)[\">]" _found ${_line})
+        if (_found)
+            list(APPEND _allins ${CMAKE_MATCH_1})
+        endif ()
+    endforeach ()
+
+    foreach (_allin ${_allins})
+        string(REGEX REPLACE ";[^;]*/${_allin};" ";" _new_result "${${_result_file_list}}")
+        set(${_result_file_list} ${_new_result})
+    endforeach ()
+
+endmacro()

Modified: trunk/Tools/ChangeLog (187817 => 187818)


--- trunk/Tools/ChangeLog	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Tools/ChangeLog	2015-08-04 06:49:35 UTC (rev 187818)
@@ -1,3 +1,12 @@
+2015-08-03  Csaba Osztrogonác  <[email protected]>
+
+        [CMake] Add an option to build AllInOne files
+        https://bugs.webkit.org/show_bug.cgi?id=102647
+
+        Reviewed by Alex Christensen.
+
+        * Scripts/webkitperl/FeatureList.pm:
+
 2015-08-03  Alexey Proskuryakov  <[email protected]>
 
         AppScale: Add required indices

Modified: trunk/Tools/Scripts/webkitperl/FeatureList.pm (187817 => 187818)


--- trunk/Tools/Scripts/webkitperl/FeatureList.pm	2015-08-04 06:44:42 UTC (rev 187817)
+++ trunk/Tools/Scripts/webkitperl/FeatureList.pm	2015-08-04 06:49:35 UTC (rev 187818)
@@ -44,6 +44,7 @@
 my (
     $threeDTransformsSupport,
     $accelerated2DCanvasSupport,
+    $allInOneBuild,
     $arrowfunctionSyntax,
     $attachmentElementSupport,
     $batteryStatusSupport,
@@ -158,6 +159,9 @@
     { option => "accelerated-2d-canvas", desc => "Toggle Accelerated 2D Canvas support",
       define => "ENABLE_ACCELERATED_2D_CANVAS", default => isGtk(), value => \$accelerated2DCanvasSupport },
 
+    { option => "allinone-build", desc => "Toggle all-in-one build",
+      define => "ENABLE_ALLINONE_BUILD", default => isWindows(), value => \$allInOneBuild },
+
     { option => "arrowfunction-syntax", desc => "Toggle ES6 arrow function syntax support",
       define => "ENABLE_ES6_ARROWFUNCTION_SYNTAX", default => 1, value => \$arrowfunctionSyntax },
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to