source: webkit/trunk/Source/JavaScriptCore/DerivedSources.make@ 262083

Last change on this file since 262083 was 261215, checked in by Ross Kirsling, 5 years ago

[ECMA-402] Implement Intl.Locale
https://bugs.webkit.org/show_bug.cgi?id=209772

Reviewed by Darin Adler and Saam Barati.

JSTests:

  • stress/intl-locale.js: Added.
  • stress/intl-locale-as-intl-param.js: Added.
  • test262/config.yaml:

Enable Intl.Locale feature with flag.

  • test262/expectations.yaml:

Mark known failures.
None of these should be specific to Intl.Locale.

Source/JavaScriptCore:

This patch implements the recent ECMA-402 feature Intl.Locale.

This is effectively a wrapper class for all the pieces of uloc.h that ECMA-402 cares about.
(If we used the C++ API, there's a LocaleBuilder that would make this much easier, but in sticking to the C API,
it's basically an object that has an ICU localeID as data and uloc_* functions as methods / getters.
Furthermore, there's no way to modify said data, so every method / getter can be lazy and cache its result.)

Usage example:

locale = new Intl.Locale('ja', { region: 'JP', calendar: 'japanese', numeric: false })

"ja-JP-u-ca-japanese-kn-false"

locale.baseName

"ja-JP"

Intl.Locale can be used anywhere that Intl APIs accept locale strings as input parameters,
and is moreover hoped to be the class by which future Web APIs will handle the current locale.

This feature is runtime-guarded by the useIntlLocale option.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • runtime/CommonIdentifiers.h:
  • runtime/IntlLocale.cpp: Added.
  • runtime/IntlLocale.h: Added.
  • runtime/IntlLocaleConstructor.cpp: Added.
  • runtime/IntlLocaleConstructor.h: Added.
  • runtime/IntlLocalePrototype.cpp: Added.
  • runtime/IntlLocalePrototype.h: Added.
  • runtime/IntlObject.cpp:

(JSC::IntlObject::finishCreation):
(JSC::localeIDBufferForLanguageTag): Added.
(JSC::languageTagForLocaleID): Renamed from JSC::convertICULocaleToBCP47LanguageTag.
(JSC::intlAvailableLocales):
(JSC::intlCollatorAvailableLocales):
(JSC::canonicalizeLanguageTag):
(JSC::canonicalizeLocaleList):
(JSC::defaultLocale):

  • runtime/IntlObject.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::collatorStructure):
(JSC::JSGlobalObject::numberFormatStructure):
(JSC::JSGlobalObject::localeStructure):

  • runtime/OptionsList.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Tools:

  • Scripts/run-jsc-stress-tests:

Add runIntlLocaleEnabled.

  • Property svn:eol-style set to native
