initial import
[vuplus_webkit] / Source / WebCore / UseJSC.cmake
1 LIST(APPEND WebCore_INCLUDE_DIRECTORIES
2     "${WEBCORE_DIR}/bindings/js"
3     "${WEBCORE_DIR}/bridge/jsc"
4 )
5
6 LIST(APPEND WebCore_IDL_INCLUDES
7     bindings/js
8 )
9
10 LIST(APPEND WebCore_SOURCES
11     bindings/js/CallbackFunction.cpp
12     bindings/js/DOMObjectHashTableMap.cpp
13     bindings/js/DOMWrapperWorld.cpp
14     bindings/js/GCController.cpp
15     bindings/js/JSAttrCustom.cpp
16     bindings/js/JSArrayBufferCustom.cpp
17     bindings/js/JSDataViewCustom.cpp
18     bindings/js/JSCDATASectionCustom.cpp
19     bindings/js/JSCSSFontFaceRuleCustom.cpp
20     bindings/js/JSCSSImportRuleCustom.cpp
21     bindings/js/JSCSSMediaRuleCustom.cpp
22     bindings/js/JSCSSPageRuleCustom.cpp
23     bindings/js/JSCSSRuleCustom.cpp
24     bindings/js/JSCSSRuleListCustom.cpp
25     bindings/js/JSCSSStyleDeclarationCustom.cpp
26     bindings/js/JSCSSStyleRuleCustom.cpp
27     bindings/js/JSCSSValueCustom.cpp
28     bindings/js/JSCallbackData.cpp
29     bindings/js/JSCanvasRenderingContext2DCustom.cpp
30     bindings/js/JSCanvasRenderingContextCustom.cpp
31     bindings/js/JSClipboardCustom.cpp
32     bindings/js/JSConsoleCustom.cpp
33     bindings/js/JSCoordinatesCustom.cpp
34     bindings/js/JSCustomVoidCallback.cpp
35     bindings/js/JSDictionary.cpp
36     bindings/js/JSDOMBinding.cpp
37     bindings/js/JSDOMFormDataCustom.cpp
38     bindings/js/JSDOMGlobalObject.cpp
39     bindings/js/JSDOMImplementationCustom.cpp
40     bindings/js/JSDOMMimeTypeArrayCustom.cpp
41     bindings/js/JSDOMPluginArrayCustom.cpp
42     bindings/js/JSDOMPluginCustom.cpp
43     bindings/js/JSDOMStringMapCustom.cpp
44     bindings/js/JSDOMTokenListCustom.cpp
45     bindings/js/JSDOMWindowBase.cpp
46     bindings/js/JSDOMWindowCustom.cpp
47     bindings/js/JSDOMWindowShell.cpp
48     bindings/js/JSDOMWrapper.cpp
49     bindings/js/JSDeviceMotionEventCustom.cpp
50     bindings/js/JSDeviceOrientationEventCustom.cpp
51     bindings/js/JSDocumentCustom.cpp
52     bindings/js/JSElementCustom.cpp
53     bindings/js/JSErrorHandler.cpp
54     bindings/js/JSEventConstructors.cpp
55     bindings/js/JSEventCustom.cpp
56     bindings/js/JSEventListener.cpp
57     bindings/js/JSEventSourceCustom.cpp
58     bindings/js/JSEventTarget.cpp
59     bindings/js/JSExceptionBase.cpp
60     bindings/js/JSFloat32ArrayCustom.cpp
61     bindings/js/JSFloat64ArrayCustom.cpp
62     bindings/js/JSGeolocationCustom.cpp
63     bindings/js/JSHTMLAllCollectionCustom.cpp
64     bindings/js/JSHTMLAppletElementCustom.cpp
65     bindings/js/JSHTMLCanvasElementCustom.cpp
66     bindings/js/JSHTMLCollectionCustom.cpp
67     bindings/js/JSHTMLDocumentCustom.cpp
68     bindings/js/JSHTMLElementCustom.cpp
69     bindings/js/JSHTMLEmbedElementCustom.cpp
70     bindings/js/JSHTMLFormElementCustom.cpp
71     bindings/js/JSHTMLFrameElementCustom.cpp
72     bindings/js/JSHTMLFrameSetElementCustom.cpp
73     bindings/js/JSHTMLInputElementCustom.cpp
74     bindings/js/JSHTMLLinkElementCustom.cpp
75     bindings/js/JSHTMLObjectElementCustom.cpp
76     bindings/js/JSHTMLOptionsCollectionCustom.cpp
77     bindings/js/JSHTMLOutputElementCustom.cpp
78     bindings/js/JSHTMLSelectElementCustom.cpp
79     bindings/js/JSHTMLStyleElementCustom.cpp
80     bindings/js/JSHistoryCustom.cpp
81     bindings/js/JSImageConstructor.cpp
82     bindings/js/JSImageDataCustom.cpp
83     bindings/js/JSInt16ArrayCustom.cpp
84     bindings/js/JSInt32ArrayCustom.cpp
85     bindings/js/JSInt8ArrayCustom.cpp
86     bindings/js/JSInjectedScriptHostCustom.cpp
87     bindings/js/JSInjectedScriptManager.cpp
88     bindings/js/JSInspectorFrontendHostCustom.cpp
89     bindings/js/JSJavaScriptCallFrameCustom.cpp
90     bindings/js/JSLazyEventListener.cpp
91     bindings/js/JSLocationCustom.cpp
92     bindings/js/JSMainThreadExecState.cpp
93     bindings/js/JSMediaListCustom.cpp
94     bindings/js/JSMemoryInfoCustom.cpp
95     bindings/js/JSMessageChannelCustom.cpp
96     bindings/js/JSMessageEventCustom.cpp
97     bindings/js/JSMessagePortCustom.cpp
98     bindings/js/JSNamedNodeMapCustom.cpp
99     bindings/js/JSNavigatorCustom.cpp
100     bindings/js/JSNodeCustom.cpp
101     bindings/js/JSNodeFilterCondition.cpp
102     bindings/js/JSNodeFilterCustom.cpp
103     bindings/js/JSNodeIteratorCustom.cpp
104     bindings/js/JSNodeListCustom.cpp
105     bindings/js/JSOptionConstructor.cpp
106     bindings/js/JSPeerConnectionCustom.cpp
107     bindings/js/JSPluginElementFunctions.cpp
108     bindings/js/JSProcessingInstructionCustom.cpp
109     bindings/js/JSScriptProfileNodeCustom.cpp
110     bindings/js/JSStyleSheetCustom.cpp
111     bindings/js/JSStyleSheetListCustom.cpp
112     bindings/js/JSTextCustom.cpp
113     bindings/js/JSTouchCustom.cpp
114     bindings/js/JSTouchListCustom.cpp
115     bindings/js/JSTreeWalkerCustom.cpp
116     bindings/js/JSUint16ArrayCustom.cpp 
117     bindings/js/JSUint32ArrayCustom.cpp
118     bindings/js/JSUint8ArrayCustom.cpp
119     bindings/js/JSWebKitAnimationCustom.cpp
120     bindings/js/JSWebKitAnimationListCustom.cpp
121     bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp
122     bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp
123     bindings/js/JSWebKitCSSMatrixCustom.cpp
124     bindings/js/JSWebKitPointCustom.cpp
125     bindings/js/JSXMLHttpRequestCustom.cpp
126     bindings/js/JSXMLHttpRequestUploadCustom.cpp
127     bindings/js/JSXSLTProcessorCustom.cpp
128     bindings/js/JavaScriptCallFrame.cpp
129     bindings/js/PageScriptDebugServer.cpp
130     bindings/js/ScheduledAction.cpp
131     bindings/js/ScriptCachedFrameData.cpp
132     bindings/js/ScriptCallStackFactory.cpp
133     bindings/js/ScriptController.cpp
134     bindings/js/ScriptDebugServer.cpp
135     bindings/js/ScriptEventListener.cpp
136     bindings/js/ScriptFunctionCall.cpp
137     bindings/js/ScriptGCEvent.cpp
138     bindings/js/ScriptObject.cpp
139     bindings/js/ScriptProfile.cpp
140     bindings/js/ScriptProfiler.cpp
141     bindings/js/ScriptState.cpp
142     bindings/js/ScriptValue.cpp
143     bindings/js/SerializedScriptValue.cpp
144
145     bridge/IdentifierRep.cpp
146     bridge/NP_jsobject.cpp
147     bridge/npruntime.cpp
148     bridge/runtime_array.cpp
149     bridge/runtime_method.cpp
150     bridge/runtime_object.cpp
151     bridge/runtime_root.cpp
152
153     bridge/c/CRuntimeObject.cpp
154     bridge/c/c_class.cpp
155     bridge/c/c_instance.cpp
156     bridge/c/c_runtime.cpp
157     bridge/c/c_utility.cpp
158
159     bridge/jsc/BridgeJSC.cpp
160 )
161
162 IF (ENABLE_BLOB)
163     LIST(APPEND WebCore_SOURCES
164         bindings/js/JSFileReaderCustom.cpp
165     )
166 ENDIF ()
167
168 IF (ENABLE_DATABASE)
169     LIST(APPEND WebCore_SOURCES
170         bindings/js/JSCustomSQLStatementErrorCallback.cpp
171         bindings/js/JSSQLResultSetRowListCustom.cpp
172         bindings/js/JSSQLTransactionCustom.cpp
173         bindings/js/JSSQLTransactionSyncCustom.cpp
174     )
175 ENDIF ()
176
177 IF (ENABLE_DOM_STORAGE)
178     LIST(APPEND WebCore_SOURCES
179         bindings/js/JSStorageCustom.cpp
180     )
181 ENDIF ()
182
183 IF (ENABLE_INDEXED_DATABASE)
184     LIST(APPEND WebCore_SOURCES
185         bindings/js/IDBBindingUtilities.cpp
186         bindings/js/JSIDBAnyCustom.cpp
187         bindings/js/JSIDBKeyCustom.cpp
188     )
189 ENDIF ()
190
191 IF (ENABLE_WEB_SOCKETS)
192     LIST(APPEND WebCore_SOURCES
193         bindings/js/JSWebSocketCustom.cpp
194     )
195 ENDIF ()
196
197 IF (ENABLE_WORKERS)
198     LIST(APPEND WebCore_SOURCES
199         bindings/js/JSDedicatedWorkerContextCustom.cpp
200         bindings/js/JSWorkerContextBase.cpp
201         bindings/js/JSWorkerContextCustom.cpp
202         bindings/js/JSWorkerCustom.cpp
203         bindings/js/WorkerScriptController.cpp
204         bindings/js/WorkerScriptDebugServer.cpp
205     )
206 ENDIF ()
207
208 IF (ENABLE_SHARED_WORKERS)
209     LIST(APPEND WebCore_SOURCES
210         bindings/js/JSSharedWorkerCustom.cpp
211     )
212 ENDIF ()
213
214 IF (ENABLE_OFFLINE_WEB_APPLICATIONS)
215     LIST(APPEND WebCore_SOURCES
216         bindings/js/JSDOMApplicationCacheCustom.cpp
217     )
218 ENDIF ()
219
220 IF (ENABLE_XPATH)
221     LIST(APPEND WebCore_SOURCES
222         bindings/js/JSCustomXPathNSResolver.cpp
223         bindings/js/JSXPathResultCustom.cpp
224     )
225 ENDIF ()
226
227
228 IF (ENABLE_NOTIFICATIONS)
229     LIST(APPEND WebCore_SOURCES
230         bindings/js/JSDesktopNotificationsCustom.cpp
231     )
232 ENDIF ()
233
234 if (ENABLE_FILE_SYSTEM)
235     LIST(APPEND WebCore_SOURCES
236         bindings/js/JSDirectoryEntryCustom.cpp
237         bindings/js/JSDirectoryEntrySyncCustom.cpp
238         bindings/js/JSEntryCustom.cpp
239         bindings/js/JSEntrySyncCustom.cpp
240     )
241 ENDIF ()
242
243 IF (ENABLE_SVG)
244     LIST(APPEND WebCore_SOURCES
245         bindings/js/JSSVGElementInstanceCustom.cpp
246         bindings/js/JSSVGLengthCustom.cpp
247         bindings/js/JSSVGPathSegCustom.cpp
248     )
249 ENDIF ()
250
251 IF (ENABLE_VIDEO)
252     LIST(APPEND WebCore_SOURCES
253         bindings/js/JSAudioConstructor.cpp
254     )
255 ENDIF ()
256
257 IF (ENABLE_MEDIA_STREAM)
258     LIST(APPEND WebCore_SOURCES
259         bindings/js/JSNavigatorCustom.cpp
260     )
261 ENDIF ()
262
263 IF (ENABLE_WEBGL)
264     LIST(APPEND WebCore_SOURCES
265         bindings/js/JSWebGLRenderingContextCustom.cpp
266     )
267 ENDIF ()
268
269 LIST(APPEND SCRIPTS_BINDINGS
270     ${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
271 )
272
273 SET(IDL_INCLUDES "")
274 FOREACH (_include ${WebCore_IDL_INCLUDES})
275     LIST(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include})
276 ENDFOREACH ()
277
278 SET(FEATURE_DEFINES_JAVASCRIPT "LANGUAGE_JAVASCRIPT=1")
279 FOREACH (_feature ${FEATURE_DEFINES})
280     SET(FEATURE_DEFINES_JAVASCRIPT "${FEATURE_DEFINES_JAVASCRIPT} ${_feature}")
281 ENDFOREACH ()
282
283 # Create JavaScript C++ code given an IDL input
284 FOREACH (_file ${WebCore_IDL_FILES})
285     GET_FILENAME_COMPONENT (_name ${_file} NAME_WE)
286     ADD_CUSTOM_COMMAND(
287         OUTPUT  ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.h
288         MAIN_DEPENDENCY ${_file}
289         DEPENDS ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl ${SCRIPTS_BINDINGS} ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm ${_file}
290         COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --generator JS ${IDL_INCLUDES} --outputDir "${DERIVED_SOURCES_WEBCORE_DIR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${WEBCORE_DIR}/${_file}
291         VERBATIM)
292     LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.cpp)
293 ENDFOREACH ()