WebKit Bugzilla
Attachment 372991 Details for
Bug 199254
: [FTW] Build JavaScriptCore
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199254.diff (text/plain), 9.21 KB, created by
Don Olmstead
on 2019-06-26 18:57:25 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Don Olmstead
Created:
2019-06-26 18:57:25 PDT
Size:
9.21 KB
patch
obsolete
>diff --git a/CMakeLists.txt b/CMakeLists.txt >index 9e48108e71e..40b1c65f4b0 100644 >--- a/CMakeLists.txt >+++ b/CMakeLists.txt >@@ -37,6 +37,7 @@ endif () > set(ALL_PORTS > AppleWin > Efl >+ FTW > GTK > JSCOnly > Mac >diff --git a/ChangeLog b/ChangeLog >index e44f9ffb001..aacb5822995 100644 >--- a/ChangeLog >+++ b/ChangeLog >@@ -1,3 +1,17 @@ >+2019-06-26 Don Olmstead <don.olmstead@sony.com> >+ >+ [FTW] Build JavaScriptCore >+ https://bugs.webkit.org/show_bug.cgi?id=199254 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add the FTW [For the Win(dows)] port. FTW is OS(WINDOWS) + USE(DIRECT2D) + >+ USE(CURL). Its eventual goal is to be the one true Windows port but to avoid >+ breaking AppleWin and WinCairo its being split into its own port for the interim. >+ >+ * CMakeLists.txt: >+ * Source/cmake/OptionsFTW.cmake: Added. >+ > 2019-06-25 Michael Catanzaro <mcatanzaro@igalia.com> > > Fully rename WebKitGTK+ -> WebKitGTK everywhere >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index c974eedc160..6a7ad24fed9 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,12 @@ >+2019-06-26 Don Olmstead <don.olmstead@sony.com> >+ >+ [FTW] Build JavaScriptCore >+ https://bugs.webkit.org/show_bug.cgi?id=199254 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * PlatformFTW.cmake: Added. >+ > 2019-06-26 Keith Miller <keith_miller@apple.com> > > remove unneeded didBecomePrototype() calls >diff --git a/Source/JavaScriptCore/PlatformFTW.cmake b/Source/JavaScriptCore/PlatformFTW.cmake >new file mode 100644 >index 00000000000..d2c7eb03f72 >--- /dev/null >+++ b/Source/JavaScriptCore/PlatformFTW.cmake >@@ -0,0 +1,63 @@ >+list(APPEND JavaScriptCore_SOURCES >+ API/JSStringRefBSTR.cpp >+) >+ >+list(APPEND JavaScriptCore_PUBLIC_FRAMEWORK_HEADERS >+ API/JSStringRefBSTR.h >+ API/JavaScriptCore.h >+) >+ >+if (ENABLE_REMOTE_INSPECTOR) >+ list(APPEND JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES >+ "${JAVASCRIPTCORE_DIR}/inspector/remote/socket" >+ ) >+ >+ list(APPEND JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS >+ inspector/remote/RemoteAutomationTarget.h >+ inspector/remote/RemoteConnectionToTarget.h >+ inspector/remote/RemoteControllableTarget.h >+ inspector/remote/RemoteInspectionTarget.h >+ inspector/remote/RemoteInspector.h >+ >+ inspector/remote/socket/RemoteInspectorConnectionClient.h >+ inspector/remote/socket/RemoteInspectorMessageParser.h >+ inspector/remote/socket/RemoteInspectorServer.h >+ inspector/remote/socket/RemoteInspectorSocket.h >+ inspector/remote/socket/RemoteInspectorSocketEndpoint.h >+ ) >+ >+ list(APPEND JavaScriptCore_SOURCES >+ API/JSRemoteInspector.cpp >+ >+ inspector/remote/RemoteAutomationTarget.cpp >+ inspector/remote/RemoteConnectionToTarget.cpp >+ inspector/remote/RemoteControllableTarget.cpp >+ inspector/remote/RemoteInspectionTarget.cpp >+ inspector/remote/RemoteInspector.cpp >+ >+ inspector/remote/socket/RemoteInspectorConnectionClient.cpp >+ inspector/remote/socket/RemoteInspectorMessageParser.cpp >+ inspector/remote/socket/RemoteInspectorServer.cpp >+ inspector/remote/socket/RemoteInspectorSocket.cpp >+ inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp >+ >+ inspector/remote/socket/win/RemoteInspectorSocketWin.cpp >+ ) >+ >+ set(JavaScriptCore_LIBRARIES PUBLIC ${JavaScriptCore_LIBRARIES}) >+ list(APPEND JavaScriptCore_LIBRARIES >+ PRIVATE ws2_32 >+ ) >+else () >+ list(REMOVE_ITEM JavaScriptCore_SOURCES >+ inspector/JSGlobalObjectInspectorController.cpp >+ ) >+endif () >+ >+file(COPY >+ "${JAVASCRIPTCORE_DIR}/JavaScriptCore.vcxproj/JavaScriptCore.resources" >+ DESTINATION >+ ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} >+) >+ >+set(JavaScriptCore_OUTPUT_NAME JavaScriptCore${DEBUG_SUFFIX}) >diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index f6f8108e20f..ad8a866911d 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,12 @@ >+2019-06-26 Don Olmstead <don.olmstead@sony.com> >+ >+ [FTW] Build JavaScriptCore >+ https://bugs.webkit.org/show_bug.cgi?id=199254 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * wtf/PlatformFTW.cmake: Added. >+ > 2019-06-25 Keith Miller <keith_miller@apple.com> > > CagedPtr doesn't merge PAC bits back into the resulting caged pointer. >diff --git a/Source/WTF/wtf/PlatformFTW.cmake b/Source/WTF/wtf/PlatformFTW.cmake >new file mode 100644 >index 00000000000..5d97c261213 >--- /dev/null >+++ b/Source/WTF/wtf/PlatformFTW.cmake >@@ -0,0 +1,36 @@ >+list(APPEND WTF_PUBLIC_HEADERS >+ text/win/WCharStringExtras.h >+ >+ win/DbgHelperWin.h >+ win/GDIObject.h >+ win/SoftLinking.h >+ win/Win32Handle.h >+) >+ >+set(WTF_LIBRARIES PUBLIC ${WTF_LIBRARIES}) >+list(APPEND WTF_LIBRARIES >+ PRIVATE Dbghelp # For symbol handling <dbghelp.h> >+ PRIVATE Shlwapi # For file system operations <shlwapi.h> >+ PUBLIC Winmm # For multimedia functions, also used in <timeapi.h> >+) >+ >+list(APPEND WTF_SOURCES >+ text/win/StringWin.cpp >+ text/win/TextBreakIteratorInternalICUWin.cpp >+ >+ win/CPUTimeWin.cpp >+ win/DbgHelperWin.cpp >+ win/FileSystemWin.cpp >+ win/LanguageWin.cpp >+ win/MainThreadWin.cpp >+ win/MemoryFootprintWin.cpp >+ win/MemoryPressureHandlerWin.cpp >+ win/OSAllocatorWin.cpp >+ win/PathWalker.cpp >+ win/RunLoopWin.cpp >+ win/ThreadSpecificWin.cpp >+ win/ThreadingWin.cpp >+ win/WorkQueueWin.cpp >+) >+ >+set(WTF_OUTPUT_NAME WTF${DEBUG_SUFFIX}) >diff --git a/Source/cmake/OptionsFTW.cmake b/Source/cmake/OptionsFTW.cmake >new file mode 100644 >index 00000000000..ab4841d942c >--- /dev/null >+++ b/Source/cmake/OptionsFTW.cmake >@@ -0,0 +1,97 @@ >+if (CMAKE_VERSION VERSION_LESS 3.14) >+ message(FATAL_ERROR "CMake 3.14 or greater is required to compile WebKitFTW") >+endif () >+ >+if (MSVC_VERSION VERSION_LESS 1920) >+ message(FATAL_ERROR "Visual Studio 2019 is required to compile WebKitFTW") >+endif () >+ >+if (${WTF_CPU_X86}) >+ message(FATAL_ERROR "WebKitFTW does not support 32-bit builds") >+endif () >+ >+set(PORT FTW) >+ >+# Compilation options >+include(OptionsMSVC) >+ >+add_definitions(-DWTF_PLATFORM_FTW=1) >+# Prevent min() and max() macros from being exposed >+add_definitions(-DNOMINMAX) >+# Use unicode >+add_definitions(-DUNICODE -D_UNICODE) >+# If <winsock2.h> is not included before <windows.h> redefinition errors occur >+# unless _WINSOCKAPI_ is defined before <windows.h> is included >+add_definitions(-D_WINSOCKAPI_=) >+ >+# Setup library paths >+if (NOT WEBKIT_LIBRARIES_DIR) >+ if (DEFINED ENV{WEBKIT_LIBRARIES}) >+ file(TO_CMAKE_PATH "$ENV{WEBKIT_LIBRARIES}" WEBKIT_LIBRARIES_DIR) >+ else () >+ file(TO_CMAKE_PATH "${CMAKE_SOURCE_DIR}/WebKitLibraries/win" WEBKIT_LIBRARIES_DIR) >+ endif () >+endif () >+ >+set(CMAKE_PREFIX_PATH ${WEBKIT_LIBRARIES_DIR}) >+ >+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS OFF) >+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON) >+ >+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib64) >+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib64) >+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin64) >+ >+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}") >+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}") >+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") >+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") >+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") >+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") >+ >+WEBKIT_OPTION_BEGIN() >+ >+# Enabled features >+ >+# Experimental features >+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REMOTE_INSPECTOR PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) >+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_RESOURCE_USAGE PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) >+ >+# Features to investigate >+# >+# Features that are temporarily turned off because an implementation is not >+# present at this time >+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTL_JIT PRIVATE OFF) >+ >+# No support planned >+ >+# FIXME: Port bmalloc to Windows. https://bugs.webkit.org/show_bug.cgi?id=143310 >+WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC PRIVATE ON) >+ >+WEBKIT_OPTION_END() >+ >+find_package(ICU REQUIRED COMPONENTS data i18n uc) >+ >+SET_AND_EXPOSE_TO_BUILD(USE_EXPORT_MACROS ON) >+SET_AND_EXPOSE_TO_BUILD(USE_INSPECTOR_SOCKET_SERVER ${ENABLE_REMOTE_INSPECTOR}) >+ >+set(WTF_LIBRARY_TYPE SHARED) >+set(JavaScriptCore_LIBRARY_TYPE SHARED) >+ >+set(ENABLE_API_TESTS OFF) >+set(ENABLE_WEBCORE OFF) >+set(ENABLE_WEBKIT OFF) >+set(ENABLE_WEBKIT_LEGACY OFF) >+ >+# Override headers directories >+set(WTF_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/WTF/Headers) >+set(JavaScriptCore_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/JavaScriptCore/Headers) >+set(JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/JavaScriptCore/PrivateHeaders) >+ >+# Override derived sources directories >+set(WTF_DERIVED_SOURCES_DIR ${CMAKE_BINARY_DIR}/WTF/DerivedSources) >+set(JavaScriptCore_DERIVED_SOURCES_DIR ${CMAKE_BINARY_DIR}/JavaScriptCore/DerivedSources) >+ >+# Override scripts directories >+set(WTF_SCRIPTS_DIR ${CMAKE_BINARY_DIR}/WTF/Scripts) >+set(JavaScriptCore_SCRIPTS_DIR ${CMAKE_BINARY_DIR}/JavaScriptCore/Scripts)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199254
:
372990
| 372991