JSC should use unified sources for platform specific files.
authorkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 21 Sep 2017 17:35:18 +0000 (17:35 +0000)
committerkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 21 Sep 2017 17:35:18 +0000 (17:35 +0000)
https://bugs.webkit.org/show_bug.cgi?id=177290

Reviewed by Michael Saboff.

.:

Change WEBKIT_COMPUTE_SOURCES CMake macro to look for platform
specific unified source lists. This is done in the same way that
we look for port specific configuration files. For example, if I
were building for the Mac port WEBKIT_COMPUTE_SOURCES would add
the Sources.txt and SourcesMac.txt source lists to the list of
unified sources.

* Source/cmake/WebKitMacros.cmake:

Source/JavaScriptCore:

Add a list of platform specific source files and update the
Generate Unified Sources phase of the Xcode build. I skipped WPE
since that seems to have failed for some reason that I didn't
fully understand. See:
https://webkit-queues.webkit.org/results/4611260

Also, fix duplicate symbols in Glib remote inspector files.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* SourcesGTK.txt: Added.
* SourcesMac.txt: Added.
* inspector/remote/glib/RemoteInspectorServer.cpp:
(Inspector::RemoteInspectorServer::interfaceInfo):
(Inspector::RemoteInspectorServer::setTargetList):
(Inspector::RemoteInspectorServer::setupInspectorClient):
(Inspector::RemoteInspectorServer::setup):
(Inspector::RemoteInspectorServer::close):
(Inspector::RemoteInspectorServer::connectionClosed):
(Inspector::RemoteInspectorServer::sendMessageToBackend):
(Inspector::RemoteInspectorServer::sendMessageToFrontend):
(Inspector::dbusConnectionCallAsyncReadyCallback): Deleted.

Source/WTF:

The unified source bundler script can now handle more than one
list of sources. Sources will not be bundled across source file
lists. We want to ensure that changing one platform's sources
doesn't break another platform's build, as much as
possible. Additionally, it means that there won't be weird
performance changes when files are added to an unrelated platform.

Remove stale reference to generate-unified-source-bundles.rb script
from Xcode.

* Scripts/generate-unified-source-bundles.rb:
* WTF.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222327 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 files changed:
ChangeLog
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/PlatformGTK.cmake
Source/JavaScriptCore/PlatformMac.cmake
Source/JavaScriptCore/SourcesGTK.txt [new file with mode: 0644]
Source/JavaScriptCore/SourcesMac.txt [new file with mode: 0644]
Source/JavaScriptCore/inspector/remote/glib/RemoteInspectorServer.cpp
Source/WTF/ChangeLog
Source/WTF/Scripts/generate-unified-source-bundles.rb
Source/WTF/WTF.xcodeproj/project.pbxproj
Source/cmake/WebKitMacros.cmake

index cb3c7ac..034075e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
 2017-09-20  Keith Miller  <keith_miller@apple.com>
 
+        JSC should use unified sources for platform specific files.
+        https://bugs.webkit.org/show_bug.cgi?id=177290
+
+        Reviewed by Michael Saboff.
+
+        Change WEBKIT_COMPUTE_SOURCES CMake macro to look for platform
+        specific unified source lists. This is done in the same way that
+        we look for port specific configuration files. For example, if I
+        were building for the Mac port WEBKIT_COMPUTE_SOURCES would add
+        the Sources.txt and SourcesMac.txt source lists to the list of
+        unified sources.
+
+        * Source/cmake/WebKitMacros.cmake:
+
+2017-09-20  Keith Miller  <keith_miller@apple.com>
+
         JSC Xcode build should use unified sources for platform independent files
         https://bugs.webkit.org/show_bug.cgi?id=177190
 
index d9c71f4..942d3f8 100644 (file)
@@ -46,7 +46,7 @@ set(JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES
     "${ICU_INCLUDE_DIRS}"
 )
 
-WEBKIT_COMPUTE_SOURCES_FROM_FILE(JavaScriptCore "${CMAKE_CURRENT_SOURCE_DIR}/Sources.txt")
+WEBKIT_COMPUTE_SOURCES(JavaScriptCore)
 
 set(JavaScriptCore_OBJECT_LUT_SOURCES
     runtime/ArrayConstructor.cpp
index 841cb43..711366b 100644 (file)
@@ -1,3 +1,35 @@
+2017-09-20  Keith Miller  <keith_miller@apple.com>
+
+        JSC should use unified sources for platform specific files.
+        https://bugs.webkit.org/show_bug.cgi?id=177290
+
+        Reviewed by Michael Saboff.
+
+        Add a list of platform specific source files and update the
+        Generate Unified Sources phase of the Xcode build. I skipped WPE
+        since that seems to have failed for some reason that I didn't
+        fully understand. See:
+        https://webkit-queues.webkit.org/results/4611260
+
+        Also, fix duplicate symbols in Glib remote inspector files.
+
+        * CMakeLists.txt:
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * PlatformGTK.cmake:
+        * PlatformMac.cmake:
+        * SourcesGTK.txt: Added.
+        * SourcesMac.txt: Added.
+        * inspector/remote/glib/RemoteInspectorServer.cpp:
+        (Inspector::RemoteInspectorServer::interfaceInfo):
+        (Inspector::RemoteInspectorServer::setTargetList):
+        (Inspector::RemoteInspectorServer::setupInspectorClient):
+        (Inspector::RemoteInspectorServer::setup):
+        (Inspector::RemoteInspectorServer::close):
+        (Inspector::RemoteInspectorServer::connectionClosed):
+        (Inspector::RemoteInspectorServer::sendMessageToBackend):
+        (Inspector::RemoteInspectorServer::sendMessageToFrontend):
+        (Inspector::dbusConnectionCallAsyncReadyCallback): Deleted.
+
 2017-09-20  Stephan Szabo  <stephan.szabo@sony.com>
 
         [Win] WTF: Add alias for process id to use in place of direct uses of pid_t
index 2dbc1e5..5762f68 100644 (file)
                536B318E1F71C5990037FC33 /* UnifiedSource128.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 536B31091F71C5380037FC33 /* UnifiedSource128.cpp */; };
                536B318F1F71C5990037FC33 /* UnifiedSource114.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 536B310A1F71C5380037FC33 /* UnifiedSource114.cpp */; };
                536B31901F71C5990037FC33 /* UnifiedSource100.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 536B310B1F71C5380037FC33 /* UnifiedSource100.cpp */; };
