blob: 32e7a10b09e296f094e5d8e724290dd2c767de4c [file] [log] [blame]
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +00001ADD_DEFINITIONS(-DUSING_V8_SHARED)
2ADD_DEFINITIONS(-DWTF_CHANGES=1)
3
4LIST(APPEND WebCore_INCLUDE_DIRECTORIES
5 "${WEBCORE_DIR}/bindings/v8"
6 "${WEBCORE_DIR}/bindings/v8/custom"
7 "${WEBCORE_DIR}/bindings/v8/specialization"
8 "${JAVASCRIPTCORE_DIR}/runtime"
9)
10
paroga@webkit.org3903e752012-03-05 21:02:31 +000011LIST(APPEND WebCoreTestSupport_INCLUDE_DIRECTORIES
12 "${WEBCORE_DIR}/testing/v8"
13)
14
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000015LIST(APPEND WebCore_IDL_INCLUDES
16 bindings/v8
17)
18
19LIST(APPEND WebCore_SOURCES
20 bindings/v8/DOMData.cpp
21 bindings/v8/DOMDataStore.cpp
22 bindings/v8/DOMWrapperWorld.cpp
23 bindings/v8/DateExtension.cpp
24 bindings/v8/IDBBindingUtilities.cpp
commit-queue@webkit.org17d70492012-06-13 20:29:50 +000025 bindings/v8/IDBCustomBindings.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000026 bindings/v8/IsolatedWorld.cpp
haraken@chromium.org41ebc052012-03-13 08:48:36 +000027 bindings/v8/Dictionary.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000028 bindings/v8/PageScriptDebugServer.cpp
29 bindings/v8/RetainedDOMInfo.cpp
30 bindings/v8/ScheduledAction.cpp
31 bindings/v8/ScopedDOMDataStore.cpp
32 bindings/v8/ScriptCachedFrameData.cpp
33 bindings/v8/ScriptCallStackFactory.cpp
34 bindings/v8/ScriptController.cpp
35 bindings/v8/ScriptEventListener.cpp
36 bindings/v8/ScriptFunctionCall.cpp
37 bindings/v8/ScriptGCEvent.cpp
38 bindings/v8/ScriptInstance.cpp
39 bindings/v8/ScriptObject.cpp
40 bindings/v8/ScriptScope.cpp
41 bindings/v8/ScriptState.cpp
42 bindings/v8/ScriptValue.cpp
43 bindings/v8/SerializedScriptValue.cpp
44 bindings/v8/StaticDOMDataStore.cpp
45 bindings/v8/V8AbstractEventListener.cpp
46 bindings/v8/V8Binding.cpp
47 bindings/v8/V8Collection.cpp
48 bindings/v8/V8DOMMap.cpp
49 bindings/v8/V8DOMWindowShell.cpp
50 bindings/v8/V8DOMWrapper.cpp
51 bindings/v8/V8EventListener.cpp
52 bindings/v8/V8EventListenerList.cpp
53 bindings/v8/V8GCController.cpp
54 bindings/v8/V8GCForContextDispose.cpp
55 bindings/v8/V8Helpers.cpp
56 bindings/v8/V8HiddenPropertyName.cpp
57 bindings/v8/V8IsolatedContext.cpp
58 bindings/v8/V8LazyEventListener.cpp
59 bindings/v8/V8NodeFilterCondition.cpp
60 bindings/v8/V8Proxy.cpp
adamk@chromium.org7c5f4b52011-12-06 00:33:28 +000061 bindings/v8/V8RecursionScope.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000062 bindings/v8/V8Utilities.cpp
63 bindings/v8/V8WindowErrorHandler.cpp
64 bindings/v8/V8WorkerContextErrorHandler.cpp
65 bindings/v8/V8WorkerContextEventListener.cpp
66 bindings/v8/WorkerContextExecutionProxy.cpp
67 bindings/v8/WorkerScriptController.cpp
68 bindings/v8/WorkerScriptDebugServer.cpp
69 bindings/v8/WorldContextHandle.cpp
70 bindings/v8/npruntime.cpp
71
72 bindings/v8/custom/V8ArrayBufferCustom.cpp
73 bindings/v8/custom/V8ArrayBufferViewCustom.cpp
74 bindings/v8/custom/V8AudioContextCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000075 bindings/v8/custom/V8CSSRuleCustom.cpp
76 bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000077 bindings/v8/custom/V8CSSValueCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000078 bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
79 bindings/v8/custom/V8ClipboardCustom.cpp
80 bindings/v8/custom/V8ConsoleCustom.cpp
81 bindings/v8/custom/V8CoordinatesCustom.cpp
82 bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp
83 bindings/v8/custom/V8CustomVoidCallback.cpp
84 bindings/v8/custom/V8CustomXPathNSResolver.cpp
85 bindings/v8/custom/V8DOMFormDataCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000086 bindings/v8/custom/V8DOMStringMapCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000087 bindings/v8/custom/V8DOMWindowCustom.cpp
88 bindings/v8/custom/V8DataViewCustom.cpp
89 bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp
90 bindings/v8/custom/V8DeviceMotionEventCustom.cpp
91 bindings/v8/custom/V8DeviceOrientationEventCustom.cpp
92 bindings/v8/custom/V8DirectoryEntryCustom.cpp
93 bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp
94 bindings/v8/custom/V8DocumentCustom.cpp
95 bindings/v8/custom/V8DocumentLocationCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +000096 bindings/v8/custom/V8EntrySyncCustom.cpp
97 bindings/v8/custom/V8EventConstructors.cpp
98 bindings/v8/custom/V8EventCustom.cpp
99 bindings/v8/custom/V8FileReaderCustom.cpp
100 bindings/v8/custom/V8Float32ArrayCustom.cpp
101 bindings/v8/custom/V8Float64ArrayCustom.cpp
102 bindings/v8/custom/V8GeolocationCustom.cpp
103 bindings/v8/custom/V8HTMLAllCollectionCustom.cpp
104 bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
105 bindings/v8/custom/V8HTMLCollectionCustom.cpp
106 bindings/v8/custom/V8HTMLDocumentCustom.cpp
107 bindings/v8/custom/V8HTMLElementCustom.cpp
108 bindings/v8/custom/V8HTMLFormElementCustom.cpp
109 bindings/v8/custom/V8HTMLFrameElementCustom.cpp
110 bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp
111 bindings/v8/custom/V8HTMLImageElementConstructor.cpp
112 bindings/v8/custom/V8HTMLInputElementCustom.cpp
113 bindings/v8/custom/V8HTMLLinkElementCustom.cpp
114 bindings/v8/custom/V8HTMLOptionElementConstructor.cpp
115 bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
116 bindings/v8/custom/V8HTMLOutputElementCustom.cpp
117 bindings/v8/custom/V8HTMLPlugInElementCustom.cpp
118 bindings/v8/custom/V8HTMLSelectElementCustom.cpp
119 bindings/v8/custom/V8HistoryCustom.cpp
120 bindings/v8/custom/V8IDBAnyCustom.cpp
121 bindings/v8/custom/V8IDBKeyCustom.cpp
122 bindings/v8/custom/V8ImageDataCustom.cpp
123 bindings/v8/custom/V8InjectedScriptHostCustom.cpp
124 bindings/v8/custom/V8InjectedScriptManager.cpp
125 bindings/v8/custom/V8InspectorFrontendHostCustom.cpp
126 bindings/v8/custom/V8Int16ArrayCustom.cpp
127 bindings/v8/custom/V8Int32ArrayCustom.cpp
128 bindings/v8/custom/V8Int8ArrayCustom.cpp
129 bindings/v8/custom/V8LocationCustom.cpp
130 bindings/v8/custom/V8MessageChannelConstructor.cpp
131 bindings/v8/custom/V8MessageEventCustom.cpp
132 bindings/v8/custom/V8MessagePortCustom.cpp
commit-queue@webkit.org047ecc82012-04-06 16:39:32 +0000133 bindings/v8/custom/V8MutationCallbackCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +0000134 bindings/v8/custom/V8NamedNodeMapCustom.cpp
135 bindings/v8/custom/V8NamedNodesCollection.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +0000136 bindings/v8/custom/V8NodeCustom.cpp
137 bindings/v8/custom/V8NodeListCustom.cpp
jonlee@apple.come7896a92012-05-03 07:06:43 +0000138 bindings/v8/custom/V8NotificationCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +0000139 bindings/v8/custom/V8NotificationCenterCustom.cpp
140 bindings/v8/custom/V8PerformanceCustom.cpp
simonjam@chromium.org0c0aa712012-06-21 21:15:19 +0000141 bindings/v8/custom/V8PerformanceEntryCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +0000142 bindings/v8/custom/V8PopStateEventCustom.cpp
143 bindings/v8/custom/V8SQLResultSetRowListCustom.cpp
144 bindings/v8/custom/V8SQLTransactionCustom.cpp
145 bindings/v8/custom/V8SQLTransactionSyncCustom.cpp
146 bindings/v8/custom/V8StorageCustom.cpp
147 bindings/v8/custom/V8StyleSheetCustom.cpp
148 bindings/v8/custom/V8StyleSheetListCustom.cpp
149 bindings/v8/custom/V8Uint16ArrayCustom.cpp
150 bindings/v8/custom/V8Uint32ArrayCustom.cpp
151 bindings/v8/custom/V8Uint8ArrayCustom.cpp
152 bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
153 bindings/v8/custom/V8WebKitAnimationCustom.cpp
adamk@chromium.org563e0de2012-02-11 00:06:53 +0000154 bindings/v8/custom/V8WebKitMutationObserverCustom.cpp
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +0000155 bindings/v8/custom/V8WebKitPointConstructor.cpp
156 bindings/v8/custom/V8WebSocketCustom.cpp
157 bindings/v8/custom/V8WorkerContextCustom.cpp
158 bindings/v8/custom/V8WorkerCustom.cpp
159 bindings/v8/custom/V8XMLHttpRequestConstructor.cpp
160 bindings/v8/custom/V8XMLHttpRequestCustom.cpp
161 bindings/v8/custom/V8XSLTProcessorCustom.cpp
162
163 bindings/v8/specialization/V8BindingState.cpp
164)
165
paroga@webkit.org3903e752012-03-05 21:02:31 +0000166LIST(APPEND WebCoreTestSupport_SOURCES
paroga@webkit.org3903e752012-03-05 21:02:31 +0000167 testing/v8/WebCoreTestSupport.cpp
168)
169
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +0000170LIST(APPEND WebCore_SOURCES
171 ${JAVASCRIPTCORE_DIR}/yarr/YarrInterpreter.cpp
172 ${JAVASCRIPTCORE_DIR}/yarr/YarrJIT.cpp
173 ${JAVASCRIPTCORE_DIR}/yarr/YarrPattern.cpp
174 ${JAVASCRIPTCORE_DIR}/yarr/YarrSyntaxChecker.cpp
175)
176
177IF (ENABLE_JAVASCRIPT_DEBUGGER)
178 LIST(APPEND WebCore_SOURCES
179 bindings/v8/JavaScriptCallFrame.cpp
180 bindings/v8/ScriptDebugServer.cpp
181 bindings/v8/ScriptHeapSnapshot.cpp
182 bindings/v8/ScriptProfile.cpp
183 bindings/v8/ScriptProfileNode.cpp
184 bindings/v8/ScriptProfiler.cpp
185
186 bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp
187 bindings/v8/custom/V8ScriptProfileCustom.cpp
188 bindings/v8/custom/V8ScriptProfileNodeCustom.cpp
189 )
190ENDIF ()
191
192IF (ENABLE_NETSCAPE_PLUGIN_API)
193 LIST(APPEND WebCore_SOURCES
194 bindings/v8/NPV8Object.cpp
195 bindings/v8/V8NPObject.cpp
196 bindings/v8/V8NPUtils.cpp
197 )
198ENDIF()
199
200IF (ENABLE_VIDEO)
201 LIST(APPEND WebCore_SOURCES
202 bindings/v8/custom/V8HTMLAudioElementConstructor.cpp
203 )
204ENDIF ()
205
206IF (ENABLE_SVG)
207 LIST(APPEND WebCore_SOURCES
208 bindings/v8/custom/V8SVGDocumentCustom.cpp
209 bindings/v8/custom/V8SVGElementCustom.cpp
210 bindings/v8/custom/V8SVGLengthCustom.cpp
211 bindings/v8/custom/V8SVGPathSegCustom.cpp
212 )
213ENDIF ()
214
215LIST(APPEND SCRIPTS_BINDINGS
216 ${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
217)
218
219SET(IDL_INCLUDES "")
220FOREACH (_include ${WebCore_IDL_INCLUDES})
221 LIST(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include})
222ENDFOREACH ()
223
paroga@webkit.org3903e752012-03-05 21:02:31 +0000224FOREACH (_include ${WebCoreTestSupport_IDL_INCLUDES})
225 LIST(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include})
226ENDFOREACH ()
227
commit-queue@webkit.org27a3b682011-11-14 12:20:19 +0000228SET(FEATURE_DEFINES_JAVASCRIPT "LANGUAGE_JAVASCRIPT=1 V8_BINDING=1")
229FOREACH (_feature ${FEATURE_DEFINES})
230 SET(FEATURE_DEFINES_JAVASCRIPT "${FEATURE_DEFINES_JAVASCRIPT} ${_feature}")
231ENDFOREACH ()
232
233# Generate DebuggerScriptSource.h
234ADD_CUSTOM_COMMAND(
235 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/DebuggerScriptSource.h
236 MAIN_DEPENDENCY ${WEBCORE_DIR}/bindings/v8/DebuggerScript.js
237 DEPENDS ${WEBCORE_DIR}/inspector/xxd.pl
238 COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/inspector/xxd.pl DebuggerScriptSource_js ${WEBCORE_DIR}/bindings/v8/DebuggerScript.js ${DERIVED_SOURCES_WEBCORE_DIR}/DebuggerScriptSource.h
239 VERBATIM)
240LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/DebuggerScriptSource.h)
241
242#GENERATOR: "RegExpJitTables.h": tables used by Yarr
243ADD_CUSTOM_COMMAND(
244 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/RegExpJitTables.h
245 MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/create_regex_tables
246 COMMAND ${PYTHON_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/create_regex_tables > ${DERIVED_SOURCES_WEBCORE_DIR}/RegExpJitTables.h
247 VERBATIM)
248ADD_SOURCE_DEPENDENCIES(${JAVASCRIPTCORE_DIR}/yarr/YarrPattern.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/RegExpJitTables.h)
249
250# Generate V8ArrayBufferViewCustomScript.h
251ADD_CUSTOM_COMMAND(
252 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/V8ArrayBufferViewCustomScript.h
253 MAIN_DEPENDENCY ${WEBCORE_DIR}/bindings/v8/custom/V8ArrayBufferViewCustomScript.js
254 DEPENDS ${WEBCORE_DIR}/inspector/xxd.pl
255 COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/inspector/xxd.pl V8ArrayBufferViewCustomScript_js ${WEBCORE_DIR}/bindings/v8/custom/V8ArrayBufferViewCustomScript.js ${DERIVED_SOURCES_WEBCORE_DIR}/V8ArrayBufferViewCustomScript.h
256 VERBATIM)
257LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/V8ArrayBufferViewCustomScript.h)
258
259# Create JavaScript C++ code given an IDL input
haraken@chromium.org92cbf362011-12-31 01:10:47 +0000260FOREACH (_idl ${WebCore_IDL_FILES})
261 SET(IDL_FILES_LIST "${IDL_FILES_LIST}${WEBCORE_DIR}/${_idl}\n")
262ENDFOREACH ()
paroga@webkit.org3903e752012-03-05 21:02:31 +0000263
264FOREACH (_idl ${WebCoreTestSupport_IDL_FILES})
265 SET(IDL_FILES_LIST "${IDL_FILES_LIST}${WEBCORE_DIR}/${_idl}\n")
266ENDFOREACH ()
267
haraken@chromium.org92cbf362011-12-31 01:10:47 +0000268FILE(WRITE ${IDL_FILES_TMP} ${IDL_FILES_LIST})
269
270ADD_CUSTOM_COMMAND(
271 OUTPUT ${SUPPLEMENTAL_DEPENDENCY_FILE}
paroga@webkit.org3903e752012-03-05 21:02:31 +0000272 DEPENDS ${WEBCORE_DIR}/bindings/scripts/preprocess-idls.pl ${SCRIPTS_PREPROCESS_IDLS} ${WebCore_IDL_FILES} ${WebCoreTestSupport_IDL_FILES} ${IDL_ATTRIBUTES_FILE}
haraken@chromium.orgd7c50282012-02-28 00:07:01 +0000273 COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/preprocess-idls.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --idlFilesList ${IDL_FILES_TMP} --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --supplementalDependencyFile ${SUPPLEMENTAL_DEPENDENCY_FILE} --idlAttributesFile ${IDL_ATTRIBUTES_FILE}
haraken@chromium.org92cbf362011-12-31 01:10:47 +0000274 VERBATIM)
275
ryuan.choi@samsung.com9d83d8d2012-07-04 15:25:35 +0000276GENERATE_BINDINGS(WebCore_SOURCES
277 "${WebCore_IDL_FILES}"
278 "${WEBCORE_DIR}"
279 "${IDL_INCLUDES}"
280 "${FEATURE_DEFINES_JAVASCRIPT}"
281 ${DERIVED_SOURCES_WEBCORE_DIR} V8 V8
282 ${SUPPLEMENTAL_DEPENDENCY_FILE})
paroga@webkit.org3903e752012-03-05 21:02:31 +0000283
ryuan.choi@samsung.com9d83d8d2012-07-04 15:25:35 +0000284GENERATE_BINDINGS(WebCoreTestSupport_SOURCES
285 "${WebCoreTestSupport_IDL_FILES}"
286 "${WEBCORE_DIR}"
287 "${IDL_INCLUDES}"
288 "${FEATURE_DEFINES_JAVASCRIPT}"
289 ${DERIVED_SOURCES_WEBCORE_DIR} V8 V8
290 ${SUPPLEMENTAL_DEPENDENCY_FILE})