js/src/moz.build

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

michael@0 1 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
michael@0 2 # vim: set filetype=python:
michael@0 3 # This Source Code Form is subject to the terms of the Mozilla Public
michael@0 4 # License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
michael@0 6
michael@0 7 if CONFIG['DEHYDRA_PATH']:
michael@0 8 DIRS += ['analysis-tests']
michael@0 9
michael@0 10 if CONFIG['JS_NATIVE_EDITLINE']:
michael@0 11 DIRS += ['editline']
michael@0 12
michael@0 13 # editline needs to get built before the shell
michael@0 14 if not CONFIG['JS_DISABLE_SHELL']:
michael@0 15 DIRS += ['shell']
michael@0 16
michael@0 17 TEST_DIRS += ['jsapi-tests', 'tests', 'gdb']
michael@0 18
michael@0 19 LOCAL_INCLUDES += ['../../mfbt/double-conversion']
michael@0 20
michael@0 21 LIBRARY_NAME = CONFIG['JS_LIBRARY_NAME']
michael@0 22
michael@0 23 CONFIGURE_SUBST_FILES += [
michael@0 24 'devtools/rootAnalysis/Makefile',
michael@0 25 'js-confdefs.h',
michael@0 26 'js-config',
michael@0 27 'js.pc',
michael@0 28 ]
michael@0 29
michael@0 30 if CONFIG['JS_STANDALONE']:
michael@0 31 DEFINES['IMPL_MFBT'] = True
michael@0 32 else:
michael@0 33 CONFIGURE_SUBST_FILES += [
michael@0 34 '../../config/autoconf-js.mk',
michael@0 35 '../../config/emptyvars-js.mk',
michael@0 36 ]
michael@0 37
michael@0 38 CONFIGURE_DEFINE_FILES += [
michael@0 39 'js-config.h',
michael@0 40 ]
michael@0 41
michael@0 42 # Changes to internal header files, used externally, massively slow down
michael@0 43 # browser builds. Don't add new files here unless you know what you're
michael@0 44 # doing!
michael@0 45 EXPORTS += [
michael@0 46 'js.msg',
michael@0 47 'jsalloc.h',
michael@0 48 'jsapi.h',
michael@0 49 'jsbytecode.h',
michael@0 50 'jsclist.h',
michael@0 51 'jscpucfg.h',
michael@0 52 'jsfriendapi.h',
michael@0 53 'jsprf.h',
michael@0 54 'jsprototypes.h',
michael@0 55 'jsproxy.h',
michael@0 56 'jspubtd.h',
michael@0 57 'jstypes.h',
michael@0 58 'jsversion.h',
michael@0 59 'jswrapper.h',
michael@0 60 'perf/jsperf.h',
michael@0 61 ]
michael@0 62
michael@0 63 # If you add a header here, add it to js/src/jsapi-tests/testIntTypesABI.cpp so
michael@0 64 # that we ensure we don't over-expose our internal integer typedefs. Note that
michael@0 65 # LegacyIntTypes.h below is deliberately exempted from this requirement.
michael@0 66 EXPORTS.js += [
michael@0 67 '../public/Anchor.h',
michael@0 68 '../public/CallArgs.h',
michael@0 69 '../public/CallNonGenericMethod.h',
michael@0 70 '../public/CharacterEncoding.h',
michael@0 71 '../public/Class.h',
michael@0 72 '../public/Date.h',
michael@0 73 '../public/GCAPI.h',
michael@0 74 '../public/HashTable.h',
michael@0 75 '../public/HeapAPI.h',
michael@0 76 '../public/Id.h',
michael@0 77 '../public/LegacyIntTypes.h',
michael@0 78 '../public/MemoryMetrics.h',
michael@0 79 '../public/OldDebugAPI.h',
michael@0 80 '../public/Principals.h',
michael@0 81 '../public/ProfilingStack.h',
michael@0 82 '../public/PropertyKey.h',
michael@0 83 '../public/RequiredDefines.h',
michael@0 84 '../public/RootingAPI.h',
michael@0 85 '../public/SliceBudget.h',
michael@0 86 '../public/StructuredClone.h',
michael@0 87 '../public/TracingAPI.h',
michael@0 88 '../public/TypeDecls.h',
michael@0 89 '../public/Utility.h',
michael@0 90 '../public/Value.h',
michael@0 91 '../public/Vector.h',
michael@0 92 '../public/WeakMapPtr.h',
michael@0 93 ]
michael@0 94
michael@0 95 UNIFIED_SOURCES += [
michael@0 96 'assembler/jit/ExecutableAllocator.cpp',
michael@0 97 'builtin/Eval.cpp',
michael@0 98 'builtin/Intl.cpp',
michael@0 99 'builtin/MapObject.cpp',
michael@0 100 'builtin/Object.cpp',
michael@0 101 'builtin/Profilers.cpp',
michael@0 102 'builtin/SIMD.cpp',
michael@0 103 'builtin/TestingFunctions.cpp',
michael@0 104 'builtin/TypedObject.cpp',
michael@0 105 'devtools/sharkctl.cpp',
michael@0 106 'ds/LifoAlloc.cpp',
michael@0 107 'frontend/BytecodeCompiler.cpp',
michael@0 108 'frontend/BytecodeEmitter.cpp',
michael@0 109 'frontend/FoldConstants.cpp',
michael@0 110 'frontend/NameFunctions.cpp',
michael@0 111 'frontend/ParseMaps.cpp',
michael@0 112 'frontend/ParseNode.cpp',
michael@0 113 'frontend/TokenStream.cpp',
michael@0 114 'gc/Barrier.cpp',
michael@0 115 'gc/Iteration.cpp',
michael@0 116 'gc/Marking.cpp',
michael@0 117 'gc/Memory.cpp',
michael@0 118 'gc/Nursery.cpp',
michael@0 119 'gc/RootMarking.cpp',
michael@0 120 'gc/Statistics.cpp',
michael@0 121 'gc/StoreBuffer.cpp',
michael@0 122 'gc/Tracer.cpp',
michael@0 123 'gc/Verifier.cpp',
michael@0 124 'gc/Zone.cpp',
michael@0 125 'jsalloc.cpp',
michael@0 126 'jsanalyze.cpp',
michael@0 127 'jsapi.cpp',
michael@0 128 'jsbool.cpp',
michael@0 129 'jscntxt.cpp',
michael@0 130 'jscompartment.cpp',
michael@0 131 'jscrashreport.cpp',
michael@0 132 'jsdate.cpp',
michael@0 133 'jsdtoa.cpp',
michael@0 134 'jsexn.cpp',
michael@0 135 'jsfriendapi.cpp',
michael@0 136 'jsfun.cpp',
michael@0 137 'jsgc.cpp',
michael@0 138 'jsinfer.cpp',
michael@0 139 'jsiter.cpp',
michael@0 140 'jsnativestack.cpp',
michael@0 141 'jsnum.cpp',
michael@0 142 'jsobj.cpp',
michael@0 143 'json.cpp',
michael@0 144 'jsonparser.cpp',
michael@0 145 'jsopcode.cpp',
michael@0 146 'jsprf.cpp',
michael@0 147 'jspropertytree.cpp',
michael@0 148 'jsproxy.cpp',
michael@0 149 'jsreflect.cpp',
michael@0 150 'jsscript.cpp',
michael@0 151 'jsstr.cpp',
michael@0 152 'jswatchpoint.cpp',
michael@0 153 'jsweakmap.cpp',
michael@0 154 'jsworkers.cpp',
michael@0 155 'jswrapper.cpp',
michael@0 156 'perf/jsperf.cpp',
michael@0 157 'prmjtime.cpp',
michael@0 158 'vm/ArgumentsObject.cpp',
michael@0 159 'vm/ArrayBufferObject.cpp',
michael@0 160 'vm/CallNonGenericMethod.cpp',
michael@0 161 'vm/CharacterEncoding.cpp',
michael@0 162 'vm/Compression.cpp',
michael@0 163 'vm/DateTime.cpp',
michael@0 164 'vm/Debugger.cpp',
michael@0 165 'vm/DebuggerMemory.cpp',
michael@0 166 'vm/ErrorObject.cpp',
michael@0 167 'vm/ForkJoin.cpp',
michael@0 168 'vm/GlobalObject.cpp',
michael@0 169 'vm/Id.cpp',
michael@0 170 'vm/Interpreter.cpp',
michael@0 171 'vm/MemoryMetrics.cpp',
michael@0 172 'vm/Monitor.cpp',
michael@0 173 'vm/ObjectImpl.cpp',
michael@0 174 'vm/OldDebugAPI.cpp',
michael@0 175 'vm/PIC.cpp',
michael@0 176 'vm/Probes.cpp',
michael@0 177 'vm/PropertyKey.cpp',
michael@0 178 'vm/ProxyObject.cpp',
michael@0 179 'vm/RegExpObject.cpp',
michael@0 180 'vm/RegExpStatics.cpp',
michael@0 181 'vm/Runtime.cpp',
michael@0 182 'vm/SavedStacks.cpp',
michael@0 183 'vm/ScopeObject.cpp',
michael@0 184 'vm/SelfHosting.cpp',
michael@0 185 'vm/Shape.cpp',
michael@0 186 'vm/SharedArrayObject.cpp',
michael@0 187 'vm/SPSProfiler.cpp',
michael@0 188 'vm/Stack.cpp',
michael@0 189 'vm/String.cpp',
michael@0 190 'vm/StringBuffer.cpp',
michael@0 191 'vm/StructuredClone.cpp',
michael@0 192 'vm/ThreadPool.cpp',
michael@0 193 'vm/TypedArrayObject.cpp',
michael@0 194 'vm/Unicode.cpp',
michael@0 195 'vm/Value.cpp',
michael@0 196 'vm/WeakMapPtr.cpp',
michael@0 197 'vm/Xdr.cpp',
michael@0 198 'yarr/PageBlock.cpp',
michael@0 199 'yarr/YarrCanonicalizeUCS2.cpp',
michael@0 200 'yarr/YarrInterpreter.cpp',
michael@0 201 'yarr/YarrPattern.cpp',
michael@0 202 'yarr/YarrSyntaxChecker.cpp',
michael@0 203 ]
michael@0 204
michael@0 205 # jsarray.cpp and jsatom.cpp cannot be built in unified mode because
michael@0 206 # xpcshell is broken during packaging when compiled with gcc-4.8.2
michael@0 207 # builtin/RegExp.cpp cannot be built in unified mode because it is built
michael@0 208 # without PGO
michael@0 209 # frontend/Parser.cpp cannot be built in unified mode because of explicit
michael@0 210 # template instantiations.
michael@0 211 # jsmath.cpp cannot be built in unified mode because it needs to pull rand_s
michael@0 212 # from <stdlib.h> on Windows through a preprocessor define.
michael@0 213 # jsutil.cpp cannot be built in unified mode because it is needed for
michael@0 214 # check-vanilla-allocations.
michael@0 215 SOURCES += [
michael@0 216 'builtin/RegExp.cpp',
michael@0 217 'frontend/Parser.cpp',
michael@0 218 'jsarray.cpp',
michael@0 219 'jsatom.cpp',
michael@0 220 'jsmath.cpp',
michael@0 221 'jsutil.cpp',
michael@0 222 ]
michael@0 223
michael@0 224 if CONFIG['JS_POSIX_NSPR']:
michael@0 225 UNIFIED_SOURCES += [
michael@0 226 'vm/PosixNSPR.cpp',
michael@0 227 ]
michael@0 228
michael@0 229 if CONFIG['MOZ_INSTRUMENTS']:
michael@0 230 SOURCES += [
michael@0 231 'devtools/Instruments.cpp',
michael@0 232 ]
michael@0 233
michael@0 234 if CONFIG['ENABLE_TRACE_LOGGING']:
michael@0 235 SOURCES += [
michael@0 236 'vm/TraceLogging.cpp',
michael@0 237 ]
michael@0 238
michael@0 239 if CONFIG['ENABLE_ION']:
michael@0 240 UNIFIED_SOURCES += [
michael@0 241 'jit/AliasAnalysis.cpp',
michael@0 242 'jit/AsmJS.cpp',
michael@0 243 'jit/AsmJSLink.cpp',
michael@0 244 'jit/AsmJSModule.cpp',
michael@0 245 'jit/AsmJSSignalHandlers.cpp',
michael@0 246 'jit/BacktrackingAllocator.cpp',
michael@0 247 'jit/Bailouts.cpp',
michael@0 248 'jit/BaselineBailouts.cpp',
michael@0 249 'jit/BaselineCompiler.cpp',
michael@0 250 'jit/BaselineDebugModeOSR.cpp',
michael@0 251 'jit/BaselineFrame.cpp',
michael@0 252 'jit/BaselineFrameInfo.cpp',
michael@0 253 'jit/BaselineIC.cpp',
michael@0 254 'jit/BaselineInspector.cpp',
michael@0 255 'jit/BaselineJIT.cpp',
michael@0 256 'jit/BitSet.cpp',
michael@0 257 'jit/BytecodeAnalysis.cpp',
michael@0 258 'jit/C1Spewer.cpp',
michael@0 259 'jit/CodeGenerator.cpp',
michael@0 260 'jit/CompileWrappers.cpp',
michael@0 261 'jit/EdgeCaseAnalysis.cpp',
michael@0 262 'jit/EffectiveAddressAnalysis.cpp',
michael@0 263 'jit/Ion.cpp',
michael@0 264 'jit/IonAnalysis.cpp',
michael@0 265 'jit/IonBuilder.cpp',
michael@0 266 'jit/IonCaches.cpp',
michael@0 267 'jit/IonFrames.cpp',
michael@0 268 'jit/IonMacroAssembler.cpp',
michael@0 269 'jit/IonOptimizationLevels.cpp',
michael@0 270 'jit/IonSpewer.cpp',
michael@0 271 'jit/JitOptions.cpp',
michael@0 272 'jit/JSONSpewer.cpp',
michael@0 273 'jit/LICM.cpp',
michael@0 274 'jit/LinearScan.cpp',
michael@0 275 'jit/LIR.cpp',
michael@0 276 'jit/LiveRangeAllocator.cpp',
michael@0 277 'jit/Lowering.cpp',
michael@0 278 'jit/MCallOptimize.cpp',
michael@0 279 'jit/MIR.cpp',
michael@0 280 'jit/MIRGraph.cpp',
michael@0 281 'jit/MoveResolver.cpp',
michael@0 282 'jit/ParallelFunctions.cpp',
michael@0 283 'jit/ParallelSafetyAnalysis.cpp',
michael@0 284 'jit/PerfSpewer.cpp',
michael@0 285 'jit/RangeAnalysis.cpp',
michael@0 286 'jit/Recover.cpp',
michael@0 287 'jit/RegisterAllocator.cpp',
michael@0 288 'jit/RematerializedFrame.cpp',
michael@0 289 'jit/Safepoints.cpp',
michael@0 290 'jit/shared/BaselineCompiler-shared.cpp',
michael@0 291 'jit/shared/CodeGenerator-shared.cpp',
michael@0 292 'jit/shared/Lowering-shared.cpp',
michael@0 293 'jit/Snapshots.cpp',
michael@0 294 'jit/StupidAllocator.cpp',
michael@0 295 'jit/TypeDescrSet.cpp',
michael@0 296 'jit/TypePolicy.cpp',
michael@0 297 'jit/UnreachableCodeElimination.cpp',
michael@0 298 'jit/ValueNumbering.cpp',
michael@0 299 'jit/VMFunctions.cpp',
michael@0 300 ]
michael@0 301 if CONFIG['JS_CODEGEN_X86'] or CONFIG['JS_CODEGEN_X64']:
michael@0 302 UNIFIED_SOURCES += [
michael@0 303 'jit/shared/Assembler-x86-shared.cpp',
michael@0 304 'jit/shared/BaselineCompiler-x86-shared.cpp',
michael@0 305 'jit/shared/BaselineIC-x86-shared.cpp',
michael@0 306 'jit/shared/CodeGenerator-x86-shared.cpp',
michael@0 307 'jit/shared/Lowering-x86-shared.cpp',
michael@0 308 'jit/shared/MacroAssembler-x86-shared.cpp',
michael@0 309 'jit/shared/MoveEmitter-x86-shared.cpp',
michael@0 310 ]
michael@0 311 if CONFIG['JS_CODEGEN_X64']:
michael@0 312 UNIFIED_SOURCES += [
michael@0 313 'jit/x64/Assembler-x64.cpp',
michael@0 314 'jit/x64/Bailouts-x64.cpp',
michael@0 315 'jit/x64/BaselineCompiler-x64.cpp',
michael@0 316 'jit/x64/BaselineIC-x64.cpp',
michael@0 317 'jit/x64/CodeGenerator-x64.cpp',
michael@0 318 'jit/x64/Lowering-x64.cpp',
michael@0 319 'jit/x64/MacroAssembler-x64.cpp',
michael@0 320 'jit/x64/Trampoline-x64.cpp',
michael@0 321 ]
michael@0 322 else:
michael@0 323 UNIFIED_SOURCES += [
michael@0 324 'jit/x86/Assembler-x86.cpp',
michael@0 325 'jit/x86/Bailouts-x86.cpp',
michael@0 326 'jit/x86/BaselineCompiler-x86.cpp',
michael@0 327 'jit/x86/BaselineIC-x86.cpp',
michael@0 328 'jit/x86/CodeGenerator-x86.cpp',
michael@0 329 'jit/x86/Lowering-x86.cpp',
michael@0 330 'jit/x86/MacroAssembler-x86.cpp',
michael@0 331 'jit/x86/Trampoline-x86.cpp',
michael@0 332 ]
michael@0 333 elif CONFIG['JS_CODEGEN_ARM']:
michael@0 334 UNIFIED_SOURCES += [
michael@0 335 'jit/arm/Architecture-arm.cpp',
michael@0 336 'jit/arm/Assembler-arm.cpp',
michael@0 337 'jit/arm/Bailouts-arm.cpp',
michael@0 338 'jit/arm/BaselineCompiler-arm.cpp',
michael@0 339 'jit/arm/BaselineIC-arm.cpp',
michael@0 340 'jit/arm/CodeGenerator-arm.cpp',
michael@0 341 'jit/arm/Lowering-arm.cpp',
michael@0 342 'jit/arm/MacroAssembler-arm.cpp',
michael@0 343 'jit/arm/MoveEmitter-arm.cpp',
michael@0 344 'jit/arm/Trampoline-arm.cpp',
michael@0 345 ]
michael@0 346 if CONFIG['JS_ARM_SIMULATOR']:
michael@0 347 UNIFIED_SOURCES += [
michael@0 348 'jit/arm/Simulator-arm.cpp'
michael@0 349 ]
michael@0 350
michael@0 351 if CONFIG['OS_ARCH'] == 'WINNT':
michael@0 352 SOURCES += [
michael@0 353 'assembler/jit/ExecutableAllocatorWin.cpp',
michael@0 354 'yarr/OSAllocatorWin.cpp',
michael@0 355 ]
michael@0 356 # _CRT_RAND_S must be #defined before #including stdlib.h to get rand_s()
michael@0 357 DEFINES['_CRT_RAND_S'] = True
michael@0 358 else:
michael@0 359 SOURCES += [
michael@0 360 'assembler/jit/ExecutableAllocatorPosix.cpp',
michael@0 361 'yarr/OSAllocatorPosix.cpp',
michael@0 362 ]
michael@0 363
michael@0 364 if CONFIG['ENABLE_ION'] or CONFIG['ENABLE_YARR_JIT']:
michael@0 365 if CONFIG['JS_CODEGEN_X86'] or CONFIG['JS_CODEGEN_X64']:
michael@0 366 SOURCES += [
michael@0 367 'assembler/assembler/MacroAssemblerX86Common.cpp',
michael@0 368 ]
michael@0 369 elif CONFIG['JS_CODEGEN_ARM']:
michael@0 370 SOURCES += [
michael@0 371 'assembler/assembler/ARMAssembler.cpp',
michael@0 372 'assembler/assembler/MacroAssemblerARM.cpp',
michael@0 373 ]
michael@0 374
michael@0 375 if CONFIG['ENABLE_YARR_JIT']:
michael@0 376 SOURCES += [
michael@0 377 'yarr/YarrJIT.cpp'
michael@0 378 ]
michael@0 379
michael@0 380 if CONFIG['JS_HAS_CTYPES']:
michael@0 381 SOURCES += [
michael@0 382 'ctypes/CTypes.cpp',
michael@0 383 'ctypes/Library.cpp',
michael@0 384 ]
michael@0 385 if not CONFIG['MOZ_NATIVE_FFI']:
michael@0 386 GENERATED_INCLUDES += [
michael@0 387 'ctypes/libffi/include',
michael@0 388 ]
michael@0 389
michael@0 390 if CONFIG['MOZ_VTUNE']:
michael@0 391 SOURCES += [
michael@0 392 'vtune/jitprofiling.c'
michael@0 393 ]
michael@0 394
michael@0 395 if CONFIG['HAVE_LINUX_PERF_EVENT_H']:
michael@0 396 SOURCES += [
michael@0 397 'perf/pm_linux.cpp'
michael@0 398 ]
michael@0 399 SOURCES['perf/pm_linux.cpp'].flags += [CONFIG['LINUX_HEADERS_INCLUDES']]
michael@0 400 else:
michael@0 401 SOURCES += [
michael@0 402 'perf/pm_stub.cpp'
michael@0 403 ]
michael@0 404
michael@0 405 MSVC_ENABLE_PGO = True
michael@0 406
michael@0 407 HOST_SOURCES += [
michael@0 408 'jskwgen.cpp',
michael@0 409 ]
michael@0 410
michael@0 411 HOST_SIMPLE_PROGRAMS += [
michael@0 412 'host_%s' % f.replace('.cpp', '') for f in HOST_SOURCES
michael@0 413 ]
michael@0 414
michael@0 415 # JavaScript must be built shared, even for static builds, as it is used by
michael@0 416 # other modules which are always built shared. Failure to do so results in
michael@0 417 # the js code getting copied into xpinstall and jsd as well as mozilla-bin,
michael@0 418 # and then the static data cells used for locking no longer work.
michael@0 419 #
michael@0 420 # In fact, we now build both a static and a shared library, as the
michael@0 421 # JS shell would like to link to the static library.
michael@0 422
michael@0 423 if CONFIG['JS_SHARED_LIBRARY']:
michael@0 424 FORCE_SHARED_LIB = True
michael@0 425
michael@0 426 FORCE_STATIC_LIB = True
michael@0 427
michael@0 428 if CONFIG['MOZ_ETW']:
michael@0 429 GENERATED_FILES = [
michael@0 430 'ETWProvider.h',
michael@0 431 ]
michael@0 432 # This will get the ETW provider resources into the library mozjs.dll
michael@0 433 RESFILE = 'ETWProvider.res'
michael@0 434
michael@0 435 if CONFIG['NIGHTLY_BUILD']:
michael@0 436 DEFINES['ENABLE_PARALLEL_JS'] = True
michael@0 437 DEFINES['ENABLE_BINARYDATA'] = True
michael@0 438 DEFINES['ENABLE_SHARED_ARRAY_BUFFER'] = True
michael@0 439
michael@0 440 DEFINES['EXPORT_JS_API'] = True
michael@0 441
michael@0 442 if CONFIG['JS_THREADSAFE']:
michael@0 443 DEFINES['JS_THREADSAFE'] = True
michael@0 444
michael@0 445 if CONFIG['JS_HAS_CTYPES']:
michael@0 446 DEFINES['JS_HAS_CTYPES'] = True
michael@0 447 for var in ('DLL_PREFIX', 'DLL_SUFFIX'):
michael@0 448 DEFINES[var] = '"%s"' % CONFIG[var]
michael@0 449
michael@0 450 if CONFIG['MOZ_LINKER']:
michael@0 451 DEFINES['MOZ_LINKER'] = True
michael@0 452
michael@0 453 if CONFIG['_MSC_VER']:
michael@0 454 if CONFIG['CPU_ARCH'] == 'x86':
michael@0 455 SOURCES['builtin/RegExp.cpp'].no_pgo = True # Bug 772303
michael@0 456 elif CONFIG['CPU_ARCH'] == 'x86_64' and CONFIG['JS_HAS_CTYPES']:
michael@0 457 SOURCES['ctypes/CTypes.cpp'].no_pgo = True # Bug 810661
michael@0 458
michael@0 459 # Needed to "configure" it correctly. Unfortunately these
michael@0 460 # flags wind up being applied to all code in js/src, not just
michael@0 461 # the code in js/src/assembler.
michael@0 462 DEFINES['USE_SYSTEM_MALLOC'] = 1
michael@0 463 DEFINES['ENABLE_ASSEMBLER'] = 1
michael@0 464
michael@0 465 if CONFIG['ENABLE_YARR_JIT']:
michael@0 466 DEFINES['ENABLE_JIT'] = 1

mercurial