-               536B31921F730EF10037FC33 /* LowLevelInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F4680C714BBB16900BFE272 /* LowLevelInterpreter.cpp */; };
+               536B319A1F735E780037FC33 /* UnifiedSource1.mm in Sources */ = {isa = PBXBuildFile; fileRef = 536B31981F735E5C0037FC33 /* UnifiedSource1.mm */; };
+               536B319B1F735E780037FC33 /* UnifiedSource2.mm in Sources */ = {isa = PBXBuildFile; fileRef = 536B31961F735E5B0037FC33 /* UnifiedSource2.mm */; };
+               536B319C1F735E7D0037FC33 /* UnifiedSource134.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 536B31971F735E5B0037FC33 /* UnifiedSource134.cpp */; };
+               536B319D1F735E7D0037FC33 /* UnifiedSource135.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 536B31991F735E5D0037FC33 /* UnifiedSource135.cpp */; };
+               536B319E1F735F160037FC33 /* LowLevelInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F4680C714BBB16900BFE272 /* LowLevelInterpreter.cpp */; };
                5370B4F61BF26205005C40FC /* AdaptiveInferredPropertyValueWatchpointBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 5370B4F41BF25EA2005C40FC /* AdaptiveInferredPropertyValueWatchpointBase.h */; };
                5381B9391E60E97D0090F794 /* WasmFaultSignalHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5381B9381E60E97D0090F794 /* WasmFaultSignalHandler.h */; settings = {ATTRIBUTES = (Private, ); }; };
                53917E7B1B7906FA000EBD33 /* JSGenericTypedArrayViewPrototypeFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 53917E7A1B7906E4000EBD33 /* JSGenericTypedArrayViewPrototypeFunctions.h */; };
                53F1B5431F6A14AC00E2D043 /* InspectorProtocolObjects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A532438518568317002ED692 /* InspectorProtocolObjects.cpp */; };
                53F1B5441F6A14BC00E2D043 /* JSCBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7D801A61880D6A80026C39B /* JSCBuiltins.cpp */; };
                53F1B5451F6A14D000E2D043 /* YarrCanonicalizeUnicode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65A946141C8E9F6F00A7209A /* YarrCanonicalizeUnicode.cpp */; };
-               53F1B5461F6A150A00E2D043 /* JSRemoteInspector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A552C37D1ADDB8FE00139726 /* JSRemoteInspector.cpp */; };
-               53F1B5471F6A155700E2D043 /* JSStringRefCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 146AAB370B66A94400E55F16 /* JSStringRefCF.cpp */; };
                53F1B5481F6A157700E2D043 /* InspectorBackendDispatchers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A532438118568317002ED692 /* InspectorBackendDispatchers.cpp */; };
-               53F1B5491F6A171600E2D043 /* RemoteInspector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 995566851E4E8B0700AAE13C /* RemoteInspector.cpp */; };
-               53F1B54A1F6A181800E2D043 /* RemoteAutomationTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 992ABCF51BEA94CA006403A0 /* RemoteAutomationTarget.cpp */; };
-               53F1B54B1F6A181D00E2D043 /* RemoteControllableTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 998ED6721BED659A00DD8017 /* RemoteControllableTarget.cpp */; };
-               53F1B54C1F6A182200E2D043 /* RemoteInspectionTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A594558E18245EDE00CC3843 /* RemoteInspectionTarget.cpp */; };
                53F40E851D58F9770099A1B6 /* WasmSections.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E841D58F9770099A1B6 /* WasmSections.h */; };
                53F40E8B1D5901BB0099A1B6 /* WasmFunctionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E8A1D5901BB0099A1B6 /* WasmFunctionParser.h */; };
                53F40E8D1D5901F20099A1B6 /* WasmParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E8C1D5901F20099A1B6 /* WasmParser.h */; };
                86E3C613167BABD7006D760A /* JSContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C607167BAB87006D760A /* JSContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
                86E3C614167BABD7006D760A /* JSExport.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C60A167BAB87006D760A /* JSExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
                86E3C615167BABD7006D760A /* JSVirtualMachine.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C60F167BAB87006D760A /* JSVirtualMachine.h */; settings = {ATTRIBUTES = (Public, ); }; };
-               86E3C616167BABEE006D760A /* JSContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 86E3C608167BAB87006D760A /* JSContext.mm */; };
                86E3C617167BABEE006D760A /* JSContextInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C609167BAB87006D760A /* JSContextInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               86E3C618167BABEE006D760A /* JSWrapperMap.mm in Sources */ = {isa = PBXBuildFile; fileRef = 86E3C60B167BAB87006D760A /* JSWrapperMap.mm */; };
                86E3C619167BABEE006D760A /* JSWrapperMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C60C167BAB87006D760A /* JSWrapperMap.h */; };
-               86E3C61A167BABEE006D760A /* JSValue.mm in Sources */ = {isa = PBXBuildFile; fileRef = 86E3C60D167BAB87006D760A /* JSValue.mm */; };
                86E3C61B167BABEE006D760A /* JSValueInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C60E167BAB87006D760A /* JSValueInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               86E3C61C167BABEE006D760A /* JSVirtualMachine.mm in Sources */ = {isa = PBXBuildFile; fileRef = 86E3C610167BAB87006D760A /* JSVirtualMachine.mm */; };
                86E3C61D167BABEE006D760A /* JSVirtualMachineInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3C611167BAB87006D760A /* JSVirtualMachineInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
                86E85539111B9968001AF51E /* JSStringBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E85538111B9968001AF51E /* JSStringBuilder.h */; };
                86EC9DC51328DF82002B2AD7 /* DFGByteCodeParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 86EC9DB51328DF82002B2AD7 /* DFGByteCodeParser.h */; };
                86ECA3EA132DEF1C002B2AD7 /* DFGNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 86ECA3E9132DEF1C002B2AD7 /* DFGNode.h */; };
                86ECA3FA132DF25A002B2AD7 /* DFGScoreBoard.h in Headers */ = {isa = PBXBuildFile; fileRef = 86ECA3F9132DF25A002B2AD7 /* DFGScoreBoard.h */; };
                86F3EEBD168CDE930077B92A /* ObjCCallbackFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 86F3EEB9168CCF750077B92A /* ObjCCallbackFunction.h */; };
