| # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- |
| # vim: set filetype=python: |
| # 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/. |
| |
| DIRS += ['config'] |
| |
| if CONFIG['DEHYDRA_PATH']: |
| DIRS += ['analysis-tests'] |
| |
| if CONFIG['JS_NATIVE_EDITLINE']: |
| DIRS += ['editline'] |
| |
| # editline needs to get built before the shell |
| if not CONFIG['JS_DISABLE_SHELL']: |
| DIRS += ['shell'] |
| |
| # FIXME: bug 530688 covers getting these working on Android |
| if CONFIG['OS_ARCH'] != 'ANDROID': |
| TEST_DIRS += ['jsapi-tests'] |
| |
| TEST_DIRS += ['tests', 'gdb'] |
| |
| MODULE = 'js' |
| |
| CONFIGURE_SUBST_FILES += ['devtools/rootAnalysis/Makefile'] |
| |
| # Changes to internal header files, used externally, massively slow down |
| # browser builds. Don't add new files here unless you know what you're |
| # doing! |
| EXPORTS += [ |
| 'js-config.h', |
| 'js.msg', |
| 'jsalloc.h', |
| 'jsapi.h', |
| 'jsclass.h', |
| 'jsclist.h', |
| 'jscpucfg.h', |
| 'jsdbgapi.h', |
| 'jsfriendapi.h', |
| 'jslock.h', |
| 'jsperf.h', |
| 'jsprf.h', |
| 'jsprototypes.h', |
| 'jsproxy.h', |
| 'jsprvtd.h', |
| 'jspubtd.h', |
| 'jstypes.h', |
| 'jsutil.h', |
| 'jsversion.h', |
| 'jswrapper.h', |
| ] |
| |
| if CONFIG['HAVE_DTRACE']: |
| EXPORTS += [ |
| '$(CURDIR)/javascript-trace.h', |
| ] |
| |
| # If you add a header here, add it to js/src/jsapi-tests/testIntTypesABI.cpp so |
| # that we ensure we don't over-expose our internal integer typedefs. Note that |
| # LegacyIntTypes.h below is deliberately exempted from this requirement. |
| EXPORTS.js += [ |
| 'Anchor.h', |
| 'CallArgs.h', |
| 'CharacterEncoding.h', |
| 'Date.h', |
| 'GCAPI.h', |
| 'HashTable.h', |
| 'HeapAPI.h', |
| 'LegacyIntTypes.h', |
| 'MemoryMetrics.h', |
| 'PropertyKey.h', |
| 'RequiredDefines.h', |
| 'RootingAPI.h', |
| 'TemplateLib.h', |
| 'Utility.h', |
| 'Value.h', |
| 'Vector.h', |
| ] |
| |
| CPP_SOURCES += [ |
| 'ArgumentsObject.cpp', |
| 'BytecodeCompiler.cpp', |
| 'BytecodeEmitter.cpp', |
| 'CharacterEncoding.cpp', |
| 'DateTime.cpp', |
| 'Debugger.cpp', |
| 'Eval.cpp', |
| 'ExecutableAllocator.cpp', |
| 'FoldConstants.cpp', |
| 'ForkJoin.cpp', |
| 'GlobalObject.cpp', |
| 'Interpreter.cpp', |
| 'Intl.cpp', |
| 'Iteration.cpp', |
| 'LifoAlloc.cpp', |
| 'MapObject.cpp', |
| 'Marking.cpp', |
| 'Memory.cpp', |
| 'Module.cpp', |
| 'Monitor.cpp', |
| 'NameFunctions.cpp', |
| 'Nursery.cpp', |
| 'Object.cpp', |
| 'ObjectImpl.cpp', |
| 'PageBlock.cpp', |
| 'ParallelArray.cpp', |
| 'ParseMaps.cpp', |
| 'ParseNode.cpp', |
| 'Parser.cpp', |
| 'Probes.cpp', |
| 'Profilers.cpp', |
| 'PropertyKey.cpp', |
| 'RegExp.cpp', |
| 'RegExpObject.cpp', |
| 'RegExpStatics.cpp', |
| 'RootMarking.cpp', |
| 'SPSProfiler.cpp', |
| 'ScopeObject.cpp', |
| 'SelfHosting.cpp', |
| 'Shape.cpp', |
| 'Stack.cpp', |
| 'Statistics.cpp', |
| 'StoreBuffer.cpp', |
| 'String.cpp', |
| 'StringBuffer.cpp', |
| 'TestingFunctions.cpp', |
| 'ThreadPool.cpp', |
| 'TokenStream.cpp', |
| 'Unicode.cpp', |
| 'Verifier.cpp', |
| 'Xdr.cpp', |
| 'YarrCanonicalizeUCS2.cpp', |
| 'YarrInterpreter.cpp', |
| 'YarrPattern.cpp', |
| 'YarrSyntaxChecker.cpp', |
| 'Zone.cpp', |
| 'jsalloc.cpp', |
| 'jsanalyze.cpp', |
| 'jsapi.cpp', |
| 'jsarray.cpp', |
| 'jsatom.cpp', |
| 'jsbool.cpp', |
| 'jsclone.cpp', |
| 'jscntxt.cpp', |
| 'jscompartment.cpp', |
| 'jscrashreport.cpp', |
| 'jsdate.cpp', |
| 'jsdbgapi.cpp', |
| 'jsdtoa.cpp', |
| 'jsexn.cpp', |
| 'jsfriendapi.cpp', |
| 'jsfun.cpp', |
| 'jsgc.cpp', |
| 'jsinfer.cpp', |
| 'jsiter.cpp', |
| 'jsmath.cpp', |
| 'jsmemorymetrics.cpp', |
| 'jsnativestack.cpp', |
| 'jsnum.cpp', |
| 'jsobj.cpp', |
| 'json.cpp', |
| 'jsonparser.cpp', |
| 'jsopcode.cpp', |
| 'jsperf.cpp', |
| 'jsprf.cpp', |
| 'jspropertytree.cpp', |
| 'jsproxy.cpp', |
| 'jsreflect.cpp', |
| 'jsscript.cpp', |
| 'jsstr.cpp', |
| 'jstypedarray.cpp', |
| 'jsutil.cpp', |
| 'jswatchpoint.cpp', |
| 'jsweakmap.cpp', |
| 'jsworkers.cpp', |
| 'jswrapper.cpp', |
| 'prmjtime.cpp', |
| 'sharkctl.cpp', |
| ] |
| |
| if CONFIG['MOZ_INSTRUMENTS']: |
| CPP_SOURCES += [ |
| 'Instruments.cpp', |
| ] |
| |
| if CONFIG['ENABLE_TRACE_LOGGING']: |
| CPP_SOURCES += [ |
| 'TraceLogging.cpp', |
| ] |
| |
| if CONFIG['ENABLE_ION']: |
| CPP_SOURCES += [ |
| 'AliasAnalysis.cpp', |
| 'AsmJS.cpp', |
| 'AsmJSLink.cpp', |
| 'AsmJSSignalHandlers.cpp', |
| 'BacktrackingAllocator.cpp', |
| 'Bailouts.cpp', |
| 'BaselineBailouts.cpp', |
| 'BaselineCompiler-shared.cpp', |
| 'BaselineCompiler.cpp', |
| 'BaselineFrame.cpp', |
| 'BaselineFrameInfo.cpp', |
| 'BaselineIC.cpp', |
| 'BaselineInspector.cpp', |
| 'BaselineJIT.cpp', |
| 'BitSet.cpp', |
| 'BytecodeAnalysis.cpp', |
| 'C1Spewer.cpp', |
| 'CodeGenerator-shared.cpp', |
| 'CodeGenerator.cpp', |
| 'EdgeCaseAnalysis.cpp', |
| 'EffectiveAddressAnalysis.cpp', |
| 'Ion.cpp', |
| 'IonAnalysis.cpp', |
| 'IonBuilder.cpp', |
| 'IonCaches.cpp', |
| 'IonFrames.cpp', |
| 'IonMacroAssembler.cpp', |
| 'IonSpewer.cpp', |
| 'JSONSpewer.cpp', |
| 'PerfSpewer.cpp', |
| 'LICM.cpp', |
| 'LIR.cpp', |
| 'LinearScan.cpp', |
| 'LiveRangeAllocator.cpp', |
| 'Lowering-shared.cpp', |
| 'Lowering.cpp', |
| 'MCallOptimize.cpp', |
| 'MIR.cpp', |
| 'MIRGraph.cpp', |
| 'MoveResolver.cpp', |
| 'ParallelArrayAnalysis.cpp', |
| 'ParallelFunctions.cpp', |
| 'RangeAnalysis.cpp', |
| 'RegisterAllocator.cpp', |
| 'Safepoints.cpp', |
| 'Snapshots.cpp', |
| 'StupidAllocator.cpp', |
| 'TypePolicy.cpp', |
| 'UnreachableCodeElimination.cpp', |
| 'VMFunctions.cpp', |
| 'ValueNumbering.cpp', |
| ] |
| if CONFIG['TARGET_CPU'].find('86') != -1: |
| CPP_SOURCES += [ |
| 'Assembler-x86-shared.cpp', |
| 'BaselineCompiler-x86-shared.cpp', |
| 'BaselineIC-x86-shared.cpp', |
| 'CodeGenerator-x86-shared.cpp', |
| 'IonFrames-x86-shared.cpp', |
| 'Lowering-x86-shared.cpp', |
| 'MoveEmitter-x86-shared.cpp', |
| ] |
| if CONFIG['TARGET_CPU'] == 'x86_64': |
| CPP_SOURCES += [ |
| 'Assembler-x64.cpp', |
| 'Bailouts-x64.cpp', |
| 'BaselineCompiler-x64.cpp', |
| 'BaselineIC-x64.cpp', |
| 'CodeGenerator-x64.cpp', |
| 'Lowering-x64.cpp', |
| 'MacroAssembler-x64.cpp', |
| 'Trampoline-x64.cpp', |
| ] |
| else: |
| CPP_SOURCES += [ |
| 'Assembler-x86.cpp', |
| 'Bailouts-x86.cpp', |
| 'BaselineCompiler-x86.cpp', |
| 'BaselineIC-x86.cpp', |
| 'CodeGenerator-x86.cpp', |
| 'Lowering-x86.cpp', |
| 'MacroAssembler-x86.cpp', |
| 'Trampoline-x86.cpp', |
| ] |
| elif CONFIG['TARGET_CPU'].find('arm') != -1: |
| CPP_SOURCES += [ |
| 'Architecture-arm.cpp', |
| 'Assembler-arm.cpp', |
| 'Bailouts-arm.cpp', |
| 'BaselineCompiler-arm.cpp', |
| 'BaselineIC-arm.cpp', |
| 'CodeGenerator-arm.cpp', |
| 'IonFrames-arm.cpp', |
| 'Lowering-arm.cpp', |
| 'MacroAssembler-arm.cpp', |
| 'MoveEmitter-arm.cpp', |
| 'Trampoline-arm.cpp', |
| ] |
| |
| if CONFIG['OS_ARCH'] == 'WINNT': |
| CPP_SOURCES += [ |
| 'ExecutableAllocatorWin.cpp', |
| 'OSAllocatorWin.cpp', |
| ] |
| elif CONFIG['OS_ARCH'] == 'OS2': |
| CPP_SOURCES += [ |
| 'ExecutableAllocatorOS2.cpp', |
| 'OSAllocatorOS2.cpp', |
| ] |
| else: |
| CPP_SOURCES += [ |
| 'ExecutableAllocatorPosix.cpp', |
| 'OSAllocatorPosix.cpp', |
| ] |
| |
| if CONFIG['ENABLE_ION'] or CONFIG['ENABLE_YARR_JIT']: |
| CPP_SOURCES += [ |
| 'ARMAssembler.cpp', |
| 'MacroAssemblerARM.cpp', |
| 'MacroAssemblerX86Common.cpp', |
| ] |
| |
| if CONFIG['ENABLE_YARR_JIT']: |
| CPP_SOURCES += [ |
| 'YarrJIT.cpp' |
| ] |
| |
| if CONFIG['JS_HAS_CTYPES']: |
| CPP_SOURCES += [ |
| 'CTypes.cpp', |
| 'Library.cpp', |
| ] |
| |
| if CONFIG['HAVE_LINUX_PERF_EVENT_H']: |
| CPP_SOURCES += [ |
| 'pm_linux.cpp' |
| ] |
| else: |
| CPP_SOURCES += [ |
| 'pm_stub.cpp' |
| ] |