• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LIST(APPEND WebCore_INCLUDE_DIRECTORIES
2    "${WEBCORE_DIR}/bindings/js"
3    "${WEBCORE_DIR}/bridge/jsc"
4)
5
6LIST(APPEND WebCore_IDL_INCLUDES
7    bindings/js
8)
9
10LIST(APPEND WebCore_SOURCES
11    bindings/js/DOMObjectHashTableMap.cpp
12    bindings/js/DOMWrapperWorld.cpp
13    bindings/js/GCController.cpp
14    bindings/js/IDBBindingUtilities.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/JSCustomPositionCallback.cpp
35    bindings/js/JSCustomPositionErrorCallback.cpp
36    bindings/js/JSCustomSQLStatementErrorCallback.cpp
37    bindings/js/JSCustomVoidCallback.cpp
38    bindings/js/JSCustomXPathNSResolver.cpp
39    bindings/js/JSDOMApplicationCacheCustom.cpp
40    bindings/js/JSDOMBinding.cpp
41    bindings/js/JSDOMFormDataCustom.cpp
42    bindings/js/JSDOMGlobalObject.cpp
43    bindings/js/JSDOMImplementationCustom.cpp
44    bindings/js/JSDOMMimeTypeArrayCustom.cpp
45    bindings/js/JSDOMPluginArrayCustom.cpp
46    bindings/js/JSDOMPluginCustom.cpp
47    bindings/js/JSDOMStringMapCustom.cpp
48    bindings/js/JSDOMWindowBase.cpp
49    bindings/js/JSDOMWindowCustom.cpp
50    bindings/js/JSDOMWindowShell.cpp
51    bindings/js/JSDOMWrapper.cpp
52    bindings/js/JSDataGridColumnListCustom.cpp
53    bindings/js/JSDataGridDataSource.cpp
54    bindings/js/JSDedicatedWorkerContextCustom.cpp
55    bindings/js/JSDeviceMotionEventCustom.cpp
56    bindings/js/JSDeviceOrientationEventCustom.cpp
57    bindings/js/JSDocumentCustom.cpp
58    bindings/js/JSElementCustom.cpp
59    bindings/js/JSErrorHandler.cpp
60    bindings/js/JSEventCustom.cpp
61    bindings/js/JSEventListener.cpp
62    bindings/js/JSEventSourceCustom.cpp
63    bindings/js/JSEventTarget.cpp
64    bindings/js/JSExceptionBase.cpp
65    bindings/js/JSFileReaderCustom.cpp
66    bindings/js/JSFloat32ArrayCustom.cpp
67    bindings/js/JSGeolocationCustom.cpp
68    bindings/js/JSHTMLAllCollectionCustom.cpp
69    bindings/js/JSHTMLAppletElementCustom.cpp
70    bindings/js/JSHTMLCanvasElementCustom.cpp
71    bindings/js/JSHTMLCollectionCustom.cpp
72    bindings/js/JSHTMLDataGridElementCustom.cpp
73    bindings/js/JSHTMLDocumentCustom.cpp
74    bindings/js/JSHTMLElementCustom.cpp
75    bindings/js/JSHTMLEmbedElementCustom.cpp
76    bindings/js/JSHTMLFormElementCustom.cpp
77    bindings/js/JSHTMLFrameElementCustom.cpp
78    bindings/js/JSHTMLFrameSetElementCustom.cpp
79    bindings/js/JSHTMLInputElementCustom.cpp
80    bindings/js/JSHTMLLinkElementCustom.cpp
81    bindings/js/JSHTMLObjectElementCustom.cpp
82    bindings/js/JSHTMLOptionsCollectionCustom.cpp
83    bindings/js/JSHTMLOutputElementCustom.cpp
84    bindings/js/JSHTMLSelectElementCustom.cpp
85    bindings/js/JSHTMLStyleElementCustom.cpp
86    bindings/js/JSHistoryCustom.cpp
87    bindings/js/JSIDBAnyCustom.cpp
88    bindings/js/JSIDBKeyCustom.cpp
89    bindings/js/JSImageConstructor.cpp
90    bindings/js/JSImageDataCustom.cpp
91    bindings/js/JSInt16ArrayCustom.cpp
92    bindings/js/JSInt32ArrayCustom.cpp
93    bindings/js/JSInt8ArrayCustom.cpp
94    bindings/js/JSInjectedScriptHostCustom.cpp
95    bindings/js/JSInjectedScriptManager.cpp
96    bindings/js/JSInspectorFrontendHostCustom.cpp
97    bindings/js/JSJavaScriptCallFrameCustom.cpp
98    bindings/js/JSLazyEventListener.cpp
99    bindings/js/JSLocationCustom.cpp
100    bindings/js/JSMainThreadExecState.cpp
101    bindings/js/JSMemoryInfoCustom.cpp
102    bindings/js/JSMessageChannelCustom.cpp
103    bindings/js/JSMessageEventCustom.cpp
104    bindings/js/JSMessagePortCustom.cpp
105    bindings/js/JSNamedNodeMapCustom.cpp
106    bindings/js/JSNavigatorCustom.cpp
107    bindings/js/JSNodeCustom.cpp
108    bindings/js/JSNodeFilterCondition.cpp
109    bindings/js/JSNodeFilterCustom.cpp
110    bindings/js/JSNodeIteratorCustom.cpp
111    bindings/js/JSNodeListCustom.cpp
112    bindings/js/JSOptionConstructor.cpp
113    bindings/js/JSPluginElementFunctions.cpp
114    bindings/js/JSProcessingInstructionCustom.cpp
115    bindings/js/JSSQLResultSetRowListCustom.cpp
116    bindings/js/JSSQLTransactionCustom.cpp
117    bindings/js/JSSQLTransactionSyncCustom.cpp
118    bindings/js/JSScriptProfileNodeCustom.cpp
119    bindings/js/JSSharedWorkerCustom.cpp
120    bindings/js/JSStorageCustom.cpp
121    bindings/js/JSStyleSheetCustom.cpp
122    bindings/js/JSStyleSheetListCustom.cpp
123    bindings/js/JSTextCustom.cpp
124    bindings/js/JSTouchCustom.cpp
125    bindings/js/JSTouchListCustom.cpp
126    bindings/js/JSTreeWalkerCustom.cpp
127    bindings/js/JSUint16ArrayCustom.cpp
128    bindings/js/JSUint32ArrayCustom.cpp
129    bindings/js/JSUint8ArrayCustom.cpp
130    bindings/js/JSWebKitAnimationCustom.cpp
131    bindings/js/JSWebKitAnimationListCustom.cpp
132    bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp
133    bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp
134    bindings/js/JSWebKitCSSMatrixCustom.cpp
135    bindings/js/JSWebKitPointCustom.cpp
136    bindings/js/JSWebSocketCustom.cpp
137    bindings/js/JSWorkerContextBase.cpp
138    bindings/js/JSWorkerContextCustom.cpp
139    bindings/js/JSWorkerCustom.cpp
140    bindings/js/JSXMLHttpRequestCustom.cpp
141    bindings/js/JSXMLHttpRequestUploadCustom.cpp
142    bindings/js/JSXSLTProcessorCustom.cpp
143    bindings/js/JavaScriptCallFrame.cpp
144    bindings/js/PageScriptDebugServer.cpp
145    bindings/js/ScheduledAction.cpp
146    bindings/js/ScriptCachedFrameData.cpp
147    bindings/js/ScriptCallStackFactory.cpp
148    bindings/js/ScriptController.cpp
149    bindings/js/ScriptDebugServer.cpp
150    bindings/js/ScriptEventListener.cpp
151    bindings/js/ScriptFunctionCall.cpp
152    bindings/js/ScriptGCEvent.cpp
153    bindings/js/ScriptObject.cpp
154    bindings/js/ScriptProfile.cpp
155    bindings/js/ScriptProfiler.cpp
156    bindings/js/ScriptState.cpp
157    bindings/js/ScriptValue.cpp
158    bindings/js/SerializedScriptValue.cpp
159    bindings/js/WorkerScriptController.cpp
160    bindings/js/WorkerScriptDebugServer.cpp
161
162    bridge/IdentifierRep.cpp
163    bridge/NP_jsobject.cpp
164    bridge/npruntime.cpp
165    bridge/runtime_array.cpp
166    bridge/runtime_method.cpp
167    bridge/runtime_object.cpp
168    bridge/runtime_root.cpp
169
170    bridge/c/CRuntimeObject.cpp
171    bridge/c/c_class.cpp
172    bridge/c/c_instance.cpp
173    bridge/c/c_runtime.cpp
174    bridge/c/c_utility.cpp
175
176    bridge/jsc/BridgeJSC.cpp
177)
178
179LIST(APPEND SCRIPTS_BINDINGS
180    ${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
181)
182
183SET(IDL_INCLUDES "")
184FOREACH (_include ${WebCore_IDL_INCLUDES})
185    LIST(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include})
186ENDFOREACH ()
187
188SET(FEATURE_DEFINES_JAVASCRIPT "LANGUAGE_JAVASCRIPT=1")
189FOREACH (_feature ${FEATURE_DEFINES})
190    SET(FEATURE_DEFINES_JAVASCRIPT "${FEATURE_DEFINES_JAVASCRIPT} ${_feature}")
191ENDFOREACH ()
192
193# Create JavaScript C++ code given an IDL input
194FOREACH (_file ${WebCore_IDL_FILES})
195    GET_FILENAME_COMPONENT (_name ${_file} NAME_WE)
196    ADD_CUSTOM_COMMAND(
197        OUTPUT  ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.h
198        MAIN_DEPENDENCY ${_file}
199        DEPENDS ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl ${SCRIPTS_BINDINGS} ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm ${_file}
200        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}
201        VERBATIM)
202    LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.cpp)
203ENDFOREACH ()
204