-               86F3EEBE168CDE930077B92A /* ObjCCallbackFunction.mm in Sources */ = {isa = PBXBuildFile; fileRef = 86F3EEBA168CCF750077B92A /* ObjCCallbackFunction.mm */; };
                86F3EEBF168CDE930077B92A /* ObjcRuntimeExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 86F3EEB616855A5B0077B92A /* ObjcRuntimeExtras.h */; };
                86FA9E92142BBB2E001773B7 /* JSBoundFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 86FA9E90142BBB2E001773B7 /* JSBoundFunction.h */; };
                8B3BF5E41E3D368B0076A87A /* AsyncGeneratorPrototype.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B3BF5E31E3D365A0076A87A /* AsyncGeneratorPrototype.lut.h */; };
                978801411471AD920041B016 /* JSDateMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9788FC231471AD0C0068CE2D /* JSDateMath.h */; settings = {ATTRIBUTES = (Private, ); }; };
                981ED82328234D91BAECCADE /* MachineContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 28806E21155E478A93FA7B02 /* MachineContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
                990DA67F1C8E316A00295159 /* generate_objc_protocol_type_conversions_implementation.py in Headers */ = {isa = PBXBuildFile; fileRef = 990DA67E1C8E311D00295159 /* generate_objc_protocol_type_conversions_implementation.py */; settings = {ATTRIBUTES = (Private, ); }; };
-               992F56B41E4E84A40035953B /* RemoteConnectionToTargetCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 992F56B31E4E847D0035953B /* RemoteConnectionToTargetCocoa.mm */; };
-               992F56B51E4E84A80035953B /* RemoteInspectorCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 992F56B01E4E84790035953B /* RemoteInspectorCocoa.mm */; };
-               992F56B61E4E84AB0035953B /* RemoteInspectorXPCConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 992F56B21E4E84790035953B /* RemoteInspectorXPCConnection.mm */; };
                992F56B71E4E84B20035953B /* RemoteInspectorXPCConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 992F56B11E4E84790035953B /* RemoteInspectorXPCConnection.h */; settings = {ATTRIBUTES = (Private, ); }; };
                9959E92B1BD17FA4001AA413 /* cssmin.py in Headers */ = {isa = PBXBuildFile; fileRef = 9959E9271BD17FA0001AA413 /* cssmin.py */; settings = {ATTRIBUTES = (Private, ); }; };
                9959E92D1BD17FA4001AA413 /* jsmin.py in Headers */ = {isa = PBXBuildFile; fileRef = 9959E9291BD17FA0001AA413 /* jsmin.py */; settings = {ATTRIBUTES = (Private, ); }; };
                99DA00B11BD5994E00F4575C /* UpdateContents.py in Headers */ = {isa = PBXBuildFile; fileRef = 99DA00AE1BD5993E00F4575C /* UpdateContents.py */; settings = {ATTRIBUTES = (Private, ); }; };
                99F1A7011B98FBEC00463B26 /* InspectorFrontendRouter.h in Headers */ = {isa = PBXBuildFile; fileRef = 99F1A7001B98FBEC00463B26 /* InspectorFrontendRouter.h */; settings = {ATTRIBUTES = (Private, ); }; };
                9E72940B190F0514001A91B5 /* BundlePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E72940A190F0514001A91B5 /* BundlePath.h */; };
-               9EA5C7A1190F084200508EBE /* BundlePath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9E729409190F0306001A91B5 /* BundlePath.mm */; };
                9F63434577274FAFB9336C38 /* ModuleNamespaceAccessCase.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CE978E385A8498199052153 /* ModuleNamespaceAccessCase.h */; };
                A125846E1B45A36000CC7F6C /* IntlNumberFormatConstructor.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = A125846C1B45A36000CC7F6C /* IntlNumberFormatConstructor.lut.h */; };
                A125846F1B45A36000CC7F6C /* IntlNumberFormatPrototype.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = A125846D1B45A36000CC7F6C /* IntlNumberFormatPrototype.lut.h */; };
                C2160FE715F7E95E00942DFC /* SlotVisitorInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCB408515C0A3C30048932B /* SlotVisitorInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
                C2181FC218A948FB0025A235 /* JSExportTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = C2181FC118A948FB0025A235 /* JSExportTests.mm */; };
                C22B31B9140577D700DB475A /* SamplingCounter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F77008E1402FDD60078EB39 /* SamplingCounter.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               C25D709B16DE99F400FCA6BC /* JSManagedValue.mm in Sources */ = {isa = PBXBuildFile; fileRef = C25D709916DE99F400FCA6BC /* JSManagedValue.mm */; };
                C25D709C16DE99F400FCA6BC /* JSManagedValue.h in Headers */ = {isa = PBXBuildFile; fileRef = C25D709A16DE99F400FCA6BC /* JSManagedValue.h */; settings = {ATTRIBUTES = (Public, ); }; };
                C25F8BCE157544A900245B71 /* IncrementalSweeper.h in Headers */ = {isa = PBXBuildFile; fileRef = C25F8BCC157544A900245B71 /* IncrementalSweeper.h */; settings = {ATTRIBUTES = (Private, ); }; };
                C283190016FE4B7D00157BFD /* HandleBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = C28318FF16FE4B7D00157BFD /* HandleBlock.h */; settings = {ATTRIBUTES = (Private, ); }; };
                C2B6D75318A33793004A9301 /* WriteBarrierInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = C2B6D75218A33793004A9301 /* WriteBarrierInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
                C2B916C214DA014E00CBAC86 /* MarkedAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = C2B916C114DA014E00CBAC86 /* MarkedAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
                C2C0F7CE17BBFC5B00464FE4 /* DFGDesiredTransitions.h in Headers */ = {isa = PBXBuildFile; fileRef = C2C0F7CC17BBFC5B00464FE4 /* DFGDesiredTransitions.h */; };
