summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/GNUmakefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/GNUmakefile.am')
-rw-r--r--Source/JavaScriptCore/GNUmakefile.am275
1 files changed, 275 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/GNUmakefile.am b/Source/JavaScriptCore/GNUmakefile.am
new file mode 100644
index 000000000..ab058b606
--- /dev/null
+++ b/Source/JavaScriptCore/GNUmakefile.am
@@ -0,0 +1,275 @@
+include $(srcdir)/Source/JavaScriptCore/GNUmakefile.list.am
+
+lib_LTLIBRARIES += \
+ libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
+
+jsc_lib_for_dep = libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
+$(jsc_lib_for_dep): $(srcdir)/Source/JavaScriptCore/GNUmakefile.list.am
+
+# 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 @LIBJAVASCRIPTCOREGTK_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 \
+ $(GLIB_LIBS) \
+ $(LLVM_LIBS) \
+ $(UNICODE_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 = \
+ $(javascriptcore_cflags)
+
+libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CPPFLAGS = \
+ $(global_cppflags) \
+ $(javascriptcore_cppflags)
+
+javascriptcore_cppflags += \
+ -I$(srcdir)/Source \
+ -I$(srcdir)/Source/JavaScriptCore \
+ -I$(srcdir)/Source/JavaScriptCore/API \
+ -I$(srcdir)/Source/JavaScriptCore/ForwardingHeaders \
+ -I$(srcdir)/Source/JavaScriptCore/assembler \
+ -I$(srcdir)/Source/JavaScriptCore/bindings \
+ -I$(srcdir)/Source/JavaScriptCore/bytecode \
+ -I$(srcdir)/Source/JavaScriptCore/bytecompiler \
+ -I$(srcdir)/Source/JavaScriptCore/debugger \
+ -I$(srcdir)/Source/JavaScriptCore/dfg \
+ -I$(srcdir)/Source/JavaScriptCore/disassembler \
+ -I$(srcdir)/Source/JavaScriptCore/ftl \
+ -I$(srcdir)/Source/JavaScriptCore/heap \
+ -I$(srcdir)/Source/JavaScriptCore/inspector \
+ -I$(srcdir)/Source/JavaScriptCore/inspector/agents \
+ -I$(srcdir)/Source/JavaScriptCore/interpreter \
+ -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 \
+ -I$(srcdir)/Source/WTF \
+ $(LLVM_CFLAGS)
+
+# FIXME: the -fomit-frame-pointer and -ftree-dce optimizations are disabled after they've been causing
+# trouble with the merged jsCStack code. The former is required due to otherwise incorrectly compiled
+# operationCallEval function, while the latter is required when using GCC 4.8. See bugs #127777 and
+# #127909 for more information.
+javascriptcore_cppflags += \
+ -fno-omit-frame-pointer
+
+if COMPILER_GCC
+javascriptcore_cppflags += \
+ -fno-tree-dce
+endif
+
+javascriptcore_cflags += \
+ $(global_cflags) \
+ $(GLIB_CFLAGS) \
+ $(LLVM_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) $^ > $@
+
+DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h: $(javascriptcore_sources) $(llint_nosources) $(offlineasm_nosources)
+ $(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm $@
+ $(AM_V_at)touch $@
+
+$(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h
+
+DerivedSources/JavaScriptCore/LLIntAssembly.h: Programs/LLIntOffsetsExtractor$(EXEEXT)
+ $(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/asm.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm Programs/LLIntOffsetsExtractor$(EXEEXT) $@
+ $(AM_V_at)touch $@
+
+$(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_OBJECTS): DerivedSources/JavaScriptCore/LLIntAssembly.h
+
+jsc: $(javascriptcore_built_nosources) Programs/jsc$(EXEEXT)
+
+bin_PROGRAMS += \
+ Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@$(EXEEXT)
+
+noinst_PROGRAMS += \
+ Programs/jsc \
+ Programs/minidom \
+ Programs/LLIntOffsetsExtractor
+
+Programs_minidom_CPPFLAGS = \
+ $(global_cppflags) \
+ $(javascriptcore_cppflags)
+
+Programs_minidom_CFLAGS = \
+ -ansi \
+ -fno-strict-aliasing \
+ $(global_cflags) \
+ $(GLOBALDEPS_CFLAGS)
+
+Programs_minidom_LDADD = \
+ libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
+ $(WINMM_LIBS) \
+ -lm \
+ -lpthread \
+ -lstdc++
+
+Programs_minidom_LDFLAGS = \
+ -no-install
+
+Programs_LLIntOffsetsExtractor_CPPFLAGS = \
+ $(global_cppflags) \
+ $(javascriptcore_cppflags)
+
+Programs_LLIntOffsetsExtractor_CFLAGS = \
+ -ansi \
+ -fno-strict-aliasing \
+ $(global_cflags) \
+ $(GLOBALDEPS_CFLAGS)
+
+Programs_LLIntOffsetsExtractor_LDADD = \
+ -lpthread \
+ libWTF.la \
+ $(UNICODE_LIBS) \
+ $(GLIB_LIBS) \
+ $(WINMM_LIBS) \
+ -lm \
+ -lpthread \
+ -lstdc++
+
+Programs_LLIntOffsetsExtractor_LDFLAGS = \
+ -no-install
+
+# jsc
+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_@WEBKITGTK_API_MAJOR_VERSION@_CPPFLAGS = \
+ $(global_cppflags) \
+ $(javascriptcore_cppflags)
+
+Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_CXXFLAGS = \
+ -fno-strict-aliasing \
+ $(global_cxxflags) \
+ $(global_cflags) \
+ $(GLOBALDEPS_CFLAGS) \
+ $(UNICODE_CFLAGS)
+
+Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_LDADD = \
+ -lpthread \
+ libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
+ $(WINMM_LIBS)
+
+if OS_DARWIN
+Programs_jsc_@WEBKITGTK_API_MAJOR_VERSION@_LDADD += -ledit
+endif
+
+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/inspector/InjectedScriptSource.js \
+ Source/JavaScriptCore/inspector/protocol/Debugger.json \
+ Source/JavaScriptCore/inspector/protocol/GenericTypes.json \
+ Source/JavaScriptCore/inspector/protocol/InspectorDomain.json \
+ Source/JavaScriptCore/inspector/protocol/Runtime.json \
+ Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py \
+ Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspectorStrings.py \
+ Source/JavaScriptCore/inspector/scripts/cssmin.py \
+ Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py \
+ Source/JavaScriptCore/inspector/scripts/inline-and-minify-stylesheets-and-scripts.py \
+ Source/JavaScriptCore/inspector/scripts/jsmin.py \
+ Source/JavaScriptCore/inspector/scripts/xxd.pl \
+ Source/JavaScriptCore/KeywordLookupGenerator.py \
+ Source/JavaScriptCore/parser/Keywords.table \
+ Source/JavaScriptCore/THANKS \
+ $(llint_nosources) \
+ $(offlineasm_nosources)
+
+CLEANFILES += \
+ $(javascriptcore_built_nosources) \
+ Programs/jsc \
+ Programs/jsc-@WEBKITGTK_API_MAJOR_VERSION@ \
+ Programs/LLIntOffsetsExtractor \
+ Programs/minidom
+
+DISTCLEANFILES += \
+ $(top_builddir)/Source/JavaScriptCore/javascriptcoregtk-@WEBKITGTK_API_VERSION@.pc
+
+if ENABLE_INTROSPECTION
+# The GIR file is generated via autoconf, as we don't need to run the scanner against non-GObject libraries.
+JavaScriptCore-@WEBKITGTK_API_VERSION@.typelib: JavaScriptCore-@WEBKITGTK_API_VERSION@.gir $(G_IR_COMPILER)
+ $(AM_V_GEN)$(G_IR_COMPILER) --includedir $(WebKit) --includedir $(top_builddir) $< -o $@
+
+gir_DATA += JavaScriptCore-@WEBKITGTK_API_VERSION@.gir
+typelibs_DATA += JavaScriptCore-@WEBKITGTK_API_VERSION@.typelib
+CLEANFILES += JavaScriptCore-@WEBKITGTK_API_VERSION@.gir JavaScriptCore-@WEBKITGTK_API_VERSION@.typelib
+endif
+
+
+# Inspector Interfaces
+
+JavaScriptCore_INSPECTOR_DOMAINS := \
+ $(JavaScriptCore)/inspector/protocol/Debugger.json \
+ $(JavaScriptCore)/inspector/protocol/GenericTypes.json \
+ $(JavaScriptCore)/inspector/protocol/InspectorDomain.json \
+ $(JavaScriptCore)/inspector/protocol/Runtime.json
+
+DerivedSources/JavaScriptCore/InspectorJS.json: $(INSPECTOR_SCRIPTS_DIR)/generate-combined-inspector-json.py $(JavaScriptCore_INSPECTOR_DOMAINS)
+ $(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/generate-combined-inspector-json.py $(JavaScriptCore)/inspector/protocol > $(GENSOURCES_JAVASCRIPTCORE)/InspectorJS.json
+
+# Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
+# Copy generated header files to DerivedSources/JavaScriptCore/inspector so that WebCore's ForwardingHeader style of #include <inspector/Foo.h> will work.
+DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.cpp: DerivedSources/JavaScriptCore/InspectorJS.json $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspectorStrings.py
+ $(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $< --output_h_dir $(GENSOURCES_JAVASCRIPTCORE) --output_cpp_dir $(GENSOURCES_JAVASCRIPTCORE) --output_js_dir $(GENSOURCES_JAVASCRIPTCORE) --output_type JavaScript
+ $(AM_V_at)touch $@
+ mkdir -p DerivedSources/JavaScriptCore/inspector
+ cp DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.h DerivedSources/JavaScriptCore/inspector
+DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h: DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.cpp
+DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.cpp: DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h
+DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h: DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.cpp
+DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.cpp: DerivedSources/JavaScriptCore/InspectorJSBackendCommands.js
+DerivedSources/JavaScriptCore/InspectorJSBackendCommands.js: DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.h
+DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.h: DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.cpp
+
+DerivedSources/JavaScriptCore/InjectedScriptSource.h: $(JavaScriptCore)/inspector/InjectedScriptSource.js $(INSPECTOR_SCRIPTS_DIR)/xxd.pl $(INSPECTOR_SCRIPTS_DIR)/jsmin.py
+ $(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/jsmin.py < $< > $(GENSOURCES_JAVASCRIPTCORE)/InjectedScriptSource.min.js
+ $(AM_V_at)$(PERL) $(INSPECTOR_SCRIPTS_DIR)/xxd.pl InjectedScriptSource_js $(GENSOURCES_JAVASCRIPTCORE)/InjectedScriptSource.min.js $@
+ $(AM_V_at)rm -rf $(GENSOURCES_JAVASCRIPTCORE)/InjectedScriptSource.min.js