| Index: src/SConscript
 | 
| diff --git a/src/SConscript b/src/SConscript
 | 
| deleted file mode 100755
 | 
| index 772ac4eb2c529d359453218ee1760e33ea7442bf..0000000000000000000000000000000000000000
 | 
| --- a/src/SConscript
 | 
| +++ /dev/null
 | 
| @@ -1,413 +0,0 @@
 | 
| -# Copyright 2012 the V8 project authors. All rights reserved.
 | 
| -# Redistribution and use in source and binary forms, with or without
 | 
| -# modification, are permitted provided that the following conditions are
 | 
| -# met:
 | 
| -#
 | 
| -#     * Redistributions of source code must retain the above copyright
 | 
| -#       notice, this list of conditions and the following disclaimer.
 | 
| -#     * Redistributions in binary form must reproduce the above
 | 
| -#       copyright notice, this list of conditions and the following
 | 
| -#       disclaimer in the documentation and/or other materials provided
 | 
| -#       with the distribution.
 | 
| -#     * Neither the name of Google Inc. nor the names of its
 | 
| -#       contributors may be used to endorse or promote products derived
 | 
| -#       from this software without specific prior written permission.
 | 
| -#
 | 
| -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 | 
| -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 | 
| -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 | 
| -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 | 
| -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 | 
| -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 | 
| -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
| -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | 
| -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
| -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
| -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
| -
 | 
| -import sys
 | 
| -from os.path import join, dirname, abspath
 | 
| -root_dir = dirname(File('SConstruct').rfile().abspath)
 | 
| -sys.path.append(join(root_dir, 'tools'))
 | 
| -import js2c
 | 
| -Import('context')
 | 
| -Import('tools')
 | 
| -Import('d8_env')
 | 
| -
 | 
| -
 | 