-               C2CF39C116E15A8100DD69BE /* JSAPIWrapperObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = C2CF39BF16E15A8100DD69BE /* JSAPIWrapperObject.mm */; };
                C2CF39C216E15A8100DD69BE /* JSAPIWrapperObject.h in Headers */ = {isa = PBXBuildFile; fileRef = C2CF39C016E15A8100DD69BE /* JSAPIWrapperObject.h */; };
                C2DA778318E259990066FCB6 /* HeapInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = C2DA778218E259990066FCB6 /* HeapInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
                C2FCAE1117A9C24E0034C735 /* BytecodeBasicBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = C2FCAE0D17A9C24E0034C735 /* BytecodeBasicBlock.h */; settings = {ATTRIBUTES = (Private, ); }; };
                536B31091F71C5380037FC33 /* UnifiedSource128.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource128.cpp; sourceTree = "<group>"; };
                536B310A1F71C5380037FC33 /* UnifiedSource114.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource114.cpp; sourceTree = "<group>"; };
                536B310B1F71C5380037FC33 /* UnifiedSource100.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource100.cpp; sourceTree = "<group>"; };
+               536B31961F735E5B0037FC33 /* UnifiedSource2.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UnifiedSource2.mm; sourceTree = "<group>"; };
+               536B31971F735E5B0037FC33 /* UnifiedSource134.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource134.cpp; sourceTree = "<group>"; };
+               536B31981F735E5C0037FC33 /* UnifiedSource1.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UnifiedSource1.mm; sourceTree = "<group>"; };
+               536B31991F735E5D0037FC33 /* UnifiedSource135.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnifiedSource135.cpp; sourceTree = "<group>"; };
+               536B319F1F7369BD0037FC33 /* glib */ = {isa = PBXFileReference; lastKnownFileType = folder; path = glib; sourceTree = "<group>"; };
                5370B4F31BF25EA2005C40FC /* AdaptiveInferredPropertyValueWatchpointBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AdaptiveInferredPropertyValueWatchpointBase.cpp; sourceTree = "<group>"; };
                5370B4F41BF25EA2005C40FC /* AdaptiveInferredPropertyValueWatchpointBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdaptiveInferredPropertyValueWatchpointBase.h; sourceTree = "<group>"; };
                5381B9361E60E9660090F794 /* WasmFaultSignalHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WasmFaultSignalHandler.cpp; sourceTree = "<group>"; };
                        isa = PBXGroup;
                        children = (
                                536B30DA1F71C5380037FC33 /* UnifiedSource1.cpp */,
+                               536B31981F735E5C0037FC33 /* UnifiedSource1.mm */,
                                536B31011F71C5380037FC33 /* UnifiedSource10.cpp */,
                                536B310B1F71C5380037FC33 /* UnifiedSource100.cpp */,
                                536B31041F71C5380037FC33 /* UnifiedSource101.cpp */,
                                536B30891F71C5380037FC33 /* UnifiedSource131.cpp */,
                                536B30911F71C5380037FC33 /* UnifiedSource132.cpp */,
                                536B30981F71C5380037FC33 /* UnifiedSource133.cpp */,
+                               536B31971F735E5B0037FC33 /* UnifiedSource134.cpp */,
+                               536B31991F735E5D0037FC33 /* UnifiedSource135.cpp */,
                                536B30F71F71C5380037FC33 /* UnifiedSource14.cpp */,
                                536B30F81F71C5380037FC33 /* UnifiedSource15.cpp */,
                                536B30F11F71C5380037FC33 /* UnifiedSource16.cpp */,
                                536B309C1F71C5380037FC33 /* UnifiedSource18.cpp */,
                                536B309D1F71C5380037FC33 /* UnifiedSource19.cpp */,
                                536B30D21F71C5380037FC33 /* UnifiedSource2.cpp */,
