Hoist JSVALUE32_64 arithmetic implementations into a separate file.
[WebKit-https.git] / JavaScriptCore / GNUmakefile.am
1 javascriptcore_cppflags += \
2         -I$(srcdir)/JavaScriptCore \
3         -I$(srcdir)/JavaScriptCore/API \
4         -I$(srcdir)/JavaScriptCore/ForwardingHeaders \
5         -I$(srcdir)/JavaScriptCore/interpreter \
6         -I$(srcdir)/JavaScriptCore/bytecode \
7         -I$(srcdir)/JavaScriptCore/bytecompiler \
8         -I$(srcdir)/JavaScriptCore/debugger \
9         -I$(srcdir)/JavaScriptCore/jit \
10         -I$(srcdir)/JavaScriptCore/pcre \
11         -I$(srcdir)/JavaScriptCore/profiler \
12         -I$(srcdir)/JavaScriptCore/runtime \
13         -I$(srcdir)/JavaScriptCore/jit \
14         -I$(srcdir)/JavaScriptCore/assembler \
15         -I$(srcdir)/JavaScriptCore/wtf \
16         -I$(srcdir)/JavaScriptCore/wtf/text \
17         -I$(srcdir)/JavaScriptCore/wtf/unicode \
18         -I$(srcdir)/JavaScriptCore/yarr \
19         -I$(top_builddir)/JavaScriptCore \
20         -I$(top_builddir)/JavaScriptCore/pcre \
21         -I$(top_builddir)/JavaScriptCore/parser \
22         -I$(top_builddir)/JavaScriptCore/runtime
23
24 javascriptcore_h_api += \
25         JavaScriptCore/API/JSBase.h \
26         JavaScriptCore/API/JSContextRef.h \
27         JavaScriptCore/API/JSObjectRef.h \
28         JavaScriptCore/API/JSStringRef.h \
29         JavaScriptCore/API/JSStringRefBSTR.h \
30         JavaScriptCore/API/JSStringRefCF.h \
31         JavaScriptCore/API/JSValueRef.h \
32         JavaScriptCore/API/JavaScript.h \
33         JavaScriptCore/API/JavaScriptCore.h \
34         JavaScriptCore/API/WebKitAvailability.h
35
36 javascriptcore_built_nosources += \
37         DerivedSources/Lexer.lut.h \
38         JavaScriptCore/RegExpJitTables.h \
39         JavaScriptCore/runtime/ArrayPrototype.lut.h \
40         JavaScriptCore/runtime/DatePrototype.lut.h \
41         JavaScriptCore/runtime/JSONObject.lut.h \
42         JavaScriptCore/runtime/MathObject.lut.h \
43         JavaScriptCore/runtime/NumberConstructor.lut.h \
44         JavaScriptCore/runtime/RegExpConstructor.lut.h \
45         JavaScriptCore/runtime/RegExpObject.lut.h \
46         JavaScriptCore/runtime/StringPrototype.lut.h \
47         JavaScriptCore/pcre/chartables.c
48
49 javascriptcore_sources += \
50         JavaScriptCore/API/APICast.h \
51         JavaScriptCore/API/APIShims.h \
52         JavaScriptCore/API/JSBase.cpp \
53         JavaScriptCore/API/JSBasePrivate.h \
54         JavaScriptCore/API/JSCallbackConstructor.cpp \
55         JavaScriptCore/API/JSCallbackConstructor.h \
56         JavaScriptCore/API/JSCallbackFunction.cpp \
57         JavaScriptCore/API/JSCallbackFunction.h \
58         JavaScriptCore/API/JSCallbackObject.cpp \
59         JavaScriptCore/API/JSCallbackObject.h \
60         JavaScriptCore/API/JSCallbackObjectFunctions.h \
61         JavaScriptCore/API/JSClassRef.cpp \
62         JavaScriptCore/API/JSClassRef.h \
63         JavaScriptCore/API/JSContextRef.cpp \
64         JavaScriptCore/API/JSContextRefPrivate.h \
65         JavaScriptCore/API/JSObjectRef.cpp \
66         JavaScriptCore/API/JSRetainPtr.h \
67         JavaScriptCore/API/JSStringRef.cpp \
68         JavaScriptCore/API/JSValueRef.cpp \
69         JavaScriptCore/API/OpaqueJSString.cpp \
70         JavaScriptCore/API/OpaqueJSString.h \
71         JavaScriptCore/ForwardingHeaders/JavaScriptCore/APICast.h \
72         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSBase.h \
73         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSContextRef.h \
74         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSObjectRef.h \
75         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSRetainPtr.h \
76         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSStringRef.h \
77         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSStringRefCF.h \
78         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSValueRef.h \
79         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JavaScript.h \
80         JavaScriptCore/ForwardingHeaders/JavaScriptCore/JavaScriptCore.h \
81         JavaScriptCore/ForwardingHeaders/JavaScriptCore/OpaqueJSString.h \
82         JavaScriptCore/ForwardingHeaders/JavaScriptCore/WebKitAvailability.h \
83         JavaScriptCore/JavaScriptCorePrefix.h \
84         JavaScriptCore/jit/ExecutableAllocator.h \
85         JavaScriptCore/jit/JIT.cpp \
86         JavaScriptCore/jit/JITOpcodes.cpp \
87         JavaScriptCore/jit/JITCall.cpp \
88         JavaScriptCore/jit/JITCode.h \
89         JavaScriptCore/jit/JITPropertyAccess.cpp \
90         JavaScriptCore/jit/JITPropertyAccess32_64.cpp \
91         JavaScriptCore/jit/JITArithmetic.cpp \
92         JavaScriptCore/jit/JITArithmetic32_64.cpp \
93         JavaScriptCore/jit/ExecutableAllocator.cpp \
94         JavaScriptCore/jit/JIT.h \
95         JavaScriptCore/jit/JITInlineMethods.h \
96         JavaScriptCore/jit/JITStubs.cpp \
97         JavaScriptCore/jit/JITStubs.h \
98         JavaScriptCore/jit/JITStubCall.h \
99         JavaScriptCore/jit/JSInterfaceJIT.h \
100         JavaScriptCore/jit/SpecializedThunkJIT.h \
101         JavaScriptCore/jit/ThunkGenerators.cpp \
102         JavaScriptCore/jit/ThunkGenerators.h \
103         JavaScriptCore/bytecode/StructureStubInfo.cpp \
104         JavaScriptCore/bytecode/StructureStubInfo.h \
105         JavaScriptCore/bytecode/CodeBlock.cpp \
106         JavaScriptCore/bytecode/CodeBlock.h \
107         JavaScriptCore/bytecode/JumpTable.cpp \
108         JavaScriptCore/bytecode/JumpTable.h \
109         JavaScriptCore/bytecode/EvalCodeCache.h \
110         JavaScriptCore/bytecode/Instruction.h \
111         JavaScriptCore/bytecompiler/Label.h \
112         JavaScriptCore/interpreter/Interpreter.cpp \
113         JavaScriptCore/interpreter/Interpreter.h \
114         JavaScriptCore/bytecode/Opcode.cpp \
115         JavaScriptCore/bytecode/Opcode.h \
116         JavaScriptCore/interpreter/Register.h \
117         JavaScriptCore/bytecompiler/RegisterID.h \
118         JavaScriptCore/bytecode/SamplingTool.cpp \
119         JavaScriptCore/bytecode/SamplingTool.h \
120         JavaScriptCore/config.h \
121         JavaScriptCore/debugger/DebuggerActivation.cpp \
122         JavaScriptCore/debugger/DebuggerActivation.h \
123         JavaScriptCore/debugger/DebuggerCallFrame.cpp \
124         JavaScriptCore/debugger/DebuggerCallFrame.h \
125         JavaScriptCore/icu/unicode/parseerr.h \
126         JavaScriptCore/icu/unicode/platform.h \
127         JavaScriptCore/icu/unicode/putil.h \
128         JavaScriptCore/icu/unicode/uchar.h \
129         JavaScriptCore/icu/unicode/ucnv.h \
130         JavaScriptCore/icu/unicode/ucnv_err.h \
131         JavaScriptCore/icu/unicode/ucol.h \
132         JavaScriptCore/icu/unicode/uconfig.h \
133         JavaScriptCore/icu/unicode/uenum.h \
134         JavaScriptCore/icu/unicode/uiter.h \
135         JavaScriptCore/icu/unicode/uloc.h \
136         JavaScriptCore/icu/unicode/umachine.h \
137         JavaScriptCore/icu/unicode/unorm.h \
138         JavaScriptCore/icu/unicode/urename.h \
139         JavaScriptCore/icu/unicode/uset.h \
140         JavaScriptCore/icu/unicode/ustring.h \
141         JavaScriptCore/icu/unicode/utf.h \
142         JavaScriptCore/icu/unicode/utf16.h \
143         JavaScriptCore/icu/unicode/utf8.h \
144         JavaScriptCore/icu/unicode/utf_old.h \
145         JavaScriptCore/icu/unicode/utypes.h \
146         JavaScriptCore/icu/unicode/uversion.h \
147         JavaScriptCore/assembler/ARMAssembler.h \
148         JavaScriptCore/assembler/ARMAssembler.cpp \
149         JavaScriptCore/assembler/X86Assembler.h \
150         JavaScriptCore/assembler/AbstractMacroAssembler.h \
151         JavaScriptCore/assembler/AssemblerBuffer.h \
152         JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h \
153         JavaScriptCore/assembler/CodeLocation.h \
154         JavaScriptCore/assembler/LinkBuffer.h \
155         JavaScriptCore/assembler/MacroAssembler.h \
156         JavaScriptCore/assembler/MacroAssemblerARM.h \
157         JavaScriptCore/assembler/MacroAssemblerARM.cpp \
158         JavaScriptCore/assembler/MacroAssemblerCodeRef.h \
159         JavaScriptCore/assembler/MacroAssemblerX86.h \
160         JavaScriptCore/assembler/MacroAssemblerX86_64.h \
161         JavaScriptCore/assembler/MacroAssemblerX86Common.h \
162         JavaScriptCore/assembler/RepatchBuffer.h \
163         JavaScriptCore/os-win32/stdbool.h \
164         JavaScriptCore/os-win32/stdint.h \
165         JavaScriptCore/pcre/pcre.h \
166         JavaScriptCore/pcre/pcre_compile.cpp \
167         JavaScriptCore/pcre/pcre_exec.cpp \
168         JavaScriptCore/pcre/pcre_internal.h \
169         JavaScriptCore/pcre/pcre_tables.cpp \
170         JavaScriptCore/pcre/pcre_ucp_searchfuncs.cpp \
171         JavaScriptCore/pcre/pcre_xclass.cpp \
172         JavaScriptCore/pcre/ucpinternal.h \
173         JavaScriptCore/profiler/CallIdentifier.h \
174         JavaScriptCore/profiler/Profile.cpp \
175         JavaScriptCore/profiler/Profile.h \
176         JavaScriptCore/profiler/ProfileGenerator.cpp \
177         JavaScriptCore/profiler/ProfileGenerator.h \
178         JavaScriptCore/profiler/ProfileNode.cpp \
179         JavaScriptCore/profiler/ProfileNode.h \
180         JavaScriptCore/profiler/Profiler.cpp \
181         JavaScriptCore/profiler/Profiler.h \
182         JavaScriptCore/interpreter/CachedCall.h \
183         JavaScriptCore/interpreter/CallFrame.cpp \
184         JavaScriptCore/interpreter/CallFrame.h \
185         JavaScriptCore/interpreter/CallFrameClosure.h \
186         JavaScriptCore/runtime/ExceptionHelpers.cpp \
187         JavaScriptCore/runtime/ExceptionHelpers.h \
188         JavaScriptCore/runtime/Executable.cpp \
189         JavaScriptCore/runtime/Executable.h \
190         JavaScriptCore/runtime/InitializeThreading.cpp \
191         JavaScriptCore/runtime/InitializeThreading.h \
192         JavaScriptCore/runtime/JSActivation.cpp \
193         JavaScriptCore/runtime/JSActivation.h \
194         JavaScriptCore/runtime/JSByteArray.cpp \
195         JavaScriptCore/runtime/JSByteArray.h \
196         JavaScriptCore/runtime/JSGlobalData.cpp \
197         JavaScriptCore/runtime/JSGlobalData.h \
198         JavaScriptCore/runtime/JSNotAnObject.cpp \
199         JavaScriptCore/runtime/JSNotAnObject.h \
200         JavaScriptCore/runtime/JSONObject.cpp \
201         JavaScriptCore/runtime/JSONObject.h \
202         JavaScriptCore/runtime/JSPropertyNameIterator.cpp \
203         JavaScriptCore/runtime/JSPropertyNameIterator.h \
204         JavaScriptCore/runtime/JSStringBuilder.h \
205         JavaScriptCore/runtime/JSZombie.h \
206         JavaScriptCore/runtime/LiteralParser.cpp \
207         JavaScriptCore/runtime/LiteralParser.h \
208         JavaScriptCore/runtime/MarkStack.cpp \
209         JavaScriptCore/runtime/MarkStack.h \
210         JavaScriptCore/runtime/NumericStrings.h \
211         JavaScriptCore/runtime/PropertyDescriptor.h \
212         JavaScriptCore/runtime/PropertyDescriptor.cpp \
213         JavaScriptCore/runtime/SmallStrings.cpp \
214         JavaScriptCore/runtime/SmallStrings.h \
215         JavaScriptCore/runtime/StringBuilder.h \
216         JavaScriptCore/runtime/Structure.cpp \
217         JavaScriptCore/runtime/Structure.h \
218         JavaScriptCore/runtime/StructureChain.cpp \
219         JavaScriptCore/runtime/StructureChain.h \
220         JavaScriptCore/runtime/StructureTransitionTable.h \
221         JavaScriptCore/runtime/Terminator.h \
222         JavaScriptCore/runtime/TimeoutChecker.cpp \
223         JavaScriptCore/runtime/TimeoutChecker.h \
224         JavaScriptCore/runtime/JSTypeInfo.h \
225         JavaScriptCore/runtime/WeakGCMap.h \
226         JavaScriptCore/runtime/WeakGCPtr.h \
227         JavaScriptCore/wtf/ASCIICType.h \
228         JavaScriptCore/wtf/AVLTree.h \
229         JavaScriptCore/wtf/AlwaysInline.h \
230         JavaScriptCore/wtf/Assertions.cpp \
231         JavaScriptCore/wtf/Assertions.h \
232         JavaScriptCore/wtf/Atomics.h \
233         JavaScriptCore/wtf/ByteArray.cpp \
234         JavaScriptCore/wtf/ByteArray.h \
235         JavaScriptCore/wtf/CrossThreadRefCounted.h \
236         JavaScriptCore/wtf/CurrentTime.cpp \
237         JavaScriptCore/wtf/CurrentTime.h \
238         JavaScriptCore/wtf/DateMath.cpp \
239         JavaScriptCore/wtf/DateMath.h \
240         JavaScriptCore/wtf/Deque.h \
241         JavaScriptCore/wtf/DisallowCType.h \
242         JavaScriptCore/wtf/Forward.h \
243         JavaScriptCore/wtf/GetPtr.h \
244         JavaScriptCore/wtf/HashCountedSet.h \
245         JavaScriptCore/wtf/HashFunctions.h \
246         JavaScriptCore/wtf/HashIterators.h \
247         JavaScriptCore/wtf/HashMap.h \
248         JavaScriptCore/wtf/HashSet.h \
249         JavaScriptCore/wtf/HashTable.cpp \
250         JavaScriptCore/wtf/HashTable.h \
251         JavaScriptCore/wtf/HashTraits.h \
252         JavaScriptCore/wtf/ListHashSet.h \
253         JavaScriptCore/wtf/ListRefPtr.h \
254         JavaScriptCore/wtf/Locker.h \
255         JavaScriptCore/wtf/MD5.cpp \
256         JavaScriptCore/wtf/MD5.h \
257         JavaScriptCore/wtf/MainThread.cpp \
258         JavaScriptCore/wtf/MainThread.h \
259         JavaScriptCore/wtf/MathExtras.h \
260         JavaScriptCore/wtf/MessageQueue.h \
261         JavaScriptCore/wtf/Noncopyable.h \
262         JavaScriptCore/wtf/NotFound.h \
263         JavaScriptCore/wtf/OwnArrayPtr.h \
264         JavaScriptCore/wtf/OwnFastMallocPtr.h \
265         JavaScriptCore/wtf/OwnPtr.h \
266         JavaScriptCore/wtf/OwnPtrCommon.h \
267         JavaScriptCore/wtf/PassOwnPtr.h \
268         JavaScriptCore/wtf/PassRefPtr.h \
269         JavaScriptCore/wtf/Platform.h \
270         JavaScriptCore/wtf/PossiblyNull.h \
271         JavaScriptCore/wtf/RandomNumber.cpp \
272         JavaScriptCore/wtf/RandomNumber.h \
273         JavaScriptCore/wtf/RandomNumberSeed.h \
274         JavaScriptCore/wtf/RefCounted.h \
275         JavaScriptCore/wtf/RefCountedLeakCounter.cpp \
276         JavaScriptCore/wtf/RefCountedLeakCounter.h \
277         JavaScriptCore/wtf/RefPtr.h \
278         JavaScriptCore/wtf/RefPtrHashMap.h \
279         JavaScriptCore/wtf/RetainPtr.h \
280         JavaScriptCore/wtf/SegmentedVector.h \
281         JavaScriptCore/wtf/StaticConstructors.h \
282         JavaScriptCore/wtf/StdLibExtras.h \
283         JavaScriptCore/wtf/StringExtras.h \
284         JavaScriptCore/wtf/StringHashFunctions.h \
285         JavaScriptCore/wtf/TCPackedCache.h \
286         JavaScriptCore/wtf/TCPageMap.h \
287         JavaScriptCore/wtf/TCSpinLock.h \
288         JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp \
289         JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h \
290         JavaScriptCore/wtf/Threading.cpp \
291         JavaScriptCore/wtf/Threading.h \
292         JavaScriptCore/wtf/ThreadingPrimitives.h \
293         JavaScriptCore/wtf/ThreadingPthreads.cpp \
294         JavaScriptCore/wtf/ThreadSafeShared.h \
295         JavaScriptCore/wtf/ThreadSpecific.h \
296         JavaScriptCore/wtf/TypeTraits.cpp \
297         JavaScriptCore/wtf/TypeTraits.h \
298         JavaScriptCore/wtf/UnusedParam.h \
299         JavaScriptCore/wtf/ValueCheck.h \
300         JavaScriptCore/wtf/Vector.h \
301         JavaScriptCore/wtf/VectorTraits.h \
302         JavaScriptCore/wtf/WTFThreadData.cpp \
303         JavaScriptCore/wtf/WTFThreadData.h \
304         JavaScriptCore/wtf/gobject/GOwnPtr.cpp \
305         JavaScriptCore/wtf/gobject/GOwnPtr.h \
306         JavaScriptCore/wtf/gobject/GRefPtr.cpp \
307         JavaScriptCore/wtf/gobject/GRefPtr.h \
308         JavaScriptCore/wtf/gtk/MainThreadGtk.cpp \
309         JavaScriptCore/wtf/gtk/ThreadingGtk.cpp \
310         JavaScriptCore/wtf/text/AtomicString.cpp \
311         JavaScriptCore/wtf/text/AtomicString.h \
312         JavaScriptCore/wtf/text/AtomicStringImpl.h \
313         JavaScriptCore/wtf/text/AtomicStringTable.h \
314         JavaScriptCore/wtf/text/CString.cpp \
315         JavaScriptCore/wtf/text/CString.h \
316         JavaScriptCore/wtf/text/StringHash.h \
317         JavaScriptCore/wtf/text/StringImpl.cpp \
318         JavaScriptCore/wtf/text/StringImpl.h \
319         JavaScriptCore/wtf/text/WTFString.cpp \
320         JavaScriptCore/wtf/text/WTFString.h \
321         JavaScriptCore/wtf/unicode/Collator.h \
322         JavaScriptCore/wtf/unicode/CollatorDefault.cpp \
323         JavaScriptCore/wtf/unicode/UTF8.cpp \
324         JavaScriptCore/wtf/unicode/UTF8.h \
325         JavaScriptCore/wtf/unicode/Unicode.h
326
327 if TARGET_WIN32
328 javascriptcore_sources += \
329         JavaScriptCore/wtf/ThreadSpecificWin.cpp \
330         JavaScriptCore/jit/ExecutableAllocatorWin.cpp \
331         JavaScriptCore/runtime/MarkStackWin.cpp
332 else
333 javascriptcore_sources += \
334         JavaScriptCore/jit/ExecutableAllocatorPosix.cpp \
335         JavaScriptCore/runtime/MarkStackPosix.cpp
336 endif
337
338 # ----
339 # icu unicode backend
340 # ----
341 if USE_ICU_UNICODE
342 javascriptcore_sources += \
343         JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp \
344         JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h
345 endif # USE_ICU_UNICODE
346
347 # ----
348 # glib unicode backend
349 # ----
350 if USE_GLIB_UNICODE
351 javascriptcore_sources += \
352         JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h \
353         JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp \
354         JavaScriptCore/wtf/unicode/glib/UnicodeMacrosFromICU.h
355 endif
356
357 javascriptcore_sources += \
358         JavaScriptCore/wtf/VMTags.h \
359         JavaScriptCore/yarr/RegexCompiler.cpp \
360         JavaScriptCore/yarr/RegexCompiler.h \
361         JavaScriptCore/yarr/RegexInterpreter.cpp \
362         JavaScriptCore/yarr/RegexInterpreter.h \
363         JavaScriptCore/yarr/RegexJIT.cpp \
364         JavaScriptCore/yarr/RegexJIT.h \
365         JavaScriptCore/yarr/RegexParser.h \
366         JavaScriptCore/yarr/RegexPattern.h
367
368 javascriptcore_sources += \
369         JavaScriptCore/interpreter/RegisterFile.cpp \
370         JavaScriptCore/interpreter/RegisterFile.h \
371         JavaScriptCore/bytecompiler/BytecodeGenerator.cpp \
372         JavaScriptCore/bytecompiler/BytecodeGenerator.h \
373         JavaScriptCore/bytecompiler/NodesCodegen.cpp \
374         JavaScriptCore/bytecompiler/LabelScope.h \
375         JavaScriptCore/debugger/Debugger.cpp \
376         JavaScriptCore/debugger/Debugger.h \
377         JavaScriptCore/parser/Lexer.cpp \
378         JavaScriptCore/parser/Lexer.h \
379         JavaScriptCore/parser/NodeConstructors.h \
380         JavaScriptCore/parser/NodeInfo.h \
381         JavaScriptCore/parser/Nodes.cpp \
382         JavaScriptCore/parser/Nodes.h \
383         JavaScriptCore/parser/Parser.cpp \
384         JavaScriptCore/parser/Parser.h \
385         JavaScriptCore/parser/ParserArena.cpp \
386         JavaScriptCore/parser/ParserArena.h \
387         JavaScriptCore/parser/ResultType.h \
388         JavaScriptCore/parser/SourceCode.h \
389         JavaScriptCore/parser/SourceProvider.h \
390         JavaScriptCore/runtime/ArgList.cpp \
391         JavaScriptCore/runtime/ArgList.h \
392         JavaScriptCore/runtime/Arguments.cpp \
393         JavaScriptCore/runtime/Arguments.h \
394         JavaScriptCore/runtime/ArrayConstructor.cpp \
395         JavaScriptCore/runtime/ArrayConstructor.h \
396         JavaScriptCore/runtime/ArrayPrototype.cpp \
397         JavaScriptCore/runtime/ArrayPrototype.h \
398         JavaScriptCore/runtime/BatchedTransitionOptimizer.h \
399         JavaScriptCore/runtime/BooleanConstructor.cpp \
400         JavaScriptCore/runtime/BooleanConstructor.h \
401         JavaScriptCore/runtime/BooleanObject.cpp \
402         JavaScriptCore/runtime/BooleanObject.h \
403         JavaScriptCore/runtime/BooleanPrototype.cpp \
404         JavaScriptCore/runtime/BooleanPrototype.h \
405         JavaScriptCore/runtime/CallData.cpp \
406         JavaScriptCore/runtime/CallData.h \
407         JavaScriptCore/runtime/ClassInfo.h \
408         JavaScriptCore/runtime/Collector.cpp \
409         JavaScriptCore/runtime/Collector.h \
410         JavaScriptCore/runtime/CollectorHeapIterator.h \
411         JavaScriptCore/runtime/CommonIdentifiers.cpp \
412         JavaScriptCore/runtime/CommonIdentifiers.h \
413         JavaScriptCore/runtime/Completion.h \
414         JavaScriptCore/runtime/ConstructData.cpp \
415         JavaScriptCore/runtime/ConstructData.h \
416         JavaScriptCore/runtime/DateConstructor.cpp \
417         JavaScriptCore/runtime/DateConstructor.h \
418         JavaScriptCore/runtime/DateConversion.cpp \
419         JavaScriptCore/runtime/DateConversion.h \
420         JavaScriptCore/runtime/DateInstance.cpp \
421         JavaScriptCore/runtime/DateInstance.h \
422         JavaScriptCore/runtime/DateInstanceCache.h \
423         JavaScriptCore/runtime/DatePrototype.cpp \
424         JavaScriptCore/runtime/DatePrototype.h \
425         JavaScriptCore/runtime/Error.cpp \
426         JavaScriptCore/runtime/Error.h \
427         JavaScriptCore/runtime/ErrorConstructor.cpp \
428         JavaScriptCore/runtime/ErrorConstructor.h \
429         JavaScriptCore/runtime/ErrorInstance.cpp \
430         JavaScriptCore/runtime/ErrorInstance.h \
431         JavaScriptCore/runtime/ErrorPrototype.cpp \
432         JavaScriptCore/runtime/ErrorPrototype.h \
433         JavaScriptCore/runtime/FunctionConstructor.cpp \
434         JavaScriptCore/runtime/FunctionConstructor.h \
435         JavaScriptCore/runtime/FunctionPrototype.cpp \
436         JavaScriptCore/runtime/FunctionPrototype.h \
437         JavaScriptCore/runtime/GetterSetter.cpp \
438         JavaScriptCore/runtime/GetterSetter.h \
439         JavaScriptCore/runtime/GlobalEvalFunction.cpp \
440         JavaScriptCore/runtime/GlobalEvalFunction.h \
441         JavaScriptCore/runtime/Identifier.cpp \
442         JavaScriptCore/runtime/Identifier.h \
443         JavaScriptCore/runtime/InternalFunction.cpp \
444         JavaScriptCore/runtime/InternalFunction.h \
445         JavaScriptCore/runtime/Completion.cpp \
446         JavaScriptCore/runtime/JSArray.cpp \
447         JavaScriptCore/runtime/JSArray.h \
448         JavaScriptCore/runtime/JSAPIValueWrapper.cpp \
449         JavaScriptCore/runtime/JSAPIValueWrapper.h \
450         JavaScriptCore/runtime/JSCell.cpp \
451         JavaScriptCore/runtime/JSCell.h \
452         JavaScriptCore/runtime/JSFunction.cpp \
453         JavaScriptCore/runtime/JSFunction.h \
454         JavaScriptCore/runtime/JSGlobalObject.cpp \
455         JavaScriptCore/runtime/JSGlobalObject.h \
456         JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp \
457         JavaScriptCore/runtime/JSGlobalObjectFunctions.h \
458         JavaScriptCore/runtime/JSImmediate.cpp \
459         JavaScriptCore/runtime/JSImmediate.h \
460         JavaScriptCore/runtime/JSLock.cpp \
461         JavaScriptCore/runtime/JSLock.h \
462         JavaScriptCore/runtime/JSNumberCell.cpp \
463         JavaScriptCore/runtime/JSNumberCell.h \
464         JavaScriptCore/runtime/JSObject.cpp \
465         JavaScriptCore/runtime/JSObject.h \
466         JavaScriptCore/runtime/JSStaticScopeObject.cpp \
467         JavaScriptCore/runtime/JSStaticScopeObject.h \
468         JavaScriptCore/runtime/JSString.cpp \
469         JavaScriptCore/runtime/JSString.h \
470         JavaScriptCore/runtime/JSType.h \
471         JavaScriptCore/runtime/JSValue.cpp \
472         JavaScriptCore/runtime/JSValue.h \
473         JavaScriptCore/runtime/JSVariableObject.cpp \
474         JavaScriptCore/runtime/JSVariableObject.h \
475         JavaScriptCore/runtime/JSWrapperObject.cpp \
476         JavaScriptCore/runtime/JSWrapperObject.h \
477         JavaScriptCore/runtime/Lookup.cpp \
478         JavaScriptCore/runtime/Lookup.h \
479         JavaScriptCore/runtime/MathObject.cpp \
480         JavaScriptCore/runtime/MathObject.h \
481         JavaScriptCore/runtime/NativeErrorConstructor.cpp \
482         JavaScriptCore/runtime/NativeErrorConstructor.h \
483         JavaScriptCore/runtime/NativeErrorPrototype.cpp \
484         JavaScriptCore/runtime/NativeErrorPrototype.h \
485         JavaScriptCore/runtime/NativeFunctionWrapper.h \
486         JavaScriptCore/runtime/NumberConstructor.cpp \
487         JavaScriptCore/runtime/NumberConstructor.h \
488         JavaScriptCore/runtime/NumberObject.cpp \
489         JavaScriptCore/runtime/NumberObject.h \
490         JavaScriptCore/runtime/NumberPrototype.cpp \
491         JavaScriptCore/runtime/NumberPrototype.h \
492         JavaScriptCore/runtime/ObjectConstructor.cpp \
493         JavaScriptCore/runtime/ObjectConstructor.h \
494         JavaScriptCore/runtime/ObjectPrototype.cpp \
495         JavaScriptCore/runtime/ObjectPrototype.h \
496         JavaScriptCore/runtime/Operations.cpp \
497         JavaScriptCore/runtime/Operations.h \
498         JavaScriptCore/runtime/PropertyMapHashTable.h \
499         JavaScriptCore/runtime/PropertyNameArray.cpp \
500         JavaScriptCore/runtime/PropertyNameArray.h \
501         JavaScriptCore/runtime/PropertySlot.cpp \
502         JavaScriptCore/runtime/PropertySlot.h \
503         JavaScriptCore/runtime/Protect.h \
504         JavaScriptCore/runtime/PrototypeFunction.cpp \
505         JavaScriptCore/runtime/PrototypeFunction.h \
506         JavaScriptCore/runtime/PutPropertySlot.h \
507         JavaScriptCore/runtime/RegExp.cpp \
508         JavaScriptCore/runtime/RegExp.h \
509         JavaScriptCore/runtime/RegExpConstructor.cpp \
510         JavaScriptCore/runtime/RegExpConstructor.h \
511         JavaScriptCore/runtime/RegExpMatchesArray.h \
512         JavaScriptCore/runtime/RegExpObject.cpp \
513         JavaScriptCore/runtime/RegExpObject.h \
514         JavaScriptCore/runtime/RegExpPrototype.cpp \
515         JavaScriptCore/runtime/RegExpPrototype.h \
516         JavaScriptCore/runtime/RopeImpl.cpp \
517         JavaScriptCore/runtime/RopeImpl.h \
518         JavaScriptCore/runtime/ScopeChain.cpp \
519         JavaScriptCore/runtime/ScopeChain.h \
520         JavaScriptCore/runtime/ScopeChainMark.h \
521         JavaScriptCore/runtime/StringConstructor.cpp \
522         JavaScriptCore/runtime/StringConstructor.h \
523         JavaScriptCore/runtime/StringObject.cpp \
524         JavaScriptCore/runtime/StringObject.h \
525         JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h \
526         JavaScriptCore/runtime/StringPrototype.cpp \
527         JavaScriptCore/runtime/StringPrototype.h \
528         JavaScriptCore/runtime/SymbolTable.h \
529         JavaScriptCore/runtime/Tracing.h \
530         JavaScriptCore/runtime/UString.cpp \
531         JavaScriptCore/runtime/UString.h \
532         JavaScriptCore/runtime/UStringImpl.h \
533         JavaScriptCore/runtime/WeakRandom.h \
534         JavaScriptCore/wtf/FastAllocBase.h \
535         JavaScriptCore/wtf/FastMalloc.cpp \
536         JavaScriptCore/wtf/FastMalloc.h \
537         JavaScriptCore/wtf/MallocZoneSupport.h \
538         JavaScriptCore/wtf/TCSystemAlloc.cpp \
539         JavaScriptCore/wtf/TCSystemAlloc.h \
540         JavaScriptCore/wtf/dtoa.cpp \
541         JavaScriptCore/wtf/dtoa.h
542
543 javascriptcore_built_sources += \
544         DerivedSources/Grammar.cpp \
545         DerivedSources/Grammar.h
546
547 DerivedSources/Grammar.h: DerivedSources/Grammar.cpp;
548
549 DerivedSources/Grammar.cpp: $(srcdir)/JavaScriptCore/parser/Grammar.y
550         $(BISON) -d -p jscyy $(srcdir)/JavaScriptCore/parser/Grammar.y -o $@ > bison_out.txt 2>&1
551         $(PERL) -p -e 'END { if ($$conflict) { unlink "Grammar.cpp"; die; } } $$conflict ||= /conflict/' < bison_out.txt
552         cat $(GENSOURCES)/Grammar.hpp > $(GENSOURCES)/Grammar.h
553         rm -f $(GENSOURCES)/Grammar.hpp bison_out.txt
554
555 DerivedSources/Lexer.lut.h: $(CREATE_HASH_TABLE) $(srcdir)/JavaScriptCore/parser/Keywords.table
556         $(PERL) $^ > $@
557
558 JavaScriptCore/%.lut.h: $(CREATE_HASH_TABLE) $(srcdir)/JavaScriptCore/%.cpp
559         $(PERL) $^ -i > $@
560
561 JavaScriptCore/RegExpJitTables.h: $(srcdir)/JavaScriptCore/create_regex_tables
562         $(PYTHON) $(srcdir)/JavaScriptCore/create_regex_tables > $@
563
564 JavaScriptCore/pcre/chartables.c: $(srcdir)/JavaScriptCore/pcre/dftables
565         $(PERL) $^ $@
566
567 bin_PROGRAMS += \
568         Programs/jsc
569
570 noinst_PROGRAMS += \
571         Programs/minidom
572
573 # minidom
574 Programs_minidom_SOURCES = \
575         JavaScriptCore/API/tests/JSNode.c \
576         JavaScriptCore/API/tests/JSNode.h \
577         JavaScriptCore/API/tests/JSNodeList.c \
578         JavaScriptCore/API/tests/JSNodeList.h \
579         JavaScriptCore/API/tests/Node.c \
580         JavaScriptCore/API/tests/Node.h \
581         JavaScriptCore/API/tests/NodeList.c \
582         JavaScriptCore/API/tests/NodeList.h \
583         JavaScriptCore/API/tests/minidom.c
584
585 Programs_minidom_CPPFLAGS = \
586         $(global_cppflags) \
587         $(javascriptcore_cppflags)
588
589 Programs_minidom_CFLAGS = \
590         -ansi \
591         -fno-strict-aliasing \
592         $(global_cflags) \
593         $(GLOBALDEPS_CFLAGS)
594
595 Programs_minidom_LDADD = \
596          libJavaScriptCore.la \
597          -lm \
598          -lstdc++
599
600 Programs_minidom_LDFLAGS = \
601         -no-install \
602         -no-fast-install
603
604 # jsc
605 Programs_jsc_SOURCES = \
606         JavaScriptCore/jsc.cpp
607
608 Programs_jsc_CPPFLAGS = \
609         $(global_cppflags) \
610         $(javascriptcore_cppflags)
611
612 Programs_jsc_CXXFLAGS = \
613         -fno-strict-aliasing \
614         $(global_cxxflags) \
615         $(global_cflags) \
616         $(GLOBALDEPS_CFLAGS) \
617         $(UNICODE_CFLAGS)
618
619 Programs_jsc_LDADD = \
620         libJavaScriptCore.la
621
622 javascriptcore_dist += \
623         $(CREATE_HASH_TABLE) \
624         $(CREATE_REGEXP_TABLES) \
625         JavaScriptCore/AUTHORS \
626         JavaScriptCore/COPYING.LIB \
627         JavaScriptCore/ChangeLog \
628         JavaScriptCore/THANKS \
629         JavaScriptCore/icu/LICENSE \
630         JavaScriptCore/icu/README \
631         JavaScriptCore/pcre/COPYING \
632         JavaScriptCore/pcre/AUTHORS \
633         JavaScriptCore/pcre/dftables \
634         JavaScriptCore/pcre/ucptable.cpp \
635         JavaScriptCore/parser/Grammar.y \
636         JavaScriptCore/parser/Keywords.table
637
638 # Clean rules for JavaScriptCore
639 CLEANFILES += \
640         JavaScriptCore/runtime/ArrayPrototype.lut.h \
641         JavaScriptCore/runtime/DatePrototype.lut.h \
642         JavaScriptCore/runtime/JSONObject.lut.h \
643         JavaScriptCore/runtime/MathObject.lut.h \
644         JavaScriptCore/runtime/NumberConstructor.lut.h \
645         JavaScriptCore/runtime/RegExpConstructor.lut.h \
646         JavaScriptCore/runtime/RegExpObject.lut.h \
647         JavaScriptCore/runtime/StringPrototype.lut.h \
648         JavaScriptCore/pcre/chartables.c \
649         Programs/jsc \
650         Programs/minidom