| -SOURCES = {
 | 
| -  'all': Split("""
 | 
| -    accessors.cc
 | 
| -    allocation.cc
 | 
| -    api.cc
 | 
| -    assembler.cc
 | 
| -    ast.cc
 | 
| -    atomicops_internals_x86_gcc.cc
 | 
| -    bignum-dtoa.cc
 | 
| -    bignum.cc
 | 
| -    bootstrapper.cc
 | 
| -    builtins.cc
 | 
| -    cached-powers.cc
 | 
| -    checks.cc
 | 
| -    circular-queue.cc
 | 
| -    code-stubs.cc
 | 
| -    codegen.cc
 | 
| -    compilation-cache.cc
 | 
| -    compiler.cc
 | 
| -    contexts.cc
 | 
| -    conversions.cc
 | 
| -    counters.cc
 | 
| -    cpu-profiler.cc
 | 
| -    data-flow.cc
 | 
| -    date.cc
 | 
| -    dateparser.cc
 | 
| -    debug-agent.cc
 | 
| -    debug.cc
 | 
| -    deoptimizer.cc
 | 
| -    disassembler.cc
 | 
| -    diy-fp.cc
 | 
| -    dtoa.cc
 | 
| -    elements-kind.cc
 | 
| -    elements.cc
 | 
| -    execution.cc
 | 
| -    extensions/externalize-string-extension.cc
 | 
| -    extensions/gc-extension.cc
 | 
| -    extensions/statistics-extension.cc
 | 
| -    factory.cc
 | 
| -    fast-dtoa.cc
 | 
| -    fixed-dtoa.cc
 | 
| -    flags.cc
 | 
| -    frames.cc
 | 
| -    full-codegen.cc
 | 
| -    func-name-inferrer.cc
 | 
| -    gdb-jit.cc
 | 
| -    global-handles.cc
 | 
| -    handles.cc
 | 
| -    heap-profiler.cc
 | 
| -    heap-snapshot-generator.cc
 | 
| -    heap.cc
 | 
| -    hydrogen-instructions.cc
 | 
| -    hydrogen.cc
 | 
| -    ic.cc
 | 
| -    incremental-marking.cc
 | 
| -    interface.cc
 | 
| -    interpreter-irregexp.cc
 | 
| -    isolate.cc
 | 
| -    jsregexp.cc
 | 
| -    lithium-allocator.cc
 | 
| -    lithium.cc
 | 
| -    liveedit.cc
 | 
| -    log-utils.cc
 | 
| -    log.cc
 | 
| -    mark-compact.cc
 | 
| -    messages.cc
 | 
| -    objects-printer.cc
 | 
| -    objects-visiting.cc
 | 
| -    objects.cc
 | 
| -    once.cc
 | 
| -    optimizing-compiler-thread.cc
 | 
| -    parser.cc
 | 
| -    preparse-data.cc
 | 
| -    preparser.cc
 | 
| -    profile-generator.cc
 | 
| -    property.cc
 | 
| -    regexp-macro-assembler-irregexp.cc
 | 
| -    regexp-macro-assembler.cc
 | 
| -    regexp-stack.cc
 | 
| -    rewriter.cc
 | 
| -    runtime-profiler.cc
 | 
| -    runtime.cc
 | 
| -    safepoint-table.cc
 | 
| -    scanner-character-streams.cc
 | 
| -    scanner.cc
 | 
| -    scopeinfo.cc
 | 
| -    scopes.cc
 | 
| -    serialize.cc
 | 
| -    snapshot-common.cc
 | 
| -    spaces.cc
 | 
| -    store-buffer.cc
 | 
| -    string-search.cc
 | 
| -    string-stream.cc
 | 
| -    strtod.cc
 | 
| -    stub-cache.cc
 | 
| -    token.cc
 | 
| -    transitions.cc
 | 
| -    type-info.cc
 | 
| -    unicode.cc
 | 
| -    utils.cc
 | 
| -    v8-counters.cc
 | 
| -    v8.cc
 | 
| -    v8conversions.cc
 | 
| -    v8threads.cc
 | 
| -    v8utils.cc
 | 
| -    variables.cc
 | 
| -    version.cc
 | 
| -    zone.cc
 | 
| -    """),
 | 
| -  'arch:arm': Split("""
 | 
| -    arm/builtins-arm.cc
 | 
| -    arm/code-stubs-arm.cc
 | 
| -    arm/codegen-arm.cc
 | 
| -    arm/constants-arm.cc
 | 
| -    arm/cpu-arm.cc
 | 
| -    arm/debug-arm.cc
 | 
| -    arm/deoptimizer-arm.cc
 | 
| -    arm/disasm-arm.cc
 | 
| -    arm/frames-arm.cc
 | 
| -    arm/full-codegen-arm.cc
 | 
| -    arm/ic-arm.cc
 | 
| -    arm/lithium-arm.cc
 | 
| -    arm/lithium-codegen-arm.cc
 | 
| -    arm/lithium-gap-resolver-arm.cc
 | 
| -    arm/macro-assembler-arm.cc
 | 
| -    arm/regexp-macro-assembler-arm.cc
 | 
| -    arm/stub-cache-arm.cc
 | 
| -    arm/assembler-arm.cc
 | 
| -    """),
 | 
| -  'arch:mips': Split("""
 | 
| -    mips/assembler-mips.cc
 | 
| -    mips/builtins-mips.cc
 | 
| -    mips/code-stubs-mips.cc
 | 
| -    mips/codegen-mips.cc
 | 
| -    mips/constants-mips.cc
 | 
| -    mips/cpu-mips.cc
 | 
| -    mips/debug-mips.cc
 | 
| -    mips/deoptimizer-mips.cc
 | 
| -    mips/disasm-mips.cc
 | 
| -    mips/frames-mips.cc
 | 
| -    mips/full-codegen-mips.cc
 | 
| -    mips/ic-mips.cc
 | 
| -    mips/lithium-codegen-mips.cc
 | 
| -    mips/lithium-gap-resolver-mips.cc
 | 
| -    mips/lithium-mips.cc
 | 
| -    mips/macro-assembler-mips.cc
 | 
| -    mips/regexp-macro-assembler-mips.cc
 | 
| -    mips/stub-cache-mips.cc
 | 
| -    """),
 | 
| -  'arch:ia32': Split("""
 | 
| -    ia32/assembler-ia32.cc
 | 
| -    ia32/builtins-ia32.cc
 | 
| -    ia32/code-stubs-ia32.cc
 | 
| -    ia32/codegen-ia32.cc
 | 
| -    ia32/cpu-ia32.cc
 | 
| -    ia32/debug-ia32.cc
 | 
| -    ia32/deoptimizer-ia32.cc
 | 
| -    ia32/disasm-ia32.cc
 | 
| -    ia32/frames-ia32.cc
 | 
| -    ia32/full-codegen-ia32.cc
 | 
| -    ia32/ic-ia32.cc
 | 
| -    ia32/lithium-codegen-ia32.cc
 | 
| -    ia32/lithium-gap-resolver-ia32.cc
 | 
| -    ia32/lithium-ia32.cc
 | 
| -    ia32/macro-assembler-ia32.cc
 | 
| -    ia32/regexp-macro-assembler-ia32.cc
 | 
| -    ia32/stub-cache-ia32.cc
 | 
| -    """),
 | 
| -  'arch:x64': Split("""
 | 
| -    x64/assembler-x64.cc
 | 
| -    x64/builtins-x64.cc
 | 
| -    x64/code-stubs-x64.cc
 | 
| -    x64/codegen-x64.cc
 | 
| -    x64/cpu-x64.cc
 | 
| -    x64/debug-x64.cc
 | 
| -    x64/deoptimizer-x64.cc
 | 
| -    x64/disasm-x64.cc
 | 
| -    x64/frames-x64.cc
 | 
| -    x64/full-codegen-x64.cc
 | 
| -    x64/ic-x64.cc
 | 
| -    x64/lithium-codegen-x64.cc
 | 
| -    x64/lithium-gap-resolver-x64.cc
 | 
| -    x64/lithium-x64.cc
 | 
| -    x64/macro-assembler-x64.cc
 | 
| -    x64/regexp-macro-assembler-x64.cc
 | 
| -    x64/stub-cache-x64.cc
 | 
| -    """),
 | 
| -  'simulator:arm': ['arm/simulator-arm.cc'],
 | 
| -  'simulator:mips': ['mips/simulator-mips.cc'],
 | 
| -  'os:freebsd': ['platform-freebsd.cc', 'platform-posix.cc'],
 | 
| -  'os:openbsd': ['platform-openbsd.cc', 'platform-posix.cc'],
 | 
| -  'os:linux':   ['platform-linux.cc', 'platform-posix.cc'],
 | 
| -  'os:android': ['platform-linux.cc', 'platform-posix.cc'],
 | 
| -  'os:macos':   ['platform-macos.cc', 'platform-posix.cc'],
 | 
| -  'os:solaris': ['platform-solaris.cc', 'platform-posix.cc'],
 | 
| -  'os:cygwin':  ['platform-cygwin.cc', 'platform-posix.cc'],
 | 
| -  'os:nullos':  ['platform-nullos.cc'],
 | 
| -  'os:win32':   ['platform-win32.cc', 'win32-math.cc'],
 | 
| -  'mode:release': [],
 | 
| -  'mode:debug': [
 | 
| -    'objects-debug.cc', 'prettyprinter.cc', 'regexp-macro-assembler-tracer.cc'
 | 
| -  ]
 | 
| -}
 | 
