diff options
Diffstat (limited to 'Source/JavaScriptCore/GNUmakefile.am')
| -rw-r--r-- | Source/JavaScriptCore/GNUmakefile.am | 275 |
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 |
