]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - GNUmakefile.am
JavaScriptCore-1097.3.3.tar.gz
[apple/javascriptcore.git] / GNUmakefile.am
index 7ac6a8ca8b8d38955603c5808bcfca0890ff9ec8..e84528763ee365a0afcdfb93cd56db181a65ea62 100644 (file)
+include $(srcdir)/Source/JavaScriptCore/GNUmakefile.list.am
+
+lib_LTLIBRARIES += \
+       libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
+
+# We are going to make everything public for now. When
+# https://bugs.webkit.org/show_bug.cgi?id=27551 is fixed we'll able to
+# simply rely on the usual symbol visibility flags.
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LDFLAGS = \
+       -version-info @LIBWEBKITGTK_VERSION@ \
+       $(no_undefined)
+
+nodist_EXTRA_libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
+       $(javascriptcore_built_nosources)
+
+nodist_libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
+       $(javascriptcore_built_sources)
+
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_ladir = $(libwebkitgtkincludedir)/JavaScriptCore
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_HEADERS = $(javascriptcore_h_api)
+
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
+       $(javascriptcore_sources)
+
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD = \
+       -lpthread \
+       libWTF.la \
+       $(UNICODE_LIBS) \
+       $(GLIB_LIBS) \
+       $(WINMM_LIBS)
+
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CXXFLAGS = \
+       $(global_cxxflags) \
+       $(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS)
+
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS = \
+       -fstrict-aliasing \
+       -O3 \
+       $(javascriptcore_cflags)
+
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CPPFLAGS = \
+       $(global_cppflags) \
+       $(javascriptcore_cppflags)
+
+javascriptcore_cppflags += \
+       $(JSC_CPPFLAGS) \
+       -I$(srcdir)/Source \
+       -I$(srcdir)/Source/JavaScriptCore \
+       -I$(srcdir)/Source/JavaScriptCore/API \
+       -I$(srcdir)/Source/JavaScriptCore/assembler \
+       -I$(srcdir)/Source/JavaScriptCore/bytecode \
+       -I$(srcdir)/Source/JavaScriptCore/bytecompiler \
+       -I$(srcdir)/Source/JavaScriptCore/dfg \
+       -I$(srcdir)/Source/JavaScriptCore/heap \
+       -I$(srcdir)/Source/JavaScriptCore/debugger \
+       -I$(srcdir)/Source/JavaScriptCore/ForwardingHeaders \
+       -I$(srcdir)/Source/JavaScriptCore/interpreter \
+       -I$(srcdir)/Source/JavaScriptCore/jit \
+       -I$(srcdir)/Source/JavaScriptCore/jit \
+       -I$(srcdir)/Source/JavaScriptCore/llint \
+       -I$(srcdir)/Source/JavaScriptCore/parser \
+       -I$(srcdir)/Source/JavaScriptCore/profiler \
+       -I$(srcdir)/Source/JavaScriptCore/runtime \
+       -I$(srcdir)/Source/JavaScriptCore/tools \
+       -I$(srcdir)/Source/JavaScriptCore/yarr \
+       -I$(top_builddir)/DerivedSources/JavaScriptCore
+
 javascriptcore_cppflags += \