+                               536B31961F735E5B0037FC33 /* UnifiedSource2.mm */,
                                536B30951F71C5380037FC33 /* UnifiedSource20.cpp */,
                                536B30941F71C5380037FC33 /* UnifiedSource21.cpp */,
                                536B308A1F71C5380037FC33 /* UnifiedSource22.cpp */,
                        isa = PBXGroup;
                        children = (
                                7ACDDECF1E252ACA0097AFEB /* cocoa */,
+                               536B319F1F7369BD0037FC33 /* glib */,
                                992ABCF51BEA94CA006403A0 /* RemoteAutomationTarget.cpp */,
                                992ABCF61BEA94CA006403A0 /* RemoteAutomationTarget.h */,
                                A5BA15E4182340B300A82E69 /* RemoteConnectionToTarget.h */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "set -e\n\ncd $SRCROOT\n\nif [ \"${DEPLOYMENT_LOCATION}\" == \"YES\" ]; then\n    BUILD_SCRIPTS_DIR=\"${SDKROOT}/usr/local/include/wtf/Scripts\"\nelse\n    BUILD_SCRIPTS_DIR=\"${BUILT_PRODUCTS_DIR}/usr/local/include/wtf/Scripts\"\nfi\n\nUnifiedSourceCppFileCount=133\n\n/usr/bin/env ruby \"${BUILD_SCRIPTS_DIR}/generate-unified-source-bundles.rb\" \"--derived-sources-path\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\" \"--sources-file\" \"Sources.txt\" \"--max-cpp-bundle-count\" \"${UnifiedSourceCppFileCount}\" \"--max-obj-c-bundle-count\" \"0\"  > /dev/null\n";
+                       shellScript = "set -e\n\ncd $SRCROOT\n\nif [ \"${DEPLOYMENT_LOCATION}\" == \"YES\" ]; then\n    BUILD_SCRIPTS_DIR=\"${SDKROOT}/usr/local/include/wtf/Scripts\"\nelse\n    BUILD_SCRIPTS_DIR=\"${BUILT_PRODUCTS_DIR}/usr/local/include/wtf/Scripts\"\nfi\n\nUnifiedSourceCppFileCount=135\nUnifiedSourceMmFileCount=135\n\n/usr/bin/env ruby \"${BUILD_SCRIPTS_DIR}/generate-unified-source-bundles.rb\" \"--derived-sources-path\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\" \"--max-cpp-bundle-count\" \"${UnifiedSourceCppFileCount}\" \"--max-obj-c-bundle-count\" \"${UnifiedSourceMmFileCount}\" \"Sources.txt\" \"SourcesMac.txt\" > /dev/null\n";
                };
                5D29D8BE0E9860B400C3D2D0 /* Check For Weak VTables and Externals */ = {
                        isa = PBXShellScriptBuildPhase;
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               9EA5C7A1190F084200508EBE /* BundlePath.mm in Sources */,
                                53F1B5481F6A157700E2D043 /* InspectorBackendDispatchers.cpp in Sources */,
                                53F1B5421F6A14A500E2D043 /* InspectorFrontendDispatchers.cpp in Sources */,
                                53F1B5431F6A14AC00E2D043 /* InspectorProtocolObjects.cpp in Sources */,
-                               C2CF39C116E15A8100DD69BE /* JSAPIWrapperObject.mm in Sources */,
                                53F1B5441F6A14BC00E2D043 /* JSCBuiltins.cpp in Sources */,
-                               86E3C616167BABEE006D760A /* JSContext.mm in Sources */,
-                               C25D709B16DE99F400FCA6BC /* JSManagedValue.mm in Sources */,
-                               53F1B5461F6A150A00E2D043 /* JSRemoteInspector.cpp in Sources */,
-                               53F1B5471F6A155700E2D043 /* JSStringRefCF.cpp in Sources */,
-                               86E3C61A167BABEE006D760A /* JSValue.mm in Sources */,
-                               86E3C61C167BABEE006D760A /* JSVirtualMachine.mm in Sources */,
-                               86E3C618167BABEE006D760A /* JSWrapperMap.mm in Sources */,
-                               536B31921F730EF10037FC33 /* LowLevelInterpreter.cpp in Sources */,
-                               86F3EEBE168CDE930077B92A /* ObjCCallbackFunction.mm in Sources */,
-                               53F1B54A1F6A181800E2D043 /* RemoteAutomationTarget.cpp in Sources */,
-                               992F56B41E4E84A40035953B /* RemoteConnectionToTargetCocoa.mm in Sources */,
-                               53F1B54B1F6A181D00E2D043 /* RemoteControllableTarget.cpp in Sources */,
-                               53F1B54C1F6A182200E2D043 /* RemoteInspectionTarget.cpp in Sources */,
-                               53F1B5491F6A171600E2D043 /* RemoteInspector.cpp in Sources */,
-                               992F56B51E4E84A80035953B /* RemoteInspectorCocoa.mm in Sources */,
-                               992F56B61E4E84AB0035953B /* RemoteInspectorXPCConnection.mm in Sources */,
+                               536B319E1F735F160037FC33 /* LowLevelInterpreter.cpp in Sources */,
                                0FF4274A158EBE91004CB9FF /* udis86.c in Sources */,
                                0FF42740158EBE8B004CB9FF /* udis86_decode.c in Sources */,
                                0FF4274D158EBFE6004CB9FF /* udis86_itab_holder.c in Sources */,
                                0FF42746158EBE91004CB9FF /* udis86_syn-intel.c in Sources */,
                                0FF42747158EBE91004CB9FF /* udis86_syn.c in Sources */,
                                536B315F1F71C5990037FC33 /* UnifiedSource1.cpp in Sources */,
+                               536B319A1F735E780037FC33 /* UnifiedSource1.mm in Sources */,
                                536B31861F71C5990037FC33 /* UnifiedSource10.cpp in Sources */,
                                536B31901F71C5990037FC33 /* UnifiedSource100.cpp in Sources */,
                                536B31891F71C5990037FC33 /* UnifiedSource101.cpp in Sources */,
                                536B310E1F71C5990037FC33 /* UnifiedSource131.cpp in Sources */,
                                536B31161F71C5990037FC33 /* UnifiedSource132.cpp in Sources */,
                                536B311D1F71C5990037FC33 /* UnifiedSource133.cpp in Sources */,
+                               536B319C1F735E7D0037FC33 /* UnifiedSource134.cpp in Sources */,
+                               536B319D1F735E7D0037FC33 /* UnifiedSource135.cpp in Sources */,
                                536B317C1F71C5990037FC33 /* UnifiedSource14.cpp in Sources */,
                                536B317D1F71C5990037FC33 /* UnifiedSource15.cpp in Sources */,
                                536B31761F71C5990037FC33 /* UnifiedSource16.cpp in Sources */,
                                536B31211F71C5990037FC33 /* UnifiedSource18.cpp in Sources */,
                                536B31221F71C5990037FC33 /* UnifiedSource19.cpp in Sources */,
                                536B31571F71C5990037FC33 /* UnifiedSource2.cpp in Sources */,
+                               536B319B1F735E780037FC33 /* UnifiedSource2.mm in Sources */,
                                536B311A1F71C5990037FC33 /* UnifiedSource20.cpp in Sources */,
                                536B31191F71C5990037FC33 /* UnifiedSource21.cpp in Sources */,
                                536B310F1F71C5990037FC33 /* UnifiedSource22.cpp in Sources */,
index 20e1378..31508b2 100644 (file)
@@ -7,20 +7,6 @@ list(APPEND JavaScriptCore_INCLUDE_DIRECTORIES
 configure_file(javascriptcoregtk.pc.in ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-${WEBKITGTK_API_VERSION}.pc @ONLY)
 configure_file(JavaScriptCore.gir.in ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir @ONLY)
 
-list(APPEND JavaScriptCore_SOURCES
-    API/JSRemoteInspector.cpp
-
-    inspector/remote/RemoteAutomationTarget.cpp
-    inspector/remote/RemoteControllableTarget.cpp
-    inspector/remote/RemoteInspectionTarget.cpp
-    inspector/remote/RemoteInspector.cpp
-
-    inspector/remote/glib/RemoteConnectionToTargetGlib.cpp
-    inspector/remote/glib/RemoteInspectorGlib.cpp
-    inspector/remote/glib/RemoteInspectorServer.cpp
-    inspector/remote/glib/RemoteInspectorUtils.cpp
-)
-
 add_custom_command(
     OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib
     DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
index e528b80..ec49488 100644 (file)
@@ -1,23 +1,3 @@
-list(APPEND JavaScriptCore_SOURCES
-    API/JSAPIWrapperObject.mm
-    API/JSContext.mm
-    API/JSManagedValue.mm
-    API/JSRemoteInspector.cpp
-    API/JSStringRefCF.cpp
-    API/JSValue.mm
-    API/JSVirtualMachine.mm
-    API/JSWrapperMap.mm
-    API/ObjCCallbackFunction.mm
-
-    inspector/remote/RemoteAutomationTarget.cpp
-    inspector/remote/RemoteControllableTarget.cpp
-    inspector/remote/RemoteInspectionTarget.cpp
-    inspector/remote/RemoteInspector.cpp
-
-    inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm
-    inspector/remote/cocoa/RemoteInspectorCocoa.mm
-    inspector/remote/cocoa/RemoteInspectorXPCConnection.mm
-)
 add_definitions(-DSTATICALLY_LINKED_WITH_WTF -D__STDC_WANT_LIB_EXT1__)
 
 find_library(SECURITY_LIBRARY Security)
diff --git a/Source/JavaScriptCore/SourcesGTK.txt b/Source/JavaScriptCore/SourcesGTK.txt
new file mode 100644 (file)
index 0000000..55919f0
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright (C) 2017 Apple 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.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
+
+API/JSRemoteInspector.cpp
+
+inspector/remote/RemoteAutomationTarget.cpp
+inspector/remote/RemoteControllableTarget.cpp
+inspector/remote/RemoteInspectionTarget.cpp
+inspector/remote/RemoteInspector.cpp
+
+inspector/remote/glib/RemoteConnectionToTargetGlib.cpp
+inspector/remote/glib/RemoteInspectorGlib.cpp
+inspector/remote/glib/RemoteInspectorServer.cpp
+inspector/remote/glib/RemoteInspectorUtils.cpp
diff --git a/Source/JavaScriptCore/SourcesMac.txt b/Source/JavaScriptCore/SourcesMac.txt
new file mode 100644 (file)
index 0000000..fe1c908
--- /dev/null
@@ -0,0 +1,41 @@
+# Copyright (C) 2017 Apple 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.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
+
+API/JSAPIWrapperObject.mm
+API/JSContext.mm
+API/JSManagedValue.mm
+API/JSRemoteInspector.cpp
+API/JSStringRefCF.cpp
+API/JSValue.mm
+API/JSVirtualMachine.mm
+API/JSWrapperMap.mm
+API/ObjCCallbackFunction.mm
+
+inspector/remote/RemoteAutomationTarget.cpp
+inspector/remote/RemoteControllableTarget.cpp
+inspector/remote/RemoteInspectionTarget.cpp
+inspector/remote/RemoteInspector.cpp
+
+inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm
+inspector/remote/cocoa/RemoteInspectorCocoa.mm
+inspector/remote/cocoa/RemoteInspectorXPCConnection.mm
index 33817e9..16cbabc 100644 (file)
@@ -49,6 +49,7 @@ static uint64_t generateConnectionID()
     return ++connectionID;
 }
 
+namespace RemoteInspectorServerInternal {
 static const char introspectionXML[] =
     "<node>"
     "  <interface name='" INSPECTOR_DBUS_INTERFACE "'>"
@@ -84,6 +85,7 @@ static const char introspectionXML[] =
     "    </method>"
     "  </interface>"
     "</node>";
+}
 
 const GDBusInterfaceVTable RemoteInspectorServer::s_interfaceVTable = {
     // method_call
@@ -156,7 +158,7 @@ RemoteInspectorServer::~RemoteInspectorServer()
 GDBusInterfaceInfo* RemoteInspectorServer::interfaceInfo()
 {
     if (!m_introspectionData) {
-        m_introspectionData = g_dbus_node_info_new_for_xml(introspectionXML, nullptr);
+        m_introspectionData = g_dbus_node_info_new_for_xml(RemoteInspectorServerInternal::introspectionXML, nullptr);
         ASSERT(m_introspectionData);
     }
     return m_introspectionData->interfaces[0];
@@ -203,6 +205,7 @@ void RemoteInspectorServer::newConnection(GDBusConnection* connection)
     g_dbus_connection_register_object(connection, INSPECTOR_DBUS_OBJECT_PATH, interfaceInfo(), &s_interfaceVTable, this, nullptr, nullptr);
 }
 
+namespace RemoteInspectorServerInternal {
 static void dbusConnectionCallAsyncReadyCallback(GObject* source, GAsyncResult* result, gpointer)
 {
     GUniqueOutPtr<GError> error;
@@ -210,6 +213,7 @@ static void dbusConnectionCallAsyncReadyCallback(GObject* source, GAsyncResult*
     if (!resultVariant && !g_error_matches(error.get(), G_IO_ERROR, G_IO_ERROR_CANCELLED))
         WTFLogAlways("RemoteInspectorServer failed to send DBus message: %s", error->message);
 }
+}
 
 void RemoteInspectorServer::setTargetList(GDBusConnection* remoteInspectorConnection, GVariant* parameters)
 {
@@ -233,7 +237,7 @@ void RemoteInspectorServer::setTargetList(GDBusConnection* remoteInspectorConnec
         "SetTargetList",
         g_variant_new("(t@a(tsssb))", m_remoteInspectorConnectionToIDMap.get(remoteInspectorConnection), targetList.get()),
         nullptr, G_DBUS_CALL_FLAGS_NO_AUTO_START,
-        -1, m_cancellable.get(), dbusConnectionCallAsyncReadyCallback, nullptr);
+        -1, m_cancellable.get(), RemoteInspectorServerInternal::dbusConnectionCallAsyncReadyCallback, nullptr);
 }
 
 void RemoteInspectorServer::clientConnectionClosedCallback(GDBusConnection* connection, gboolean /*remotePeerVanished*/, GError*, RemoteInspectorServer* server)
@@ -262,7 +266,7 @@ GVariant* RemoteInspectorServer::setupInspectorClient(GDBusConnection* clientCon
             "GetTargetList",
             nullptr,
             nullptr, G_DBUS_CALL_FLAGS_NO_AUTO_START,
-            -1, m_cancellable.get(), dbusConnectionCallAsyncReadyCallback, nullptr);
+            -1, m_cancellable.get(), RemoteInspectorServerInternal::dbusConnectionCallAsyncReadyCallback, nullptr);
     }
 
     return backendCommands;
@@ -286,7 +290,7 @@ void RemoteInspectorServer::setup(GDBusConnection* clientConnection, uint64_t co
         "Setup",
         g_variant_new("(t)", targetID),
         nullptr, G_DBUS_CALL_FLAGS_NO_AUTO_START,
-        -1, m_cancellable.get(), dbusConnectionCallAsyncReadyCallback, nullptr);
+        -1, m_cancellable.get(), RemoteInspectorServerInternal::dbusConnectionCallAsyncReadyCallback, nullptr);
 }
 
 void RemoteInspectorServer::close(GDBusConnection* clientConnection, uint64_t connectionID, uint64_t targetID)