| -
 | 
| -
 | 
| -PREPARSER_SOURCES = {
 | 
| -  'all': Split("""
 | 
| -    allocation.cc
 | 
| -    bignum.cc
 | 
| -    bignum-dtoa.cc
 | 
| -    cached-powers.cc
 | 
| -    conversions.cc
 | 
| -    diy-fp.cc
 | 
| -    dtoa.cc
 | 
| -    fast-dtoa.cc
 | 
| -    fixed-dtoa.cc
 | 
| -    preparse-data.cc
 | 
| -    preparser.cc
 | 
| -    preparser-api.cc
 | 
| -    scanner.cc
 | 
| -    strtod.cc
 | 
| -    token.cc
 | 
| -    unicode.cc
 | 
| -    utils.cc
 | 
| -    """),
 | 
| -  'os:win32': ['win32-math.cc']
 | 
| -}
 | 
| -
 | 
| -
 | 
| -D8_LIGHT_FILES = {
 | 
| -  'all': [
 | 
| -    'd8.cc'
 | 
| -  ]
 | 
| -}
 | 
| -
 | 
| -
 | 
| -D8_FULL_FILES = {
 | 
| -  'all': [
 | 
| -    'd8.cc', 'd8-debug.cc'
 | 
| -  ],
 | 
| -  'os:linux': [
 | 
| -    'd8-posix.cc'
 | 
| -  ],
 | 
| -  'os:macos': [
 | 
| -    'd8-posix.cc'
 | 
| -  ],
 | 
| -  'os:android': [
 | 
| -    'd8-posix.cc'
 | 
| -  ],
 | 
| -  'os:freebsd': [
 | 
| -    'd8-posix.cc'
 | 
| -  ],
 | 
| -  'os:openbsd': [
 | 
| -    'd8-posix.cc'
 | 
| -  ],
 | 
| -  'os:solaris': [
 | 
| -    'd8-posix.cc'
 | 
| -  ],
 | 
| -  'os:cygwin': [
 | 
| -    'd8-posix.cc'
 | 
| -  ],
 | 
| -  'os:win32': [
 | 
| -    'd8-windows.cc'
 | 
| -  ],
 | 
| -  'os:nullos': [
 | 
| -    'd8-windows.cc'   # Empty implementation at the moment.
 | 
| -  ],
 | 
| -  'console:readline': [
 | 
| -    'd8-readline.cc'
 | 
| -  ]
 | 
| -}
 | 
