moz.build (1793B)
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 # vim: set filetype=python: 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7 FINAL_LIBRARY = "js" 8 9 # Includes should be relative to parent path 10 LOCAL_INCLUDES += ["!..", ".."] 11 12 include("../js-compileflags.mozbuild") 13 include("../js-config.mozbuild") 14 include("../js-cxxflags.mozbuild") 15 16 # Generate GC statistics phase data. 17 GeneratedFile( 18 "StatsPhasesGenerated.h", 19 script="GenerateStatsPhases.py", 20 entry_point="generateHeader", 21 ) 22 GeneratedFile( 23 "StatsPhasesGenerated.inc", 24 script="GenerateStatsPhases.py", 25 entry_point="generateCpp", 26 ) 27 28 UNIFIED_SOURCES += [ 29 "Allocator.cpp", 30 "AtomMarking.cpp", 31 "Barrier.cpp", 32 "BufferAllocator.cpp", 33 "Compacting.cpp", 34 "FinalizationObservers.cpp", 35 "GC.cpp", 36 "GCAPI.cpp", 37 "GCParallelTask.cpp", 38 "Heap.cpp", 39 "Marking.cpp", 40 "Nursery.cpp", 41 "ParallelMarking.cpp", 42 "Pretenuring.cpp", 43 "PublicIterators.cpp", 44 "RootMarking.cpp", 45 "Scheduling.cpp", 46 "Statistics.cpp", 47 "Sweeping.cpp", 48 "Tenuring.cpp", 49 "Tracer.cpp", 50 "Verifier.cpp", 51 "WeakMap.cpp", 52 "WeakMapPtr.cpp", 53 "Zone.cpp", 54 ] 55 56 SOURCES += [ 57 # Memory.cpp cannot be built in unified mode because it includes 58 # platform specific headers which conflict with our code on MinGW. 59 "Memory.cpp", 60 # StoreBuffer.cpp cannot be built in unified mode because its template 61 # instantiations may or may not be needed depending on what it gets 62 # bundled with. 63 "StoreBuffer.cpp", 64 ] 65 66 if CONFIG["FUZZING_JS_FUZZILLI"]: 67 include("/tools/fuzzing/libfuzzer-config.mozbuild")