@@ -306,7 +310,7 @@ void RemoteInspectorServer::close(GDBusConnection* clientConnection, uint64_t co
         "FrontendDidClose",
         g_variant_new("(t)", targetID),
         nullptr, G_DBUS_CALL_FLAGS_NO_AUTO_START,
-        -1, m_cancellable.get(), dbusConnectionCallAsyncReadyCallback, nullptr);
+        -1, m_cancellable.get(), RemoteInspectorServerInternal::dbusConnectionCallAsyncReadyCallback, nullptr);
     m_inspectionTargets.remove(std::make_pair(connectionID, targetID));
 }
 
@@ -342,7 +346,7 @@ void RemoteInspectorServer::connectionClosed(GDBusConnection* remoteInspectorCon
                 "SetTargetList",
                 g_variant_new("(t@a(tsssb))", connectionID, g_variant_new_array(G_VARIANT_TYPE("(tsssb)"), nullptr, 0)),
                 nullptr, G_DBUS_CALL_FLAGS_NO_AUTO_START,
-                -1, m_cancellable.get(), dbusConnectionCallAsyncReadyCallback, nullptr);
+                -1, m_cancellable.get(), RemoteInspectorServerInternal::dbusConnectionCallAsyncReadyCallback, nullptr);
         }
     }
     m_connections.remove(remoteInspectorConnection);
