# -*- 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' ]