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 cb3c7acbd106606e1ac9ff9705874e9940fdaf52..034075e1dfef8c629896c7121ac162afea45b1ae 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+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
index d9c71f4d2beaf96f3aaaee3824843aa4672d3fe3..942d3f88020ed8c5601ffe43cb1357c86d7fa64c 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 841cb43d6781e0e898bdbfde7575a5bb8db11883..711366b12d4fa0bfdd89ddf48cd86a98275316b8 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 2dbc1e5faf43566c3ed9b483a4842c91e0566b7e..5762f68df8d6b483a0107fe38e875c11f33a9012 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 20e137867d2b190e77a1e326aefd789001d91606..31508b24321ec591e898bb7d06c0ed6b0d894692 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 e528b800a1a2c702f607fd35fcd090e7ea937e89..ec49488dbc92ab2b87c0e6577cea30ebbe80e88f 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 33817e997402ac09293b70e5f5d758a7300e4af2..16cbabc487b360f144b4c36b6874dc54291e1839 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 8342f9f3bc10b239ac8c774d8fcf7bae2c0247a3..58d3d12d5a54c041549f464819fa6ede5e6f63e5 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 02332b53b2cb2740b27492647fd5d72bc2ffc24d..86753f7395b2f3352ddc98bdb77a12f43a81310a 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 e6bf8df3e2ab8b6b0e406f2c47f452b6601fb022..9b8b72830e2852c8e79ecf8880fb453c902f422b 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 92e96b144c255a9e0ee87e975c979f968d3c9d64..ca712b286dd4ef5d5409c6de91bc6033b736673b 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()