@@ -364,7 +368,7 @@ void RemoteInspectorServer::sendMessageToBackend(GDBusConnection* clientConnecti
         "SendMessageToTarget",
         g_variant_new("(t&s)", targetID, message),
         nullptr, G_DBUS_CALL_FLAGS_NO_AUTO_START,
-        -1, m_cancellable.get(), dbusConnectionCallAsyncReadyCallback, nullptr);
+        -1, m_cancellable.get(), RemoteInspectorServerInternal::dbusConnectionCallAsyncReadyCallback, nullptr);
 }
 
 void RemoteInspectorServer::sendMessageToFrontend(GDBusConnection* remoteInspectorConnection, uint64_t targetID, const char* message)
@@ -384,7 +388,7 @@ void RemoteInspectorServer::sendMessageToFrontend(GDBusConnection* remoteInspect
         "SendMessageToFrontend",
         g_variant_new("(tt&s)", m_remoteInspectorConnectionToIDMap.get(remoteInspectorConnection), targetID, message),
         nullptr, G_DBUS_CALL_FLAGS_NO_AUTO_START,
-        -1, m_cancellable.get(), dbusConnectionCallAsyncReadyCallback, nullptr);
+        -1, m_cancellable.get(), RemoteInspectorServerInternal::dbusConnectionCallAsyncReadyCallback, nullptr);
 }
 
 void RemoteInspectorServer::startAutomationSession(GDBusConnection* automationConnection, const char* sessionID)
index 8342f9f..58d3d12 100644 (file)
@@ -1,3 +1,23 @@
+2017-09-20  Keith Miller  <keith_miller@apple.com>
+
+        JSC should use unified sources for platform specific files.
+        https://bugs.webkit.org/show_bug.cgi?id=177290
+
+        Reviewed by Michael Saboff.
+
+        The unified source bundler script can now handle more than one
+        list of sources. Sources will not be bundled across source file
+        lists. We want to ensure that changing one platform's sources
+        doesn't break another platform's build, as much as
+        possible. Additionally, it means that there won't be weird
+        performance changes when files are added to an unrelated platform.
+
+        Remove stale reference to generate-unified-source-bundles.rb script
+        from Xcode.
+
+        * Scripts/generate-unified-source-bundles.rb:
+        * WTF.xcodeproj/project.pbxproj:
+
 2017-09-20  Stephan Szabo  <stephan.szabo@sony.com>
 
         [Win] WTF: Add alias for process id to use in place of direct uses of pid_t
index 02332b5..86753f7 100644 (file)
@@ -29,10 +29,9 @@ SCRIPT_NAME = File.basename($0)
 COMMENT_REGEXP = /#/
 
 def usage
-    puts "usage: #{SCRIPT_NAME} [options] -p <desination-path> -s <sources-file>"
+    puts "usage: #{SCRIPT_NAME} [options] -p <desination-path> <sources-file>"
     puts "--help                          (-h) Print this message"
     puts "--verbose                       (-v) Adds extra logging to stderr."
-    puts "--sources-file                  (-s) Path to the file containing the for the unified source build. This argument is required."
     puts "--print-bundled-sources              Print bundled sources rather than generating sources"
     puts
     puts "Generation options:"
@@ -44,10 +43,8 @@ end
 
 MAX_BUNDLE_SIZE = 8
 $derivedSourcesPath = nil
-$sourcesFile = nil
 $verbose = false
 $mode = :GenerateBundles
-# FIXME: Use these when Xcode uses unified sources.
 $maxCppBundleCount = 100000
 $maxObjCBundleCount = 100000
 
