From 24a5a7f7c98d2ea6396a79cbbfd3c4fb07376374 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Tue, 3 Nov 2020 16:57:05 -0500 Subject: Issue #1676 - Part 4: Split builtin sources out of js/src/moz.build --- js/src/builtin/moz.build | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ js/src/moz.build | 64 ++++-------------------------------------- 2 files changed, 78 insertions(+), 59 deletions(-) create mode 100644 js/src/builtin/moz.build (limited to 'js') diff --git a/js/src/builtin/moz.build b/js/src/builtin/moz.build new file mode 100644 index 000000000..ebf9318db --- /dev/null +++ b/js/src/builtin/moz.build @@ -0,0 +1,73 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +include('../js-config.mozbuild') +include('../js-cxxflags.mozbuild') + +FINAL_LIBRARY = "js" + +# Includes should be relative to parent path +LOCAL_INCLUDES += ["!..", ".."] + +SOURCES += [ + 'AtomicsObject.cpp', + 'Eval.cpp', + 'Intl.cpp', + 'MapObject.cpp', + 'ModuleObject.cpp', + 'Object.cpp', + 'Profilers.cpp', + 'Promise.cpp', + 'Reflect.cpp', + 'ReflectParse.cpp', + 'RegExp.cpp', + 'SIMD.cpp', + 'SymbolObject.cpp', + 'TestingFunctions.cpp', + 'TypedObject.cpp', + 'WeakMapObject.cpp', + 'WeakSetObject.cpp', +] + +if CONFIG['_MSC_VER']: + if CONFIG['CPU_ARCH'] == 'x86': + SOURCES['RegExp.cpp'].no_pgo = True # Bug 772303 + +# Prepare self-hosted JS code for embedding +GENERATED_FILES += [('selfhosted.out.h', 'selfhosted.js')] +selfhosted = GENERATED_FILES[('selfhosted.out.h', 'selfhosted.js')] +selfhosted.script = 'embedjs.py:generate_selfhosted' +selfhosted.inputs = [ + '../js.msg', + 'TypedObjectConstants.h', + 'SelfHostingDefines.h', + 'Utilities.js', + 'Array.js', + 'AsyncIteration.js', + 'Classes.js', + 'Date.js', + 'Error.js', + 'Function.js', + 'Generator.js', + 'Intl.js', + 'IntlData.js', + 'Iterator.js', + 'Map.js', + 'Module.js', + 'Number.js', + 'Object.js', + 'Promise.js', + 'Reflect.js', + 'RegExp.js', + 'RegExpGlobalReplaceOpt.h.js', + 'RegExpLocalReplaceOpt.h.js', + 'String.js', + 'Set.js', + 'Sorting.js', + 'TypedArray.js', + 'TypedObject.js', + 'WeakMap.js', + 'WeakSet.js', +] diff --git a/js/src/moz.build b/js/src/moz.build index 25773b3b2..67b25470c 100644 --- a/js/src/moz.build +++ b/js/src/moz.build @@ -9,6 +9,10 @@ include('js-testing.mozbuild') FILES_PER_UNIFIED_FILE = 6 +DIRS += [ + 'builtin', +] + if CONFIG['JS_BUNDLED_EDITLINE']: DIRS += ['editline'] @@ -112,22 +116,6 @@ EXPORTS.js += [ ] SOURCES += [ - 'builtin/AtomicsObject.cpp', - 'builtin/Eval.cpp', - 'builtin/Intl.cpp', - 'builtin/MapObject.cpp', - 'builtin/ModuleObject.cpp', - 'builtin/Object.cpp', - 'builtin/Profilers.cpp', - 'builtin/Promise.cpp', - 'builtin/Reflect.cpp', - 'builtin/ReflectParse.cpp', - 'builtin/SIMD.cpp', - 'builtin/SymbolObject.cpp', - 'builtin/TestingFunctions.cpp', - 'builtin/TypedObject.cpp', - 'builtin/WeakMapObject.cpp', - 'builtin/WeakSetObject.cpp', 'devtools/sharkctl.cpp', 'ds/LifoAlloc.cpp', 'ds/MemoryProtectionExceptionHandler.cpp', @@ -342,8 +330,6 @@ SOURCES += [ # jsarray.cpp and jsatom.cpp cannot be built in unified mode because # xpcshell is broken during packaging when compiled with gcc-4.8.2 -# builtin/RegExp.cpp cannot be built in unified mode because it is built -# without PGO # frontend/Parser.cpp cannot be built in unified mode because of explicit # template instantiations. # jsdtoa.cpp cannot be built in unified mode because we want to suppress @@ -356,7 +342,6 @@ SOURCES += [ # instantiations may or may not be needed depending on what it gets bundled # with. SOURCES += [ - 'builtin/RegExp.cpp', 'frontend/Parser.cpp', 'gc/StoreBuffer.cpp', 'jsarray.cpp', @@ -616,9 +601,7 @@ USE_LIBS += [ if CONFIG['_MSC_VER']: - if CONFIG['CPU_ARCH'] == 'x86': - SOURCES['builtin/RegExp.cpp'].no_pgo = True # Bug 772303 - elif CONFIG['CPU_ARCH'] == 'x86_64' and CONFIG['JS_HAS_CTYPES']: + if CONFIG['CPU_ARCH'] == 'x86_64' and CONFIG['JS_HAS_CTYPES']: SOURCES['ctypes/CTypes.cpp'].no_pgo = True # Bug 810661 if CONFIG['OS_ARCH'] not in ('WINNT'): @@ -644,43 +627,6 @@ NO_EXPAND_LIBS = True DIST_INSTALL = True -# Prepare self-hosted JS code for embedding -GENERATED_FILES += [('selfhosted.out.h', 'selfhosted.js')] -selfhosted = GENERATED_FILES[('selfhosted.out.h', 'selfhosted.js')] -selfhosted.script = 'builtin/embedjs.py:generate_selfhosted' -selfhosted.inputs = [ - 'js.msg', - 'builtin/TypedObjectConstants.h', - 'builtin/SelfHostingDefines.h', - 'builtin/Utilities.js', - 'builtin/Array.js', - 'builtin/AsyncIteration.js', - 'builtin/Classes.js', - 'builtin/Date.js', - 'builtin/Error.js', - 'builtin/Function.js', - 'builtin/Generator.js', - 'builtin/Intl.js', - 'builtin/IntlData.js', - 'builtin/Iterator.js', - 'builtin/Map.js', - 'builtin/Module.js', - 'builtin/Number.js', - 'builtin/Object.js', - 'builtin/Promise.js', - 'builtin/Reflect.js', - 'builtin/RegExp.js', - 'builtin/RegExpGlobalReplaceOpt.h.js', - 'builtin/RegExpLocalReplaceOpt.h.js', - 'builtin/String.js', - 'builtin/Set.js', - 'builtin/Sorting.js', - 'builtin/TypedArray.js', - 'builtin/TypedObject.js', - 'builtin/WeakMap.js', - 'builtin/WeakSet.js' -] - # Suppress warnings in third-party code. # We are keeping this in the main moz.build because it is file specific if CONFIG['CLANG_CXX'] or CONFIG['GNU_CXX']: -- cgit v1.2.3