| -
 | 
| -
 | 
| -LIBRARY_FILES = '''
 | 
| -runtime.js
 | 
| -v8natives.js
 | 
| -array.js
 | 
| -string.js
 | 
| -uri.js
 | 
| -math.js
 | 
| -messages.js
 | 
| -apinatives.js
 | 
| -date.js
 | 
| -regexp.js
 | 
| -json.js
 | 
| -liveedit-debugger.js
 | 
| -mirror-debugger.js
 | 
| -debug-debugger.js
 | 
| -'''.split()
 | 
| -
 | 
| -
 | 
| -EXPERIMENTAL_LIBRARY_FILES = '''
 | 
| -symbol.js
 | 
| -proxy.js
 | 
| -collection.js
 | 
| -'''.split()
 | 
| -
 | 
| -
 | 
| -def Abort(message):
 | 
| -  print message
 | 
| -  sys.exit(1)
 | 
| -
 | 
| -
 | 
| -def ConfigureObjectFiles():
 | 
| -  env = Environment(tools=tools)
 | 
| -  env.Replace(**context.flags['v8'])
 | 
| -  context.ApplyEnvOverrides(env)
 | 
| -  env['BUILDERS']['JS2C'] = Builder(action=js2c.JS2C)
 | 
| -  env['BUILDERS']['Snapshot'] = Builder(action='$SOURCE $TARGET --logfile "$LOGFILE" --log-snapshot-positions')
 | 
| -
 | 
| -  def BuildJS2CEnv(type):
 | 
| -    js2c_env = { 'TYPE': type, 'COMPRESSION': 'off' }
 | 
| -    if 'COMPRESS_STARTUP_DATA_BZ2' in env['CPPDEFINES']:
 | 
| -      js2c_env['COMPRESSION'] = 'bz2'
 | 
| -    return js2c_env
 | 
| -
 | 
| -  # Build the standard platform-independent source files.
 | 
| -  source_files = context.GetRelevantSources(SOURCES)
 | 
| -  d8_js = env.JS2C('d8-js.cc', 'd8.js', **{'TYPE': 'D8', 'COMPRESSION': 'off'})
 | 