-       -I$(srcdir)/JavaScriptCore \
-       -I$(srcdir)/JavaScriptCore/API \
-       -I$(srcdir)/JavaScriptCore/ForwardingHeaders \
-       -I$(srcdir)/JavaScriptCore/interpreter \
-       -I$(srcdir)/JavaScriptCore/bytecode \
-       -I$(srcdir)/JavaScriptCore/bytecompiler \
-       -I$(srcdir)/JavaScriptCore/debugger \
-       -I$(srcdir)/JavaScriptCore/jit \
-       -I$(srcdir)/JavaScriptCore/pcre \
-       -I$(srcdir)/JavaScriptCore/profiler \
-       -I$(srcdir)/JavaScriptCore/runtime \
-       -I$(srcdir)/JavaScriptCore/wrec \
-       -I$(srcdir)/JavaScriptCore/jit \
-       -I$(srcdir)/JavaScriptCore/assembler \
-       -I$(srcdir)/JavaScriptCore/wtf/unicode \
-       -I$(srcdir)/JavaScriptCore/yarr \
-       -I$(top_builddir)/JavaScriptCore/pcre \
-       -I$(top_builddir)/JavaScriptCore/parser \
-       -I$(top_builddir)/JavaScriptCore/runtime
-
-javascriptcore_h_api += \
-       JavaScriptCore/API/JSBase.h \
-       JavaScriptCore/API/JSContextRef.h \
-       JavaScriptCore/API/JSObjectRef.h \
-       JavaScriptCore/API/JSStringRef.h \
-       JavaScriptCore/API/JSStringRefBSTR.h \
-       JavaScriptCore/API/JSStringRefCF.h \
-       JavaScriptCore/API/JSValueRef.h \
-       JavaScriptCore/API/JavaScript.h \
-       JavaScriptCore/API/JavaScriptCore.h \
-       JavaScriptCore/API/WebKitAvailability.h
-
-javascriptcore_built_nosources += \
-       DerivedSources/Lexer.lut.h \
-       JavaScriptCore/runtime/ArrayPrototype.lut.h \
-       JavaScriptCore/runtime/DatePrototype.lut.h \
-       JavaScriptCore/runtime/JSONObject.lut.h \
-       JavaScriptCore/runtime/MathObject.lut.h \
-       JavaScriptCore/runtime/NumberConstructor.lut.h \
-       JavaScriptCore/runtime/RegExpConstructor.lut.h \
-       JavaScriptCore/runtime/RegExpObject.lut.h \
-       JavaScriptCore/runtime/StringPrototype.lut.h \
-       JavaScriptCore/pcre/chartables.c
-
-javascriptcore_sources += \
-       JavaScriptCore/API/APICast.h \
-       JavaScriptCore/API/APIShims.h \
-       JavaScriptCore/API/JSBase.cpp \
-       JavaScriptCore/API/JSBasePrivate.h \
-       JavaScriptCore/API/JSCallbackConstructor.cpp \
-       JavaScriptCore/API/JSCallbackConstructor.h \
-       JavaScriptCore/API/JSCallbackFunction.cpp \
-       JavaScriptCore/API/JSCallbackFunction.h \
-       JavaScriptCore/API/JSCallbackObject.cpp \
-       JavaScriptCore/API/JSCallbackObject.h \
-       JavaScriptCore/API/JSCallbackObjectFunctions.h \
-       JavaScriptCore/API/JSClassRef.cpp \
-       JavaScriptCore/API/JSClassRef.h \
-       JavaScriptCore/API/JSContextRef.cpp \
-       JavaScriptCore/API/JSContextRefPrivate.h \
-       JavaScriptCore/API/JSObjectRef.cpp \
-       JavaScriptCore/API/JSRetainPtr.h \
-       JavaScriptCore/API/JSStringRef.cpp \
-       JavaScriptCore/API/JSValueRef.cpp \
-       JavaScriptCore/API/OpaqueJSString.cpp \
-       JavaScriptCore/API/OpaqueJSString.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/APICast.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSBase.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSContextRef.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSObjectRef.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSRetainPtr.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSStringRef.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSStringRefCF.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JSValueRef.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JavaScript.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/JavaScriptCore.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/OpaqueJSString.h \
-       JavaScriptCore/ForwardingHeaders/JavaScriptCore/WebKitAvailability.h \
-       JavaScriptCore/JavaScriptCorePrefix.h \
-       JavaScriptCore/jit/ExecutableAllocator.h \
-       JavaScriptCore/jit/JIT.cpp \
-       JavaScriptCore/jit/JITOpcodes.cpp \
-       JavaScriptCore/jit/JITCall.cpp \
-       JavaScriptCore/jit/JITCode.h \
-       JavaScriptCore/jit/JITPropertyAccess.cpp \
-       JavaScriptCore/jit/JITArithmetic.cpp \
-       JavaScriptCore/jit/ExecutableAllocator.cpp \
-       JavaScriptCore/jit/JIT.h \
-       JavaScriptCore/jit/JITInlineMethods.h \
-       JavaScriptCore/jit/JITStubs.cpp \
-       JavaScriptCore/jit/JITStubs.h \
-       JavaScriptCore/jit/JITStubCall.h \
-       JavaScriptCore/bytecode/StructureStubInfo.cpp \
-       JavaScriptCore/bytecode/StructureStubInfo.h \
-       JavaScriptCore/bytecode/CodeBlock.cpp \
-       JavaScriptCore/bytecode/CodeBlock.h \
-       JavaScriptCore/bytecode/JumpTable.cpp \
-       JavaScriptCore/bytecode/JumpTable.h \
-       JavaScriptCore/bytecode/EvalCodeCache.h \
-       JavaScriptCore/bytecode/Instruction.h \
-       JavaScriptCore/bytecompiler/Label.h \
-       JavaScriptCore/interpreter/Interpreter.cpp \
-       JavaScriptCore/interpreter/Interpreter.h \
-       JavaScriptCore/bytecode/Opcode.cpp \
-       JavaScriptCore/bytecode/Opcode.h \
-       JavaScriptCore/interpreter/Register.h \
-       JavaScriptCore/bytecompiler/RegisterID.h \
-       JavaScriptCore/bytecode/SamplingTool.cpp \
-       JavaScriptCore/bytecode/SamplingTool.h \
-       JavaScriptCore/config.h \
-       JavaScriptCore/debugger/DebuggerActivation.cpp \
-       JavaScriptCore/debugger/DebuggerActivation.h \
-       JavaScriptCore/debugger/DebuggerCallFrame.cpp \
-       JavaScriptCore/debugger/DebuggerCallFrame.h \
-       JavaScriptCore/icu/unicode/parseerr.h \
-       JavaScriptCore/icu/unicode/platform.h \
-       JavaScriptCore/icu/unicode/putil.h \
-       JavaScriptCore/icu/unicode/uchar.h \
-       JavaScriptCore/icu/unicode/ucnv.h \
-       JavaScriptCore/icu/unicode/ucnv_err.h \
-       JavaScriptCore/icu/unicode/ucol.h \
-       JavaScriptCore/icu/unicode/uconfig.h \
-       JavaScriptCore/icu/unicode/uenum.h \
-       JavaScriptCore/icu/unicode/uiter.h \
-       JavaScriptCore/icu/unicode/uloc.h \
-       JavaScriptCore/icu/unicode/umachine.h \
-       JavaScriptCore/icu/unicode/unorm.h \
-       JavaScriptCore/icu/unicode/urename.h \
-       JavaScriptCore/icu/unicode/uset.h \
-       JavaScriptCore/icu/unicode/ustring.h \
-       JavaScriptCore/icu/unicode/utf.h \
-       JavaScriptCore/icu/unicode/utf16.h \
-       JavaScriptCore/icu/unicode/utf8.h \
-       JavaScriptCore/icu/unicode/utf_old.h \
-       JavaScriptCore/icu/unicode/utypes.h \
-       JavaScriptCore/icu/unicode/uversion.h \
-       JavaScriptCore/assembler/ARMAssembler.h \
-       JavaScriptCore/assembler/ARMAssembler.cpp \
-       JavaScriptCore/assembler/X86Assembler.h \
-       JavaScriptCore/assembler/AbstractMacroAssembler.h \
-       JavaScriptCore/assembler/AssemblerBuffer.h \
-       JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h \
-       JavaScriptCore/assembler/CodeLocation.h \
-       JavaScriptCore/assembler/LinkBuffer.h \
-       JavaScriptCore/assembler/MacroAssembler.h \
-       JavaScriptCore/assembler/MacroAssemblerARM.h \
-       JavaScriptCore/assembler/MacroAssemblerARM.cpp \
-       JavaScriptCore/assembler/MacroAssemblerCodeRef.h \
-       JavaScriptCore/assembler/MacroAssemblerX86.h \
-       JavaScriptCore/assembler/MacroAssemblerX86_64.h \
-       JavaScriptCore/assembler/MacroAssemblerX86Common.h \
-       JavaScriptCore/assembler/RepatchBuffer.h \
-       JavaScriptCore/os-win32/stdbool.h \
-       JavaScriptCore/os-win32/stdint.h \
-       JavaScriptCore/pcre/pcre.h \
-       JavaScriptCore/pcre/pcre_compile.cpp \
-       JavaScriptCore/pcre/pcre_exec.cpp \
-       JavaScriptCore/pcre/pcre_internal.h \
-       JavaScriptCore/pcre/pcre_tables.cpp \
-       JavaScriptCore/pcre/pcre_ucp_searchfuncs.cpp \
-       JavaScriptCore/pcre/pcre_xclass.cpp \
-       JavaScriptCore/pcre/ucpinternal.h \
-       JavaScriptCore/profiler/CallIdentifier.h \
-       JavaScriptCore/profiler/Profile.cpp \
-       JavaScriptCore/profiler/Profile.h \
-       JavaScriptCore/profiler/ProfileGenerator.cpp \
-       JavaScriptCore/profiler/ProfileGenerator.h \
-       JavaScriptCore/profiler/ProfileNode.cpp \
-       JavaScriptCore/profiler/ProfileNode.h \
-       JavaScriptCore/profiler/Profiler.cpp \
-       JavaScriptCore/profiler/Profiler.h \
-       JavaScriptCore/interpreter/CachedCall.h \
-       JavaScriptCore/interpreter/CallFrame.cpp \
-       JavaScriptCore/interpreter/CallFrame.h \
-       JavaScriptCore/interpreter/CallFrameClosure.h \
-       JavaScriptCore/runtime/ExceptionHelpers.cpp \
-       JavaScriptCore/runtime/ExceptionHelpers.h \
-       JavaScriptCore/runtime/Executable.cpp \
-       JavaScriptCore/runtime/Executable.h \
-       JavaScriptCore/runtime/InitializeThreading.cpp \
-       JavaScriptCore/runtime/InitializeThreading.h \
-       JavaScriptCore/runtime/JSActivation.cpp \
-       JavaScriptCore/runtime/JSActivation.h \
-       JavaScriptCore/runtime/JSByteArray.cpp \
-       JavaScriptCore/runtime/JSByteArray.h \
-       JavaScriptCore/runtime/JSGlobalData.cpp \
-       JavaScriptCore/runtime/JSGlobalData.h \
-       JavaScriptCore/runtime/JSNotAnObject.cpp \
-       JavaScriptCore/runtime/JSNotAnObject.h \
-       JavaScriptCore/runtime/JSONObject.cpp \
-       JavaScriptCore/runtime/JSONObject.h \
-       JavaScriptCore/runtime/JSPropertyNameIterator.cpp \
-       JavaScriptCore/runtime/JSPropertyNameIterator.h \
-       JavaScriptCore/runtime/JSZombie.h \
-       JavaScriptCore/runtime/LiteralParser.cpp \
-       JavaScriptCore/runtime/LiteralParser.h \
-       JavaScriptCore/runtime/MarkStack.cpp \
-       JavaScriptCore/runtime/MarkStack.h \
-       JavaScriptCore/runtime/NumericStrings.h \
-       JavaScriptCore/runtime/PropertyDescriptor.h \
-       JavaScriptCore/runtime/PropertyDescriptor.cpp \
-       JavaScriptCore/runtime/SmallStrings.cpp \
-       JavaScriptCore/runtime/SmallStrings.h \
-       JavaScriptCore/runtime/StringBuilder.h \
-       JavaScriptCore/runtime/Structure.cpp \
-       JavaScriptCore/runtime/Structure.h \
-       JavaScriptCore/runtime/StructureChain.cpp \
-       JavaScriptCore/runtime/StructureChain.h \
-       JavaScriptCore/runtime/StructureTransitionTable.h \
-       JavaScriptCore/runtime/TimeoutChecker.cpp \
-       JavaScriptCore/runtime/TimeoutChecker.h \
-       JavaScriptCore/runtime/JSTypeInfo.h \
-       JavaScriptCore/runtime/WeakGCMap.h \
-       JavaScriptCore/runtime/WeakGCPtr.h \
-       JavaScriptCore/wrec/CharacterClass.h \
-       JavaScriptCore/wrec/CharacterClassConstructor.h \
-       JavaScriptCore/wrec/Escapes.h \
-       JavaScriptCore/wrec/Quantifier.h \
-       JavaScriptCore/wrec/WREC.h \
-       JavaScriptCore/wrec/WRECFunctors.h \
-       JavaScriptCore/wrec/WRECGenerator.h \
-       JavaScriptCore/wrec/WRECParser.h \
-       JavaScriptCore/wtf/ASCIICType.h \
-       JavaScriptCore/wtf/AVLTree.h \
-       JavaScriptCore/wtf/AlwaysInline.h \
-       JavaScriptCore/wtf/Assertions.cpp \
-       JavaScriptCore/wtf/Assertions.h \
-       JavaScriptCore/wtf/ByteArray.cpp \
-       JavaScriptCore/wtf/ByteArray.h \
-       JavaScriptCore/wtf/CrossThreadRefCounted.h \
-       JavaScriptCore/wtf/CurrentTime.cpp \
-       JavaScriptCore/wtf/CurrentTime.h \
-       JavaScriptCore/wtf/DateMath.cpp \
-       JavaScriptCore/wtf/DateMath.h \
-       JavaScriptCore/wtf/Deque.h \
-       JavaScriptCore/wtf/DisallowCType.h \
-       JavaScriptCore/wtf/Forward.h \
-       JavaScriptCore/wtf/GetPtr.h \
-       JavaScriptCore/wtf/HashCountedSet.h \
-       JavaScriptCore/wtf/HashFunctions.h \
-       JavaScriptCore/wtf/HashIterators.h \
-       JavaScriptCore/wtf/HashMap.h \
-       JavaScriptCore/wtf/HashSet.h \
-       JavaScriptCore/wtf/HashTable.cpp \
-       JavaScriptCore/wtf/HashTable.h \
-       JavaScriptCore/wtf/HashTraits.h \
-       JavaScriptCore/wtf/ListHashSet.h \
-       JavaScriptCore/wtf/ListRefPtr.h \
-       JavaScriptCore/wtf/Locker.h \
-       JavaScriptCore/wtf/MainThread.cpp \
-       JavaScriptCore/wtf/MainThread.h \
-       JavaScriptCore/wtf/MathExtras.h \
-       JavaScriptCore/wtf/MessageQueue.h \
-       JavaScriptCore/wtf/Noncopyable.h \
-       JavaScriptCore/wtf/NotFound.h \
-       JavaScriptCore/wtf/OwnArrayPtr.h \
-       JavaScriptCore/wtf/OwnFastMallocPtr.h \
-       JavaScriptCore/wtf/OwnPtr.h \
-       JavaScriptCore/wtf/OwnPtrCommon.h \
-       JavaScriptCore/wtf/PassOwnPtr.h \
-       JavaScriptCore/wtf/PassRefPtr.h \
-       JavaScriptCore/wtf/Platform.h \
-       JavaScriptCore/wtf/PossiblyNull.h \
-       JavaScriptCore/wtf/PtrAndFlags.h \
-       JavaScriptCore/wtf/RandomNumber.cpp \
-       JavaScriptCore/wtf/RandomNumber.h \
-       JavaScriptCore/wtf/RandomNumberSeed.h \
-       JavaScriptCore/wtf/RefCounted.h \
-       JavaScriptCore/wtf/RefCountedLeakCounter.cpp \
-       JavaScriptCore/wtf/RefCountedLeakCounter.h \
-       JavaScriptCore/wtf/RefPtr.h \
-       JavaScriptCore/wtf/RefPtrHashMap.h \
-       JavaScriptCore/wtf/RetainPtr.h \
-       JavaScriptCore/wtf/SegmentedVector.h \
-       JavaScriptCore/wtf/StdLibExtras.h \
-       JavaScriptCore/wtf/StringExtras.h \
-       JavaScriptCore/wtf/StringHashFunctions.h \
-       JavaScriptCore/wtf/TCPackedCache.h \
-       JavaScriptCore/wtf/TCPageMap.h \
-       JavaScriptCore/wtf/TCSpinLock.h \
-       JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp \
-       JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h \
-       JavaScriptCore/wtf/Threading.cpp \
-       JavaScriptCore/wtf/Threading.h \
-       JavaScriptCore/wtf/ThreadingPthreads.cpp \
-       JavaScriptCore/wtf/ThreadSpecific.h \
-       JavaScriptCore/wtf/TypeTraits.cpp \
-       JavaScriptCore/wtf/TypeTraits.h \
-       JavaScriptCore/wtf/UnusedParam.h \
-       JavaScriptCore/wtf/Vector.h \
-       JavaScriptCore/wtf/VectorTraits.h \
-       JavaScriptCore/wtf/gtk/GOwnPtr.cpp \
-       JavaScriptCore/wtf/gtk/GOwnPtr.h \
-       JavaScriptCore/wtf/gtk/GRefPtr.cpp \
-       JavaScriptCore/wtf/gtk/GRefPtr.h \
-       JavaScriptCore/wtf/gtk/MainThreadGtk.cpp \
-       JavaScriptCore/wtf/gtk/ThreadingGtk.cpp \
-       JavaScriptCore/wtf/unicode/Collator.h \
-       JavaScriptCore/wtf/unicode/CollatorDefault.cpp \
-       JavaScriptCore/wtf/unicode/UTF8.cpp \
-       JavaScriptCore/wtf/unicode/UTF8.h \
-       JavaScriptCore/wtf/unicode/Unicode.h
-
-if TARGET_WIN32
-javascriptcore_sources += \
-       JavaScriptCore/wtf/ThreadSpecificWin.cpp \
-       JavaScriptCore/jit/ExecutableAllocatorWin.cpp \
-       JavaScriptCore/runtime/MarkStackWin.cpp
-else
-javascriptcore_sources += \
-       JavaScriptCore/jit/ExecutableAllocatorPosix.cpp \
-       JavaScriptCore/runtime/MarkStackPosix.cpp
-endif
-
-# ----
-# icu unicode backend
-# ----
-if USE_ICU_UNICODE
-javascriptcore_sources += \
-       JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp \
-       JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h
-endif # USE_ICU_UNICODE
-
-# ----
-# glib unicode backend
-# ----
-if USE_GLIB_UNICODE
-javascriptcore_sources += \
-       JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h \
-       JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp \
-       JavaScriptCore/wtf/unicode/glib/UnicodeMacrosFromICU.h
-endif
-
-javascriptcore_sources += \
-       JavaScriptCore/wtf/VMTags.h \
-       JavaScriptCore/yarr/RegexCompiler.cpp \
-       JavaScriptCore/yarr/RegexCompiler.h \
-       JavaScriptCore/yarr/RegexInterpreter.cpp \
-       JavaScriptCore/yarr/RegexInterpreter.h \
-       JavaScriptCore/yarr/RegexJIT.cpp \
-       JavaScriptCore/yarr/RegexJIT.h \
-       JavaScriptCore/yarr/RegexParser.h \
-       JavaScriptCore/yarr/RegexPattern.h
-
-javascriptcore_sources += \
-       JavaScriptCore/interpreter/RegisterFile.cpp \
-       JavaScriptCore/interpreter/RegisterFile.h \
-       JavaScriptCore/bytecompiler/BytecodeGenerator.cpp \
-       JavaScriptCore/bytecompiler/BytecodeGenerator.h \
-       JavaScriptCore/bytecompiler/NodesCodegen.cpp \
-       JavaScriptCore/bytecompiler/LabelScope.h \
-       JavaScriptCore/debugger/Debugger.cpp \
-       JavaScriptCore/debugger/Debugger.h \
-       JavaScriptCore/parser/Lexer.cpp \
-       JavaScriptCore/parser/Lexer.h \
-       JavaScriptCore/parser/NodeConstructors.h \
-       JavaScriptCore/parser/NodeInfo.h \
-       JavaScriptCore/parser/Nodes.cpp \
-       JavaScriptCore/parser/Nodes.h \
-       JavaScriptCore/parser/Parser.cpp \
-       JavaScriptCore/parser/Parser.h \
-       JavaScriptCore/parser/ParserArena.cpp \
-       JavaScriptCore/parser/ParserArena.h \
-       JavaScriptCore/parser/ResultType.h \
-       JavaScriptCore/parser/SourceCode.h \
-       JavaScriptCore/parser/SourceProvider.h \
-       JavaScriptCore/runtime/ArgList.cpp \
-       JavaScriptCore/runtime/ArgList.h \
-       JavaScriptCore/runtime/Arguments.cpp \
-       JavaScriptCore/runtime/Arguments.h \
-       JavaScriptCore/runtime/ArrayConstructor.cpp \
-       JavaScriptCore/runtime/ArrayConstructor.h \
-       JavaScriptCore/runtime/ArrayPrototype.cpp \
-       JavaScriptCore/runtime/ArrayPrototype.h \
-       JavaScriptCore/runtime/BatchedTransitionOptimizer.h \
-       JavaScriptCore/runtime/BooleanConstructor.cpp \
-       JavaScriptCore/runtime/BooleanConstructor.h \
-       JavaScriptCore/runtime/BooleanObject.cpp \
-       JavaScriptCore/runtime/BooleanObject.h \
-       JavaScriptCore/runtime/BooleanPrototype.cpp \
-       JavaScriptCore/runtime/BooleanPrototype.h \
-       JavaScriptCore/runtime/CallData.cpp \
-       JavaScriptCore/runtime/CallData.h \
-       JavaScriptCore/runtime/ClassInfo.h \
-       JavaScriptCore/runtime/Collector.cpp \
-       JavaScriptCore/runtime/Collector.h \
-       JavaScriptCore/runtime/CollectorHeapIterator.h \
-       JavaScriptCore/runtime/CommonIdentifiers.cpp \
-       JavaScriptCore/runtime/CommonIdentifiers.h \
-       JavaScriptCore/runtime/Completion.h \
-       JavaScriptCore/runtime/ConstructData.cpp \
-       JavaScriptCore/runtime/ConstructData.h \
-       JavaScriptCore/runtime/DateConstructor.cpp \
-       JavaScriptCore/runtime/DateConstructor.h \
-       JavaScriptCore/runtime/DateConversion.cpp \
-       JavaScriptCore/runtime/DateConversion.h \
-       JavaScriptCore/runtime/DateInstance.cpp \
-       JavaScriptCore/runtime/DateInstance.h \
-       JavaScriptCore/runtime/DateInstanceCache.h \
-       JavaScriptCore/runtime/DatePrototype.cpp \
-       JavaScriptCore/runtime/DatePrototype.h \
-       JavaScriptCore/runtime/Error.cpp \
-       JavaScriptCore/runtime/Error.h \
-       JavaScriptCore/runtime/ErrorConstructor.cpp \
-       JavaScriptCore/runtime/ErrorConstructor.h \
-       JavaScriptCore/runtime/ErrorInstance.cpp \
-       JavaScriptCore/runtime/ErrorInstance.h \
-       JavaScriptCore/runtime/ErrorPrototype.cpp \
-       JavaScriptCore/runtime/ErrorPrototype.h \
-       JavaScriptCore/runtime/FunctionConstructor.cpp \
-       JavaScriptCore/runtime/FunctionConstructor.h \
-       JavaScriptCore/runtime/FunctionPrototype.cpp \
-       JavaScriptCore/runtime/FunctionPrototype.h \
-       JavaScriptCore/runtime/GetterSetter.cpp \
-       JavaScriptCore/runtime/GetterSetter.h \
-       JavaScriptCore/runtime/GlobalEvalFunction.cpp \
-       JavaScriptCore/runtime/GlobalEvalFunction.h \
-       JavaScriptCore/runtime/Identifier.cpp \
-       JavaScriptCore/runtime/Identifier.h \
-       JavaScriptCore/runtime/InternalFunction.cpp \
-       JavaScriptCore/runtime/InternalFunction.h \
-       JavaScriptCore/runtime/Completion.cpp \
-       JavaScriptCore/runtime/JSArray.cpp \
-       JavaScriptCore/runtime/JSArray.h \
-       JavaScriptCore/runtime/JSAPIValueWrapper.cpp \
-       JavaScriptCore/runtime/JSAPIValueWrapper.h \
-       JavaScriptCore/runtime/JSCell.cpp \
-       JavaScriptCore/runtime/JSCell.h \
-       JavaScriptCore/runtime/JSFunction.cpp \
-       JavaScriptCore/runtime/JSFunction.h \
-       JavaScriptCore/runtime/JSGlobalObject.cpp \
-       JavaScriptCore/runtime/JSGlobalObject.h \
-       JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp \
-       JavaScriptCore/runtime/JSGlobalObjectFunctions.h \
-       JavaScriptCore/runtime/JSImmediate.cpp \
-       JavaScriptCore/runtime/JSImmediate.h \
-       JavaScriptCore/runtime/JSLock.cpp \
-       JavaScriptCore/runtime/JSLock.h \
-       JavaScriptCore/runtime/JSNumberCell.cpp \
-       JavaScriptCore/runtime/JSNumberCell.h \
-       JavaScriptCore/runtime/JSObject.cpp \
-       JavaScriptCore/runtime/JSObject.h \
-       JavaScriptCore/runtime/JSStaticScopeObject.cpp \
-       JavaScriptCore/runtime/JSStaticScopeObject.h \
-       JavaScriptCore/runtime/JSString.cpp \
-       JavaScriptCore/runtime/JSString.h \
-       JavaScriptCore/runtime/JSType.h \
-       JavaScriptCore/runtime/JSValue.cpp \
-       JavaScriptCore/runtime/JSValue.h \
-       JavaScriptCore/runtime/JSVariableObject.cpp \
-       JavaScriptCore/runtime/JSVariableObject.h \
-       JavaScriptCore/runtime/JSWrapperObject.cpp \
-       JavaScriptCore/runtime/JSWrapperObject.h \
-       JavaScriptCore/runtime/Lookup.cpp \
-       JavaScriptCore/runtime/Lookup.h \
-       JavaScriptCore/runtime/MathObject.cpp \
-       JavaScriptCore/runtime/MathObject.h \
-       JavaScriptCore/runtime/NativeErrorConstructor.cpp \
-       JavaScriptCore/runtime/NativeErrorConstructor.h \
-       JavaScriptCore/runtime/NativeErrorPrototype.cpp \
-       JavaScriptCore/runtime/NativeErrorPrototype.h \
-       JavaScriptCore/runtime/NativeFunctionWrapper.h \
-       JavaScriptCore/runtime/NumberConstructor.cpp \
-       JavaScriptCore/runtime/NumberConstructor.h \
-       JavaScriptCore/runtime/NumberObject.cpp \
-       JavaScriptCore/runtime/NumberObject.h \
-       JavaScriptCore/runtime/NumberPrototype.cpp \
-       JavaScriptCore/runtime/NumberPrototype.h \
-       JavaScriptCore/runtime/ObjectConstructor.cpp \
-       JavaScriptCore/runtime/ObjectConstructor.h \
-       JavaScriptCore/runtime/ObjectPrototype.cpp \
-       JavaScriptCore/runtime/ObjectPrototype.h \
-       JavaScriptCore/runtime/Operations.cpp \
-       JavaScriptCore/runtime/Operations.h \
-       JavaScriptCore/runtime/PropertyMapHashTable.h \
-       JavaScriptCore/runtime/PropertyNameArray.cpp \
-       JavaScriptCore/runtime/PropertyNameArray.h \
-       JavaScriptCore/runtime/PropertySlot.cpp \
-       JavaScriptCore/runtime/PropertySlot.h \
-       JavaScriptCore/runtime/Protect.h \
-       JavaScriptCore/runtime/PrototypeFunction.cpp \
-       JavaScriptCore/runtime/PrototypeFunction.h \
-       JavaScriptCore/runtime/PutPropertySlot.h \
-       JavaScriptCore/runtime/RegExp.cpp \
-       JavaScriptCore/runtime/RegExp.h \
-       JavaScriptCore/runtime/RegExpConstructor.cpp \
-       JavaScriptCore/runtime/RegExpConstructor.h \
-       JavaScriptCore/runtime/RegExpMatchesArray.h \
-       JavaScriptCore/runtime/RegExpObject.cpp \
-       JavaScriptCore/runtime/RegExpObject.h \
-       JavaScriptCore/runtime/RegExpPrototype.cpp \
-       JavaScriptCore/runtime/RegExpPrototype.h \
-       JavaScriptCore/runtime/ScopeChain.cpp \
-       JavaScriptCore/runtime/ScopeChain.h \
-       JavaScriptCore/runtime/ScopeChainMark.h \
-       JavaScriptCore/runtime/StringConstructor.cpp \
-       JavaScriptCore/runtime/StringConstructor.h \
-       JavaScriptCore/runtime/StringObject.cpp \
-       JavaScriptCore/runtime/StringObject.h \
-       JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h \
-       JavaScriptCore/runtime/StringPrototype.cpp \
-       JavaScriptCore/runtime/StringPrototype.h \
-       JavaScriptCore/runtime/SymbolTable.h \
-       JavaScriptCore/runtime/Tracing.h \
-       JavaScriptCore/runtime/UString.cpp \
-       JavaScriptCore/runtime/UString.h \
-       JavaScriptCore/runtime/UStringImpl.cpp \
-       JavaScriptCore/runtime/UStringImpl.h \
-       JavaScriptCore/runtime/WeakRandom.h \
-       JavaScriptCore/wtf/FastAllocBase.h \
-       JavaScriptCore/wtf/FastMalloc.cpp \
-       JavaScriptCore/wtf/FastMalloc.h \
-       JavaScriptCore/wtf/MallocZoneSupport.h \
-       JavaScriptCore/wtf/TCSystemAlloc.cpp \
-       JavaScriptCore/wtf/TCSystemAlloc.h \
-       JavaScriptCore/wtf/dtoa.cpp \
-       JavaScriptCore/wtf/dtoa.h
-
-javascriptcore_built_sources += \
-       DerivedSources/Grammar.cpp \
-       DerivedSources/Grammar.h
-
-DerivedSources/Grammar.h: DerivedSources/Grammar.cpp;
-
-DerivedSources/Grammar.cpp: $(srcdir)/JavaScriptCore/parser/Grammar.y
-       $(BISON) -d -p jscyy $(srcdir)/JavaScriptCore/parser/Grammar.y -o $@ > bison_out.txt 2>&1
-       $(PERL) -p -e 'END { if ($$conflict) { unlink "Grammar.cpp"; die; } } $$conflict ||= /conflict/' < bison_out.txt
-       cat $(GENSOURCES)/Grammar.hpp > $(GENSOURCES)/Grammar.h
-       rm -f $(GENSOURCES)/Grammar.hpp bison_out.txt
-
-DerivedSources/Lexer.lut.h: $(CREATE_HASH_TABLE) $(srcdir)/JavaScriptCore/parser/Keywords.table
-       $(PERL) $^ > $@
-
-JavaScriptCore/%.lut.h: $(CREATE_HASH_TABLE) $(srcdir)/JavaScriptCore/%.cpp
-       $(PERL) $^ -i > $@
-
-JavaScriptCore/pcre/chartables.c: $(srcdir)/JavaScriptCore/pcre/dftables
-       $(PERL) $^ $@
+       -I$(srcdir)/Source/WTF
+
+javascriptcore_cflags += \
+       $(global_cflags) \
+       $(GLIB_CFLAGS) \
+       $(UNICODE_CFLAGS)
+
+pkgconfig_DATA += Source/JavaScriptCore/javascriptcoregtk-@WEBKITGTK_API_VERSION@.pc
+
+$(shell mkdir -p DerivedSources/JavaScriptCore)
+
+DerivedSources/JavaScriptCore/Lexer.lut.h: $(srcdir)/Source/JavaScriptCore/create_hash_table $(srcdir)/Source/JavaScriptCore/parser/Keywords.table
+       $(AM_V_GEN)$(PERL) $^ > $@
+
+DerivedSources/JavaScriptCore/%.lut.h: $(srcdir)/Source/JavaScriptCore/create_hash_table $(srcdir)/Source/JavaScriptCore/runtime/%.cpp
+       $(AM_V_GEN)$(PERL) $^ -i > $@
+
+DerivedSources/JavaScriptCore/RegExpJitTables.h: $(srcdir)/Source/JavaScriptCore/create_regex_tables
+       $(AM_V_GEN)$(PYTHON) $^ > $@
+
+DerivedSources/JavaScriptCore/KeywordLookup.h: $(srcdir)/Source/JavaScriptCore/KeywordLookupGenerator.py $(srcdir)/Source/JavaScriptCore/parser/Keywords.table
+       $(AM_V_GEN)$(PYTHON) $^ > $@
+
+jsc: $(javascriptcore_built_nosources) Programs/jsc$(EXEEXT)
 
 bin_PROGRAMS += \