File size: 16.8 KB
Line 
1# Copyright (C) 2006, 2007, 2008, 2009, 2011, 2013, 2015 Apple Inc. All rights reserved.
2#
3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions
5# are met:
6#
7# 1. Redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer.
9# 2. Redistributions in binary form must reproduce the above copyright
10# notice, this list of conditions and the following disclaimer in the
11# documentation and/or other materials provided with the distribution.
12# 3. Neither the name of Apple Inc. ("Apple") nor the names of
13# its contributors may be used to endorse or promote products derived
14# from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
17# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
20# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27VPATH = \
28 $(JavaScriptCore) \
29 $(JavaScriptCore)/parser \
30 $(JavaScriptCore)/runtime \
31 $(JavaScriptCore)/interpreter \
32 $(JavaScriptCore)/jit \
33 $(JavaScriptCore)/builtins \
34 $(JavaScriptCore)/wasm/js \
35#
36
37PYTHON = python
38PERL = perl
39RUBY = ruby
40
41JavaScriptCore_SCRIPTS_DIR = $(JavaScriptCore)/Scripts
42
43ifeq ($(OS),Windows_NT)
44 DELETE = cmd //C del
45else
46 DELETE = rm -f
47endif
48
49# --------
50
51.PHONY : all
52all : \
53 udis86_itab.h \
54 InjectedScriptSource.h \
55 JSCBuiltins.h \
56 Lexer.lut.h \
57 KeywordLookup.h \
58 RegExpJitTables.h \
59 UnicodePatternTables.h \
60 yarr/YarrCanonicalizeUnicode.cpp \
61 WasmOps.h \
62 WasmB3IRGeneratorInlines.h \
63#
64
65# JavaScript builtins.
66
67BUILTINS_GENERATOR_SCRIPTS = \
68 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/__init__.py \
69 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/wkbuiltins.py \
70 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generator.py \
71 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_model.py \
72 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_templates.py \
73 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generate_combined_header.py \
74 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generate_combined_implementation.py \
75 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generate_separate_header.py \
76 $(JavaScriptCore_SCRIPTS_DIR)/wkbuiltins/builtins_generate_separate_implementation.py \
77 ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins/builtins_generate_wrapper_header.py \
78 ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins/builtins_generate_wrapper_implementation.py \
79 ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins/builtins_generate_internals_wrapper_header.py \
80 ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins/builtins_generate_internals_wrapper_implementation.py \
81 $(JavaScriptCore_SCRIPTS_DIR)/generate-js-builtins.py \
82 $(JavaScriptCore_SCRIPTS_DIR)/lazywriter.py \
83#
84
85JavaScriptCore_BUILTINS_SOURCES = \
86 $(JavaScriptCore)/builtins/AsyncFromSyncIteratorPrototype.js \
87 $(JavaScriptCore)/builtins/ArrayConstructor.js \
88 $(JavaScriptCore)/builtins/ArrayIteratorPrototype.js \
89 $(JavaScriptCore)/builtins/ArrayPrototype.js \
90 $(JavaScriptCore)/builtins/AsyncIteratorPrototype.js \
91 $(JavaScriptCore)/builtins/AsyncFunctionPrototype.js \
92 $(JavaScriptCore)/builtins/AsyncGeneratorPrototype.js \
93 $(JavaScriptCore)/builtins/DatePrototype.js \
94 $(JavaScriptCore)/builtins/FunctionPrototype.js \
95 $(JavaScriptCore)/builtins/GeneratorPrototype.js \
96 $(JavaScriptCore)/builtins/GlobalObject.js \
97 $(JavaScriptCore)/builtins/GlobalOperations.js \
98 $(JavaScriptCore)/builtins/InspectorInstrumentationObject.js \
99 $(JavaScriptCore)/builtins/InternalPromiseConstructor.js \
100 $(JavaScriptCore)/builtins/IteratorHelpers.js \
101 $(JavaScriptCore)/builtins/IteratorPrototype.js \
102 $(JavaScriptCore)/builtins/MapIteratorPrototype.js \
103 $(JavaScriptCore)/builtins/MapPrototype.js \
104 $(JavaScriptCore)/builtins/ModuleLoader.js \
105 $(JavaScriptCore)/builtins/NumberConstructor.js \
106 $(JavaScriptCore)/builtins/ObjectConstructor.js \
107 $(JavaScriptCore)/builtins/PromiseConstructor.js \
108 $(JavaScriptCore)/builtins/PromiseOperations.js \
109 $(JavaScriptCore)/builtins/PromisePrototype.js \
110 $(JavaScriptCore)/builtins/ReflectObject.js \
111 $(JavaScriptCore)/builtins/RegExpPrototype.js \
112 ${JavaScriptCore}/builtins/RegExpStringIteratorPrototype.js \
113 $(JavaScriptCore)/builtins/SetIteratorPrototype.js \
114 $(JavaScriptCore)/builtins/SetPrototype.js \
115 $(JavaScriptCore)/builtins/StringConstructor.js \
116 $(JavaScriptCore)/builtins/StringIteratorPrototype.js \
117 $(JavaScriptCore)/builtins/StringPrototype.js \
118 $(JavaScriptCore)/builtins/TypedArrayConstructor.js \
119 $(JavaScriptCore)/builtins/TypedArrayPrototype.js \
120 $(JavaScriptCore)/builtins/WebAssembly.js \
121#
122
123# The combined output file depends on the contents of builtins and generator scripts, so
124# adding, modifying, or removing builtins or scripts will trigger regeneration of files.
125
126JavaScriptCore_BUILTINS_DEPENDENCIES_LIST : $(JavaScriptCore_SCRIPTS_DIR)/UpdateContents.py DerivedSources.make
127 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/UpdateContents.py '$(JavaScriptCore_BUILTINS_SOURCES) $(BUILTINS_GENERATOR_SCRIPTS)' $@
128
129JSCBuiltins.h: $(BUILTINS_GENERATOR_SCRIPTS) $(JavaScriptCore_BUILTINS_SOURCES) JavaScriptCore_BUILTINS_DEPENDENCIES_LIST
130 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/generate-js-builtins.py --combined --output-directory . --framework JavaScriptCore $(JavaScriptCore_BUILTINS_SOURCES)
131
132# Perfect hash lookup tables for JavaScript classes.
133
134OBJECT_LUT_HEADERS = \
135 AsyncFromSyncIteratorPrototype.lut.h \
136 ArrayConstructor.lut.h \
137 AsyncGeneratorPrototype.lut.h \
138 BigIntConstructor.lut.h \
139 BigIntPrototype.lut.h \
140 BooleanPrototype.lut.h \
141 DateConstructor.lut.h \
142 DatePrototype.lut.h \
143 ErrorPrototype.lut.h \
144 GeneratorPrototype.lut.h \
145 InspectorInstrumentationObject.lut.h \
146 IntlCollatorConstructor.lut.h \
147 IntlCollatorPrototype.lut.h \
148 IntlDateTimeFormatConstructor.lut.h \
149 IntlDateTimeFormatPrototype.lut.h \
150 IntlLocalePrototype.lut.h \
151 IntlNumberFormatConstructor.lut.h \
152 IntlNumberFormatPrototype.lut.h \
153 IntlObject.lut.h \
154 IntlPluralRulesConstructor.lut.h \
155 IntlPluralRulesPrototype.lut.h \
156 IntlRelativeTimeFormatConstructor.lut.h \
157 IntlRelativeTimeFormatPrototype.lut.h \
158 JSDataViewPrototype.lut.h \
159 JSGlobalObject.lut.h \
160 JSInternalPromiseConstructor.lut.h \
161 JSModuleLoader.lut.h \
162 JSONObject.lut.h \
163 JSPromiseConstructor.lut.h \
164 JSPromisePrototype.lut.h \
165 JSWebAssembly.lut.h \
166 MapPrototype.lut.h \
167 NumberConstructor.lut.h \
168 NumberPrototype.lut.h \
169 ObjectConstructor.lut.h \
170 ReflectObject.lut.h \
171 RegExpConstructor.lut.h \
172 SetPrototype.lut.h \
173 StringConstructor.lut.h \
174 StringPrototype.lut.h \
175 SymbolConstructor.lut.h \
176 SymbolPrototype.lut.h \
177 WebAssemblyCompileErrorConstructor.lut.h \
178 WebAssemblyCompileErrorPrototype.lut.h \
179 WebAssemblyGlobalConstructor.lut.h \
180 WebAssemblyGlobalPrototype.lut.h \
181 WebAssemblyInstanceConstructor.lut.h \
182 WebAssemblyInstancePrototype.lut.h \
183 WebAssemblyLinkErrorConstructor.lut.h \
184 WebAssemblyLinkErrorPrototype.lut.h \
185 WebAssemblyMemoryConstructor.lut.h \
186 WebAssemblyMemoryPrototype.lut.h \
187 WebAssemblyModuleConstructor.lut.h \
188 WebAssemblyModulePrototype.lut.h \
189 WebAssemblyRuntimeErrorConstructor.lut.h \
190 WebAssemblyRuntimeErrorPrototype.lut.h \
191 WebAssemblyTableConstructor.lut.h \
192 WebAssemblyTablePrototype.lut.h \
193#
194
195$(OBJECT_LUT_HEADERS): %.lut.h : %.cpp $(JavaScriptCore)/create_hash_table
196 $(PERL) $(JavaScriptCore)/create_hash_table $< > $@
197
198Lexer.lut.h: Keywords.table $(JavaScriptCore)/create_hash_table
199 $(PERL) $(JavaScriptCore)/create_hash_table $< > $@
200
201# character tables for Yarr
202
203RegExpJitTables.h: yarr/create_regex_tables
204 $(PYTHON) $^ > $@
205
206KeywordLookup.h: KeywordLookupGenerator.py Keywords.table
207 $(PYTHON) $^ > $@
208
209# udis86 instruction tables
210
211udis86_itab.h: $(JavaScriptCore)/disassembler/udis86/ud_itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml
212 $(PYTHON) $(JavaScriptCore)/disassembler/udis86/ud_itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml .
213
214# Bytecode files
215
216BYTECODE_FILES = \
217 Bytecodes.h \
218 BytecodeIndices.h \
219 BytecodeStructs.h \
220 InitBytecodes.asm \
221 WasmLLIntGeneratorInlines.h \
222 InitWasm.asm \
223 BytecodeDumperGenerated.cpp \
224#
225BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
226
227all : $(BYTECODE_FILES)
228
229$(BYTECODE_FILES_PATTERNS): $(wildcard $(JavaScriptCore)/generator/*.rb) $(JavaScriptCore)/bytecode/BytecodeList.rb $(JavaScriptCore)/wasm/wasm.json
230 $(RUBY) $(JavaScriptCore)/generator/main.rb $(JavaScriptCore)/bytecode/BytecodeList.rb \
231 --bytecode_structs_h BytecodeStructs.h \
232 --init_bytecodes_asm InitBytecodes.asm \
233 --bytecodes_h Bytecodes.h \
234 --bytecode_indices_h BytecodeIndices.h \
235 --wasm_json $(JavaScriptCore)/wasm/wasm.json \
236 --wasm_llint_generator_h WasmLLIntGeneratorInlines.h \
237 --init_wasm_llint InitWasm.asm \
238 --bytecode_dumper BytecodeDumperGenerated.cpp \
239
240# Inspector interfaces
241
242INSPECTOR_DOMAINS := \
243 $(JavaScriptCore)/inspector/protocol/Animation.json \
244 $(JavaScriptCore)/inspector/protocol/ApplicationCache.json \
245 $(JavaScriptCore)/inspector/protocol/Audit.json \
246 $(JavaScriptCore)/inspector/protocol/CSS.json \
247 $(JavaScriptCore)/inspector/protocol/Canvas.json \
248 $(JavaScriptCore)/inspector/protocol/Console.json \
249 $(JavaScriptCore)/inspector/protocol/DOM.json \
250 $(JavaScriptCore)/inspector/protocol/DOMDebugger.json \
251 $(JavaScriptCore)/inspector/protocol/DOMStorage.json \
252 $(JavaScriptCore)/inspector/protocol/Database.json \
253 $(JavaScriptCore)/inspector/protocol/Debugger.json \
254 $(JavaScriptCore)/inspector/protocol/Browser.json \
255 $(JavaScriptCore)/inspector/protocol/GenericTypes.json \
256 $(JavaScriptCore)/inspector/protocol/Heap.json \
257 $(JavaScriptCore)/inspector/protocol/Inspector.json \
258 $(JavaScriptCore)/inspector/protocol/LayerTree.json \
259 $(JavaScriptCore)/inspector/protocol/Network.json \
260 $(JavaScriptCore)/inspector/protocol/Page.json \
261 $(JavaScriptCore)/inspector/protocol/Recording.json \
262 $(JavaScriptCore)/inspector/protocol/Runtime.json \
263 $(JavaScriptCore)/inspector/protocol/ScriptProfiler.json \
264 $(JavaScriptCore)/inspector/protocol/Security.json \
265 $(JavaScriptCore)/inspector/protocol/Target.json \
266 $(JavaScriptCore)/inspector/protocol/Timeline.json \
267 $(JavaScriptCore)/inspector/protocol/Worker.json \
268#
269
270ifeq ($(findstring ENABLE_INDEXED_DATABASE,$(FEATURE_DEFINES)), ENABLE_INDEXED_DATABASE)
271 INSPECTOR_DOMAINS := $(INSPECTOR_DOMAINS) $(JavaScriptCore)/inspector/protocol/IndexedDB.json
272endif
273
274ifeq ($(findstring ENABLE_RESOURCE_USAGE,$(FEATURE_DEFINES)), ENABLE_RESOURCE_USAGE)
275 INSPECTOR_DOMAINS := $(INSPECTOR_DOMAINS) $(JavaScriptCore)/inspector/protocol/CPUProfiler.json
276 INSPECTOR_DOMAINS := $(INSPECTOR_DOMAINS) $(JavaScriptCore)/inspector/protocol/Memory.json
277endif
278
279ifeq ($(findstring ENABLE_SERVICE_WORKER,$(FEATURE_DEFINES)), ENABLE_SERVICE_WORKER)
280 INSPECTOR_DOMAINS := $(INSPECTOR_DOMAINS) $(JavaScriptCore)/inspector/protocol/ServiceWorker.json
281endif
282
283INSPECTOR_GENERATOR_SCRIPTS = \
284 $(JavaScriptCore)/inspector/scripts/codegen/__init__.py \
285 $(JavaScriptCore)/inspector/scripts/codegen/cpp_generator_templates.py \
286 $(JavaScriptCore)/inspector/scripts/codegen/cpp_generator.py \
287 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py \
288 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py \
289 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py \
290 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py \
291 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_protocol_types_header.py \
292 $(JavaScriptCore)/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py \
293 $(JavaScriptCore)/inspector/scripts/codegen/generate_js_backend_commands.py \
294 $(JavaScriptCore)/inspector/scripts/codegen/generator_templates.py \
295 $(JavaScriptCore)/inspector/scripts/codegen/generator.py \
296 $(JavaScriptCore)/inspector/scripts/codegen/models.py \
297 $(JavaScriptCore)/inspector/scripts/generate-inspector-protocol-bindings.py \
298 $(JavaScriptCore_SCRIPTS_DIR)/generate-combined-inspector-json.py \
299#
300
301# TODO: Is there some way to not hardcode this? Can we get it from
302# generate-inspector-protocol-bindings.py and ./CombinedDomains.json?
303INSPECTOR_DISPATCHER_FILES = \
304 inspector/InspectorAlternateBackendDispatchers.h \
305 inspector/InspectorBackendCommands.js \
306 inspector/InspectorBackendDispatchers.cpp \
307 inspector/InspectorBackendDispatchers.h \
308 inspector/InspectorFrontendDispatchers.cpp \
309 inspector/InspectorFrontendDispatchers.h \
310 inspector/InspectorProtocolObjects.cpp \
311 inspector/InspectorProtocolObjects.h \
312#
313INSPECTOR_DISPATCHER_FILES_PATTERNS = $(subst .,%,$(INSPECTOR_DISPATCHER_FILES))
314
315all : $(INSPECTOR_DISPATCHER_FILES)
316
317# The combined JSON file depends on the actual set of domains and their file contents, so that
318# adding, modifying, or removing domains will trigger regeneration of inspector files.
319
320.PHONY: force
321EnabledInspectorDomains : $(JavaScriptCore_SCRIPTS_DIR)/UpdateContents.py force
322 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/UpdateContents.py '$(INSPECTOR_DOMAINS)' $@
323
324CombinedDomains.json : $(JavaScriptCore_SCRIPTS_DIR)/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS) EnabledInspectorDomains
325 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS) > ./CombinedDomains.json
326
327# Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
328$(INSPECTOR_DISPATCHER_FILES_PATTERNS) : CombinedDomains.json $(INSPECTOR_GENERATOR_SCRIPTS)
329 $(PYTHON) $(JavaScriptCore)/inspector/scripts/generate-inspector-protocol-bindings.py --framework JavaScriptCore --outputDir inspector ./CombinedDomains.json
330
331InjectedScriptSource.h : inspector/InjectedScriptSource.js $(JavaScriptCore_SCRIPTS_DIR)/jsmin.py $(JavaScriptCore_SCRIPTS_DIR)/xxd.pl
332 echo "//# sourceURL=__InjectedScript_InjectedScriptSource.js" > ./InjectedScriptSource.min.js
333 $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/jsmin.py < $(JavaScriptCore)/inspector/InjectedScriptSource.js >> ./InjectedScriptSource.min.js
334 $(PERL) $(JavaScriptCore_SCRIPTS_DIR)/xxd.pl InjectedScriptSource_js ./InjectedScriptSource.min.js InjectedScriptSource.h
335 $(DELETE) InjectedScriptSource.min.js
336
337AIR_OPCODE_FILES = \
338 AirOpcode.h \
339 AirOpcodeUtils.h \
340 AirOpcodeGenerated.h \
341#
342AIR_OPCODE_FILES_PATTERNS = $(subst .,%,$(AIR_OPCODE_FILES))
343
344all : $(AIR_OPCODE_FILES)
345
346$(AIR_OPCODE_FILES_PATTERNS) : $(JavaScriptCore)/b3/air/opcode_generator.rb $(JavaScriptCore)/b3/air/AirOpcode.opcodes
347 $(RUBY) $^
348
349UnicodePatternTables.h: $(JavaScriptCore)/yarr/generateYarrUnicodePropertyTables.py $(JavaScriptCore)/yarr/hasher.py $(JavaScriptCore)/ucd/DerivedBinaryProperties.txt $(JavaScriptCore)/ucd/DerivedCoreProperties.txt $(JavaScriptCore)/ucd/DerivedNormalizationProps.txt $(JavaScriptCore)/ucd/PropList.txt $(JavaScriptCore)/ucd/PropertyAliases.txt $(JavaScriptCore)/ucd/PropertyValueAliases.txt $(JavaScriptCore)/ucd/ScriptExtensions.txt $(JavaScriptCore)/ucd/Scripts.txt $(JavaScriptCore)/ucd/UnicodeData.txt $(JavaScriptCore)/ucd/emoji-data.txt
350 $(PYTHON) $(JavaScriptCore)/yarr/generateYarrUnicodePropertyTables.py $(JavaScriptCore)/ucd ./UnicodePatternTables.h
351
352yarr/YarrCanonicalizeUnicode.cpp: $(JavaScriptCore)/yarr/generateYarrCanonicalizeUnicode $(JavaScriptCore)/ucd/CaseFolding.txt
353 $(PYTHON) $(JavaScriptCore)/yarr/generateYarrCanonicalizeUnicode $(JavaScriptCore)/ucd/CaseFolding.txt ./yarr/YarrCanonicalizeUnicode.cpp
354
355WasmOps.h: $(JavaScriptCore)/wasm/generateWasmOpsHeader.py $(JavaScriptCore)/wasm/generateWasm.py $(JavaScriptCore)/wasm/wasm.json
356 $(PYTHON) $(JavaScriptCore)/wasm/generateWasmOpsHeader.py $(JavaScriptCore)/wasm/wasm.json ./WasmOps.h
357
358WasmB3IRGeneratorInlines.h: $(JavaScriptCore)/wasm/generateWasmB3IRGeneratorInlinesHeader.py $(JavaScriptCore)/wasm/generateWasm.py $(JavaScriptCore)/wasm/wasm.json
359 $(PYTHON) $(JavaScriptCore)/wasm/generateWasmB3IRGeneratorInlinesHeader.py $(JavaScriptCore)/wasm/wasm.json ./WasmB3IRGeneratorInlines.h
360
361# Dynamically-defined targets are listed below. Static targets belong up top.
362
363all : \
364 $(OBJECT_LUT_HEADERS) \
365#
Note: See TracBrowser for help on using the repository browser.