@@ -59,7 +56,6 @@ GetoptLong.new(['--help', '-h', GetoptLong::NO_ARGUMENT],
                ['--verbose', '-v', GetoptLong::NO_ARGUMENT],
                ['--print-bundled-sources', GetoptLong::NO_ARGUMENT],
                ['--derived-sources-path', '-p', GetoptLong::REQUIRED_ARGUMENT],
-               ['--sources-file', '-s', GetoptLong::REQUIRED_ARGUMENT],
                ['--max-cpp-bundle-count', GetoptLong::REQUIRED_ARGUMENT],
                ['--max-obj-c-bundle-count', GetoptLong::REQUIRED_ARGUMENT]).each {
     | opt, arg |
@@ -73,8 +69,6 @@ GetoptLong.new(['--help', '-h', GetoptLong::NO_ARGUMENT],
     when '--derived-sources-path'
         $derivedSourcesPath = Pathname.new(arg) + Pathname.new("unified-souces")
         FileUtils.mkdir($derivedSourcesPath) if !$derivedSourcesPath.exist?
-    when '--sources-file'
-        $sourcesFile = Pathname.new(arg)
     when '--max-cpp-bundle-count'
         $maxCppBundleCount = arg.to_i
     when '--max-obj-c-bundle-count'
@@ -83,23 +77,12 @@ GetoptLong.new(['--help', '-h', GetoptLong::NO_ARGUMENT],
 }
 
 if $mode == :GenerateBundles
-    log("#{$derivedSourcesPath} and #{$sourcesFile}")
-    usage if !$derivedSourcesPath || !$sourcesFile
+    usage if !$derivedSourcesPath
+    log("putting unified sources in #{$derivedSourcesPath}")
 end
-
-log("reading #{$sourcesFile}")
-$sources = File.read($sourcesFile).split($/).keep_if {
-    | line |
-    # Only strip lines if they start with a comment since sources we don't
-    # want to bundle have an attribute, which starts with a comment.
-    !((line =~ COMMENT_REGEXP) == 0 || line.empty?)
-}
-
-log("found #{$sources.length} source files")
-usage if $sources.empty?
+usage if ARGV.length == 0
 $generatedSources = []
 
-
 class SourceFile < Pathname
     attr_reader :unifiable
     def initialize(file)
@@ -188,21 +171,34 @@ $bundleManagers = {
     ".mm" => BundleManager.new("mm", $maxObjCBundleCount)
 }
 
-$currentDirectory = nil
-$sources.sort.each {
-    | file |
+ARGV.each {
+    | sourcesFile |
+    log("reading #{sourcesFile}")
+    sources = File.read(sourcesFile).split($/).keep_if {
+        | line |
+        # Only strip lines if they start with a comment since sources we don't
+        # want to bundle have an attribute, which starts with a comment.
+        !((line =~ COMMENT_REGEXP) == 0 || line.empty?)
+    }
+
+    log("found #{sources.length} source files in #{sourcesFile}")
+
+    currentDirectory = nil
+    sources.sort.each {
+        | file |
+
+        path = SourceFile.new(file)
+        case $mode
+        when :GenerateBundles
+            ProcessFileForUnifiedSourceGeneration(path)
+        when :PrintBundledSources
+            $generatedSources << path if $bundleManagers[path.extname] && path.unifiable
+        end
+    }
 
-    path = SourceFile.new(file)
-    case $mode
-    when :GenerateBundles
-        ProcessFileForUnifiedSourceGeneration(path)
-    when :PrintBundledSources
-        $generatedSources << path if $bundleManagers[path.extname] && path.unifiable
-    end
+    $bundleManagers.each_value { |x| x.flush } if $mode == :GenerateBundles
 }
 
-$bundleManagers.each_value { |x| x.flush } if $mode == :GenerateBundles
-
 # We use stdout to report our unified source list to CMake.
 # Add trailing semicolon since CMake seems dislikes not having it.
 # Also, make sure we use print instead of puts because CMake will think the \n is a source file and fail to build.
index e6bf8df..9b8b728 100644 (file)
                53534F291EC0E10E00141B2F /* MachExceptions.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = MachExceptions.defs; sourceTree = "<group>"; };
                539EB0621D55284200C82EF7 /* LEBDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LEBDecoder.h; sourceTree = "<group>"; };
                53EC253C1E95AD30000831B9 /* PriorityQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PriorityQueue.h; sourceTree = "<group>"; };
-               53F1B6DE1F6AC19100E2D043 /* generate-unified-source-bundles.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = "generate-unified-source-bundles.rb"; sourceTree = "<group>"; };
                553071C91C40427200384898 /* TinyLRUCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TinyLRUCache.h; sourceTree = "<group>"; };
                5597F82C1D94B9970066BC21 /* SynchronizedFixedQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SynchronizedFixedQueue.h; sourceTree = "<group>"; };
                5B43383A5D0B463C9433D933 /* IndexMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndexMap.h; sourceTree = "<group>"; };
                        children = (
                                A876DBD6151816E500DADB95 /* wtf */,
                                A8A4748B151A8264004123FF /* config.h */,
-                               53F1B6DE1F6AC19100E2D043 /* generate-unified-source-bundles.rb */,
                        );
                        name = Source;
                        sourceTree = "<group>";
index 92e96b1..ca712b2 100644 (file)
@@ -2,7 +2,13 @@
 # exclusively needed in only one subdirectory of Source (e.g. only needed by
 # WebCore), then put it there instead.
 
-macro(WEBKIT_COMPUTE_SOURCES_FROM_FILE _framework _file)
+macro(WEBKIT_COMPUTE_SOURCES _framework)
+    set(_platformSourcesFile ${CMAKE_CURRENT_SOURCE_DIR}/Sources${PORT}.txt)
+    if (EXISTS ${_platformSourcesFile})
+        message(STATUS "Using platform specific source list file: ${_platformSourcesFile}")
+    else ()
+        unset(_platformSourcesFile)
+    endif ()
 
     if (WIN32 AND INTERNAL_BUILD)
         set(WTF_SCRIPTS_DIR "${CMAKE_BINARY_DIR}/../include/private/WTF/Scripts")
@@ -12,7 +18,8 @@ macro(WEBKIT_COMPUTE_SOURCES_FROM_FILE _framework _file)
 
     execute_process(COMMAND ${RUBY_EXECUTABLE} ${WTF_SCRIPTS_DIR}/generate-unified-source-bundles.rb
         "--print-bundled-sources"
-        "--sources-file" ${_file}
+        ${CMAKE_CURRENT_SOURCE_DIR}/Sources.txt
+        ${_platformSourcesFile}
         RESULT_VARIABLE _resultTmp
         OUTPUT_VARIABLE _outputTmp)
 
@@ -28,7 +35,8 @@ macro(WEBKIT_COMPUTE_SOURCES_FROM_FILE _framework _file)
 
     execute_process(COMMAND ${RUBY_EXECUTABLE} ${WTF_SCRIPTS_DIR}/generate-unified-source-bundles.rb
         "--derived-sources-path" "${DERIVED_SOURCES_DIR}/${_framework}"
-        "--sources-file" ${_file}
+        ${CMAKE_CURRENT_SOURCE_DIR}/Sources.txt
+        ${_platformSourcesFile}
         RESULT_VARIABLE  _resultTmp
         OUTPUT_VARIABLE _outputTmp)
 
@@ -37,6 +45,7 @@ macro(WEBKIT_COMPUTE_SOURCES_FROM_FILE _framework _file)
     endif ()
 
     list(APPEND ${_framework}_SOURCES ${_outputTmp})
+    unset(_platformSourcesFile)
     unset(_resultTmp)
     unset(_outputTmp)
 endmacro()