blob: 253c241bc44027d4119e74a2649a03fd802cb49f [file] [log] [blame]
# -*- 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'
]