-       Programs/jsc
+       Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT)
 
 noinst_PROGRAMS += \
+       Programs/jsc \
        Programs/minidom
 
-# minidom
-Programs_minidom_SOURCES = \
-       JavaScriptCore/API/tests/JSNode.c \
-       JavaScriptCore/API/tests/JSNode.h \
-       JavaScriptCore/API/tests/JSNodeList.c \
-       JavaScriptCore/API/tests/JSNodeList.h \
-       JavaScriptCore/API/tests/Node.c \
-       JavaScriptCore/API/tests/Node.h \
-       JavaScriptCore/API/tests/NodeList.c \
-       JavaScriptCore/API/tests/NodeList.h \
-       JavaScriptCore/API/tests/minidom.c
-
 Programs_minidom_CPPFLAGS = \
        $(global_cppflags) \
        $(javascriptcore_cppflags)
@@ -567,57 +109,55 @@ Programs_minidom_CFLAGS = \
        $(GLOBALDEPS_CFLAGS)
 
 Programs_minidom_LDADD = \
-        libJavaScriptCore.la \
-        -lm \
-        -lstdc++
+       libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
+       $(WINMM_LIBS) \
+       -lm \
+       -lpthread \
+       -lstdc++
 
 Programs_minidom_LDFLAGS = \
        -no-install \
        -no-fast-install
 
 # jsc