| -  d8_js_obj = context.ConfigureObject(env, d8_js, CPPPATH=['.'])
 | 
| -  if context.options['library'] == 'shared':
 | 
| -    d8_files = context.GetRelevantSources(D8_LIGHT_FILES)
 | 
| -    d8_objs = []
 | 
| -  else:
 | 
| -    d8_files = context.GetRelevantSources(D8_FULL_FILES)
 | 
| -    d8_objs = [d8_js_obj]
 | 
| -  d8_objs.append(context.ConfigureObject(d8_env, [d8_files]))
 | 
| -
 | 
| -  # Combine the JavaScript library files into a single C++ file and
 | 
| -  # compile it.
 | 
| -  library_files = [s for s in LIBRARY_FILES]
 | 
| -  library_files.append('macros.py')
 | 
| -  libraries_src = env.JS2C(
 | 
| -    ['libraries.cc'], library_files, **BuildJS2CEnv('CORE'))
 | 
| -  libraries_obj = context.ConfigureObject(env, libraries_src, CPPPATH=['.'])
 | 
| -
 | 
| -  # Combine the experimental JavaScript library files into a C++ file
 | 
| -  # and compile it.
 | 
| -  experimental_library_files = [ s for s in EXPERIMENTAL_LIBRARY_FILES ]
 | 
| -  experimental_library_files.append('macros.py')
 | 
| -  experimental_libraries_src = env.JS2C(['experimental-libraries.cc'],
 | 
| -                                        experimental_library_files,
 | 
| -                                        **BuildJS2CEnv('EXPERIMENTAL'))
 | 
| -  experimental_libraries_obj = context.ConfigureObject(env, experimental_libraries_src, CPPPATH=['.'])
 | 
| -
 | 
| -  source_objs = context.ConfigureObject(env, source_files)
 | 
| -  non_snapshot_files = [source_objs]
 | 
| -
 | 
| -  preparser_source_files = context.GetRelevantSources(PREPARSER_SOURCES)
 | 
| -  preparser_objs = context.ConfigureObject(env, preparser_source_files)
 | 
| -
 | 
| -  # Create snapshot if necessary.  For cross compilation you should either
 | 
| -  # do without snapshots and take the performance hit or you should build a
 | 
| -  # host VM with the simulator=arm and snapshot=on options and then take the
 | 
| -  # resulting snapshot.cc file from obj/release and put it in the src
 | 
| -  # directory.  Then rebuild the VM with the cross compiler and specify
 | 
| -  # snapshot=nobuild on the scons command line.
 | 
| -  empty_snapshot_obj = context.ConfigureObject(env, 'snapshot-empty.cc')
 | 
| -  mksnapshot_env = env.Copy()
 | 
| -  mksnapshot_env.Replace(**context.flags['mksnapshot'])
 | 
| -  mksnapshot_src = 'mksnapshot.cc'
 | 
| -  mksnapshot = mksnapshot_env.Program('mksnapshot', [mksnapshot_src, libraries_obj, experimental_libraries_obj,  non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb')
 | 
| -  if context.use_snapshot:
 | 
| -    if context.build_snapshot:
 | 
| -      snapshot_cc = env.Snapshot('snapshot.cc', mksnapshot, LOGFILE=File('snapshot.log').abspath)
 | 
| -    else:
 | 
| -      snapshot_cc = 'snapshot.cc'
 | 
| -    snapshot_obj = context.ConfigureObject(env, snapshot_cc, CPPPATH=['.'])
 | 
| -  else:
 | 
| -    snapshot_obj = empty_snapshot_obj
 | 
| -  library_objs = [non_snapshot_files, libraries_obj, experimental_libraries_obj, snapshot_obj]
 | 
| -  return (library_objs, d8_objs, [mksnapshot], preparser_objs)
 | 
| -
 | 
| -
 | 
| -(library_objs, d8_objs, mksnapshot, preparser_objs) = ConfigureObjectFiles()
 | 
| -Return('library_objs d8_objs mksnapshot preparser_objs')
 | 
| 
 |