-Programs_jsc_SOURCES = \
-       JavaScriptCore/jsc.cpp
+Programs/jsc$(EXEEXT): Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT)
+       $(AM_V_GEN)cp -f Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT) Programs/jsc$(EXEEXT)
+Programs_jsc_LDADD =
+Programs_jsc_SOURCES =
 
-Programs_jsc_CPPFLAGS = \
+Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_CPPFLAGS = \
        $(global_cppflags) \
        $(javascriptcore_cppflags)
 
-Programs_jsc_CXXFLAGS = \
+Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_CXXFLAGS = \
        -fno-strict-aliasing \
        $(global_cxxflags) \
        $(global_cflags) \
        $(GLOBALDEPS_CFLAGS) \
        $(UNICODE_CFLAGS)
 
-Programs_jsc_LDADD = \
-       libJavaScriptCore.la
-
-javascriptcore_dist += \
-       $(CREATE_HASH_TABLE) \
-       JavaScriptCore/AUTHORS \
-       JavaScriptCore/COPYING.LIB \
-       JavaScriptCore/ChangeLog \
-       JavaScriptCore/THANKS \
-       JavaScriptCore/icu/LICENSE \
-       JavaScriptCore/icu/README \
-       JavaScriptCore/pcre/COPYING \
-       JavaScriptCore/pcre/AUTHORS \
-       JavaScriptCore/pcre/dftables \
-       JavaScriptCore/pcre/ucptable.cpp \
-       JavaScriptCore/parser/Grammar.y \
-       JavaScriptCore/parser/Keywords.table
-
-# Clean rules for JavaScriptCore
+Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_LDADD = \
+       -lpthread \
+       libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
+       $(WINMM_LIBS)
+
+EXTRA_DIST += \
+       Source/JavaScriptCore/AUTHORS \
+       Source/JavaScriptCore/ChangeLog \
+       Source/JavaScriptCore/COPYING.LIB \
+       Source/JavaScriptCore/create_hash_table \
+       Source/JavaScriptCore/create_regex_tables \
+       Source/JavaScriptCore/icu/LICENSE \
+       Source/JavaScriptCore/icu/README \
+       Source/JavaScriptCore/KeywordLookupGenerator.py \
+       Source/JavaScriptCore/parser/Keywords.table \
+       Source/JavaScriptCore/THANKS
+
 CLEANFILES += \
-       JavaScriptCore/runtime/ArrayPrototype.lut.h \
-       JavaScriptCore/runtime/DatePrototype.lut.h \
-       JavaScriptCore/runtime/JSONObject.lut.h \
-       JavaScriptCore/runtime/MathObject.lut.h \
-       JavaScriptCore/runtime/NumberConstructor.lut.h \
-       JavaScriptCore/runtime/RegExpConstructor.lut.h \
-       JavaScriptCore/runtime/RegExpObject.lut.h \
-       JavaScriptCore/runtime/StringPrototype.lut.h \
-       JavaScriptCore/pcre/chartables.c \
+       $(javascriptcore_built_nosources) \
        Programs/jsc \
+       Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@ \
        Programs/minidom
+
+DISTCLEANFILES += \
+       $(top_builddir)/Source/JavaScriptCore/javascriptcoregtk-@WEBKITGTK_API_VERSION@.pc