mirror of https://github.com/lukechilds/node.git
6 changed files with 607 additions and 0 deletions
@ -0,0 +1,66 @@ |
|||||
|
This directory contains the V8 GYP files used to generate actual project files |
||||
|
for different build systems. |
||||
|
|
||||
|
This is currently work in progress but this is expected to replace the SCons |
||||
|
based build system. |
||||
|
|
||||
|
To use this a checkout of GYP is needed inside this directory. From the root of |
||||
|
the V8 project do the following: |
||||
|
|
||||
|
$ svn co http://gyp.googlecode.com/svn/trunk build/gyp |
||||
|
|
||||
|
Note for the command lines below that Debug is the default configuration, |
||||
|
so specifying that on the command lines is not required. |
||||
|
|
||||
|
|
||||
|
To generate Makefiles on Linux: |
||||
|
------------------------------- |
||||
|
|
||||
|
$ build/gyp_v8 |
||||
|
|
||||
|
This will build makefiles for ia32, x64 and the ARM simulator with names |
||||
|
Makefile-ia32, Makefile-x64 and Makefile-armu respectively. |
||||
|
|
||||
|
To build and run for ia32 in debug and release version do: |
||||
|
|
||||
|
$ make -f Makefile-ia32 |
||||
|
$ out/Debug/shell |
||||
|
$ make -f Makefile-ia32 BUILDTYPE=Release |
||||
|
$ out/Release/shell |
||||
|
|
||||
|
Change the makefile to build and run for the other architectures. |
||||
|
|
||||
|
|
||||
|
To generate Xcode project files on Mac OS: |
||||
|
------------------------------------------ |
||||
|
|
||||
|
$ build/gyp_v8 |
||||
|
|
||||
|
This will make an Xcode project for the ia32 architecture. To build and run do: |
||||
|
|
||||
|
$ xcodebuild -project build/all.xcodeproj |
||||
|
$ samples/build/Debug/shell |
||||
|
$ xcodebuild -project build/all.xcodeproj -configuration Release |
||||
|
$ samples/build/Release/shell |
||||
|
|
||||
|
|
||||
|
To generate Visual Studio solution and project files on Windows: |
||||
|
---------------------------------------------------------------- |
||||
|
|
||||
|
On Windows an additional third party component is required. This is cygwin in |
||||
|
the same version as is used by the Chromium project. This can be checked out |
||||
|
from the Chromium repository. From the root of the V8 project do the following: |
||||
|
|
||||
|
> svn co http://src.chromium.org/svn/trunk/deps/third_party/cygwin@66844 third_party/cygwin |
||||
|
|
||||
|
To run GYP Python is required and it is reccomended to use the same version as |
||||
|
is used by the Chromium project. This can also be checked out from the Chromium |
||||
|
repository. From the root of the V8 project do the following: |
||||
|
|
||||
|
> svn co http://src.chromium.org/svn/trunk/tools/third_party/python_26@70627 third_party/python_26 |
||||
|
|
||||
|
Now generate Visual Studio solution and project files for the ia32 architecture: |
||||
|
|
||||
|
> third_party\python_26\python build/gyp_v8 |
||||
|
|
||||
|
Now open build\All.sln in Visual Studio. |
@ -0,0 +1,24 @@ |
|||||
|
# Copyright (c) 2010 The Chromium Authors. All rights reserved. |
||||
|
# Use of this source code is governed by a BSD-style license that can be |
||||
|
# found in the LICENSE file. |
||||
|
|
||||
|
{ |
||||
|
'targets': [ |
||||
|
{ |
||||
|
'target_name': 'All', |
||||
|
'type': 'none', |
||||
|
'dependencies': [ |
||||
|
'../samples/samples.gyp:*', |
||||
|
'../src/d8.gyp:d8', |
||||
|
], |
||||
|
'conditions': [ |
||||
|
[ 'component!="shared_library"', { |
||||
|
'dependencies': [ |
||||
|
'../test/cctest/cctest.gyp:*', |
||||
|
], |
||||
|
}] |
||||
|
], |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
|
@ -0,0 +1,36 @@ |
|||||
|
# Copyright 2011 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. |
||||
|
|
||||
|
{ |
||||
|
'variables': { |
||||
|
'target_arch': 'ia32', |
||||
|
'v8_target_arch': 'arm', |
||||
|
'armv7': 1, |
||||
|
'arm_neon': 0, |
||||
|
'arm_fpu': 'vfpv3', |
||||
|
} |
||||
|
} |
@ -0,0 +1,183 @@ |
|||||
|
# Copyright 2010 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. |
||||
|
|
||||
|
{ |
||||
|
'variables': { |
||||
|
'library%': 'static_library', |
||||
|
'component%': 'static_library', |
||||
|
'visibility%': 'hidden', |
||||
|
'variables': { |
||||
|
'conditions': [ |
||||
|
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { |
||||
|
# This handles the Linux platforms we generally deal with. Anything |
||||
|
# else gets passed through, which probably won't work very well; such |
||||
|
# hosts should pass an explicit target_arch to gyp. |
||||
|
'host_arch%': |
||||
|
'<!(uname -m | sed -e "s/i.86/ia32/;s/x86_64/x64/;s/amd64/x64/;s/arm.*/arm/")', |
||||
|
}, { # OS!="linux" and OS!="freebsd" and OS!="openbsd" |
||||
|
'host_arch%': 'ia32', |
||||
|
}], |
||||
|
], |
||||
|
}, |
||||
|
'host_arch%': '<(host_arch)', |
||||
|
'target_arch%': '<(host_arch)', |
||||
|
'v8_target_arch%': '<(target_arch)', |
||||
|
}, |
||||
|
'target_defaults': { |
||||
|
'default_configuration': 'Debug', |
||||
|
'configurations': { |
||||
|
'Debug': { |
||||
|
'cflags': [ '-g', '-O0' ], |
||||
|
'defines': [ 'ENABLE_DISASSEMBLER', 'DEBUG' ], |
||||
|
}, |
||||
|
'Release': { |
||||
|
'cflags': [ '-O3', '-fomit-frame-pointer', '-fdata-sections', '-ffunction-sections' ], |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
'conditions': [ |
||||
|
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', { |
||||
|
'target_defaults': { |
||||
|
'cflags': [ '-Wall', '-pthread', '-fno-rtti', '-fno-exceptions' ], |
||||
|
'ldflags': [ '-pthread', ], |
||||
|
'conditions': [ |
||||
|
[ 'target_arch=="ia32"', { |
||||
|
'cflags': [ '-m32' ], |
||||
|
'ldflags': [ '-m32' ], |
||||
|
}], |
||||
|
[ 'OS=="linux"', { |
||||
|
'cflags': [ '-ansi' ], |
||||
|
}], |
||||
|
[ 'visibility=="hidden"', { |
||||
|
'cflags': [ '-fvisibility=hidden' ], |
||||
|
}], |
||||
|
], |
||||
|
}, |
||||
|
}], # 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"' |
||||
|
['OS=="win"', { |
||||
|
'target_defaults': { |
||||
|
'defines': [ |
||||
|
'WIN32', |
||||
|
'_CRT_SECURE_NO_DEPRECATE', |
||||
|
'_CRT_NONSTDC_NO_DEPRECATE', |
||||
|
], |
||||
|
'conditions': [ |
||||
|
['component=="static_library"', { |
||||
|
'defines': [ |
||||
|
'_HAS_EXCEPTIONS=0', |
||||
|
], |
||||
|
}], |
||||
|
], |
||||
|
'msvs_cygwin_dirs': ['<(DEPTH)/third_party/cygwin'], |
||||
|
'msvs_disabled_warnings': [4355, 4800], |
||||
|
'msvs_settings': { |
||||
|
'VCCLCompilerTool': { |
||||
|
'MinimalRebuild': 'false', |
||||
|
'BufferSecurityCheck': 'true', |
||||
|
'EnableFunctionLevelLinking': 'true', |
||||
|
'RuntimeTypeInfo': 'false', |
||||
|
'WarningLevel': '3', |
||||
|
'WarnAsError': 'true', |
||||
|
'DebugInformationFormat': '3', |
||||
|
'Detect64BitPortabilityProblems': 'false', |
||||
|
'conditions': [ |
||||
|
[ 'msvs_multi_core_compile', { |
||||
|
'AdditionalOptions': ['/MP'], |
||||
|
}], |
||||
|
['component=="shared_library"', { |
||||
|
'ExceptionHandling': '1', # /EHsc |
||||
|
}, { |
||||
|
'ExceptionHandling': '0', |
||||
|
}], |
||||
|
], |
||||
|
}, |
||||
|
'VCLibrarianTool': { |
||||
|
'AdditionalOptions': ['/ignore:4221'], |
||||
|
}, |
||||
|
'VCLinkerTool': { |
||||
|
'AdditionalDependencies': [ |
||||
|
'ws2_32.lib', |
||||
|
], |
||||
|
'GenerateDebugInformation': 'true', |
||||
|
'MapFileName': '$(OutDir)\\$(TargetName).map', |
||||
|
'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib', |
||||
|
'FixedBaseAddress': '1', |
||||
|
# LinkIncremental values: |
||||
|
# 0 == default |
||||
|
# 1 == /INCREMENTAL:NO |
||||
|
# 2 == /INCREMENTAL |
||||
|
'LinkIncremental': '1', |
||||
|
# SubSystem values: |
||||
|
# 0 == not set |
||||
|
# 1 == /SUBSYSTEM:CONSOLE |
||||
|
# 2 == /SUBSYSTEM:WINDOWS |
||||
|
'SubSystem': '1', |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}], # OS=="win" |
||||
|
['OS=="mac"', { |
||||
|
'target_defaults': { |
||||
|
'xcode_settings': { |
||||
|
'ALWAYS_SEARCH_USER_PATHS': 'NO', |
||||
|
'GCC_C_LANGUAGE_STANDARD': 'ansi', # -ansi |
||||
|
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks |
||||
|
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic |
||||
|
# (Equivalent to -fPIC) |
||||
|
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions |
||||
|
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti |
||||
|
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings |
||||
|
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden |
||||
|
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES', |
||||
|
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden |
||||
|
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics |
||||
|
'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror |
||||
|
'GCC_VERSION': '4.2', |
||||
|
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof |
||||
|
'MACOSX_DEPLOYMENT_TARGET': '10.4', # -mmacosx-version-min=10.4 |
||||
|
'PREBINDING': 'NO', # No -Wl,-prebind |
||||
|
'USE_HEADERMAP': 'NO', |
||||
|
'OTHER_CFLAGS': [ |
||||
|
'-fno-strict-aliasing', |
||||
|
], |
||||
|
'WARNING_CFLAGS': [ |
||||
|
'-Wall', |
||||
|
'-Wendif-labels', |
||||
|
'-W', |
||||
|
'-Wno-unused-parameter', |
||||
|
'-Wnon-virtual-dtor', |
||||
|
], |
||||
|
}, |
||||
|
'target_conditions': [ |
||||
|
['_type!="static_library"', { |
||||
|
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']}, |
||||
|
}], |
||||
|
], # target_conditions |
||||
|
}, # target_defaults |
||||
|
}], # OS=="mac" |
||||
|
], |
||||
|
} |
@ -0,0 +1,173 @@ |
|||||
|
#!/usr/bin/python |
||||
|
# |
||||
|
# Copyright 2010 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. |
||||
|
|
||||
|
# This script is wrapper for V8 that adds some support for how GYP |
||||
|
# is invoked by V8 beyond what can be done in the gclient hooks. |
||||
|
|
||||
|
import glob |
||||
|
import os |
||||
|
import shlex |
||||
|
import sys |
||||
|
|
||||
|
script_dir = os.path.dirname(__file__) |
||||
|
v8_root = os.path.normpath(os.path.join(script_dir, os.pardir)) |
||||
|
|
||||
|
sys.path.insert(0, os.path.join(v8_root, 'tools')) |
||||
|
import utils |
||||
|
|
||||
|
sys.path.insert(0, os.path.join(v8_root, 'build', 'gyp', 'pylib')) |
||||
|
import gyp |
||||
|
|
||||
|
|
||||
|
def apply_gyp_environment(file_path=None): |
||||
|
""" |
||||
|
Reads in a *.gyp_env file and applies the valid keys to os.environ. |
||||
|
""" |
||||
|
if not file_path or not os.path.exists(file_path): |
||||
|
return |
||||
|
file_contents = open(file_path).read() |
||||
|
try: |
||||
|
file_data = eval(file_contents, {'__builtins__': None}, None) |
||||
|
except SyntaxError, e: |
||||
|
e.filename = os.path.abspath(file_path) |
||||
|
raise |
||||
|
supported_vars = ( 'V8_GYP_FILE', |
||||
|
'V8_GYP_SYNTAX_CHECK', |
||||
|
'GYP_DEFINES', |
||||
|
'GYP_GENERATOR_FLAGS', |
||||
|
'GYP_GENERATOR_OUTPUT', ) |
||||
|
for var in supported_vars: |
||||
|
val = file_data.get(var) |
||||
|
if val: |
||||
|
if var in os.environ: |
||||
|
print 'INFO: Environment value for "%s" overrides value in %s.' % ( |
||||
|
var, os.path.abspath(file_path) |
||||
|
) |
||||
|
else: |
||||
|
os.environ[var] = val |
||||
|
|
||||
|
|
||||
|
def additional_include_files(args=[]): |
||||
|
""" |
||||
|
Returns a list of additional (.gypi) files to include, without |
||||
|
duplicating ones that are already specified on the command line. |
||||
|
""" |
||||
|
# Determine the include files specified on the command line. |
||||
|
# This doesn't cover all the different option formats you can use, |
||||
|
# but it's mainly intended to avoid duplicating flags on the automatic |
||||
|
# makefile regeneration which only uses this format. |
||||
|
specified_includes = set() |
||||
|
for arg in args: |
||||
|
if arg.startswith('-I') and len(arg) > 2: |
||||
|
specified_includes.add(os.path.realpath(arg[2:])) |
||||
|
|
||||
|
result = [] |
||||
|
def AddInclude(path): |
||||
|
if os.path.realpath(path) not in specified_includes: |
||||
|
result.append(path) |
||||
|
|
||||
|
# Always include common.gypi & features_override.gypi |
||||
|
AddInclude(os.path.join(script_dir, 'common.gypi')) |
||||
|
|
||||
|
# Optionally add supplemental .gypi files if present. |
||||
|
supplements = glob.glob(os.path.join(v8_root, '*', 'supplement.gypi')) |
||||
|
for supplement in supplements: |
||||
|
AddInclude(supplement) |
||||
|
|
||||
|
return result |
||||
|
|
||||
|
|
||||
|
def run_gyp(args): |
||||
|
rc = gyp.main(args) |
||||
|
if rc != 0: |
||||
|
print 'Error running GYP' |
||||
|
sys.exit(rc) |
||||
|
|
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
args = sys.argv[1:] |
||||
|
|
||||
|
if 'SKIP_V8_GYP_ENV' not in os.environ: |
||||
|
# Update the environment based on v8.gyp_env |
||||
|
gyp_env_path = os.path.join(os.path.dirname(v8_root), 'v8.gyp_env') |
||||
|
apply_gyp_environment(gyp_env_path) |
||||
|
|
||||
|
# This could give false positives since it doesn't actually do real option |
||||
|
# parsing. Oh well. |
||||
|
gyp_file_specified = False |
||||
|
for arg in args: |
||||
|
if arg.endswith('.gyp'): |
||||
|
gyp_file_specified = True |
||||
|
break |
||||
|
|
||||
|
# If we didn't get a file, check an env var, and then fall back to |
||||
|
# assuming 'all.gyp' from the same directory as the script. |
||||
|
if not gyp_file_specified: |
||||
|
gyp_file = os.environ.get('V8_GYP_FILE') |
||||
|
if gyp_file: |
||||
|
# Note that V8_GYP_FILE values can't have backslashes as |
||||
|
# path separators even on Windows due to the use of shlex.split(). |
||||
|
args.extend(shlex.split(gyp_file)) |
||||
|
else: |
||||
|
args.append(os.path.join(script_dir, 'all.gyp')) |
||||
|
|
||||
|
args.extend(['-I' + i for i in additional_include_files(args)]) |
||||
|
|
||||
|
# There shouldn't be a circular dependency relationship between .gyp files |
||||
|
args.append('--no-circular-check') |
||||
|
|
||||
|
# Set the GYP DEPTH variable to the root of the V8 project. |
||||
|
args.append('--depth=' + v8_root) |
||||
|
|
||||
|
# If V8_GYP_SYNTAX_CHECK is set to 1, it will invoke gyp with --check |
||||
|
# to enfore syntax checking. |
||||
|
syntax_check = os.environ.get('V8_GYP_SYNTAX_CHECK') |
||||
|
if syntax_check and int(syntax_check): |
||||
|
args.append('--check') |
||||
|
|
||||
|
print 'Updating projects from gyp files...' |
||||
|
sys.stdout.flush() |
||||
|
|
||||
|
# Generate for the architectures supported on the given platform. |
||||
|
gyp_args = list(args) |
||||
|
gyp_args.append('-Dtarget_arch=ia32') |
||||
|
if utils.GuessOS() == 'linux': |
||||
|
gyp_args.append('-S-ia32') |
||||
|
run_gyp(gyp_args) |
||||
|
|
||||
|
if utils.GuessOS() == 'linux': |
||||
|
gyp_args = list(args) |
||||
|
gyp_args.append('-Dtarget_arch=x64') |
||||
|
gyp_args.append('-S-x64') |
||||
|
run_gyp(gyp_args) |
||||
|
|
||||
|
gyp_args = list(args) |
||||
|
gyp_args.append('-I' + v8_root + '/build/armu.gypi') |
||||
|
gyp_args.append('-S-armu') |
||||
|
run_gyp(gyp_args) |
@ -0,0 +1,125 @@ |
|||||
|
# Copyright 2011 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. |
||||
|
|
||||
|
# TODO(sgjesse): This is currently copied from v8.gyp, should probably |
||||
|
# be refactored. |
||||
|
{ |
||||
|
'variables': { |
||||
|
'use_system_v8%': 0, |
||||
|
'msvs_use_common_release': 0, |
||||
|
'gcc_version%': 'unknown', |
||||
|
'v8_compress_startup_data%': 'off', |
||||
|
'v8_target_arch%': '<(target_arch)', |
||||
|
|
||||
|
# Setting 'v8_can_use_unaligned_accesses' to 'true' will allow the code |
||||
|
# generated by V8 to do unaligned memory access, and setting it to 'false' |
||||
|
# will ensure that the generated code will always do aligned memory |
||||
|
# accesses. The default value of 'default' will try to determine the correct |
||||
|
# setting. Note that for Intel architectures (ia32 and x64) unaligned memory |
||||
|
# access is allowed for all CPUs. |
||||
|
'v8_can_use_unaligned_accesses%': 'default', |
||||
|
|
||||
|
# Setting 'v8_can_use_vfp_instructions' to 'true' will enable use of ARM VFP |
||||
|
# instructions in the V8 generated code. VFP instructions will be enabled |
||||
|
# both for the snapshot and for the ARM target. Leaving the default value |
||||
|
# of 'false' will avoid VFP instructions in the snapshot and use CPU feature |
||||
|
# probing when running on the target. |
||||
|
'v8_can_use_vfp_instructions%': 'false', |
||||
|
|
||||
|
# Setting v8_use_arm_eabi_hardfloat to true will turn on V8 support for ARM |
||||
|
# EABI calling convention where double arguments are passed in VFP |
||||
|
# registers. Note that the GCC flag '-mfloat-abi=hard' should be used as |
||||
|
# well when compiling for the ARM target. |
||||
|
'v8_use_arm_eabi_hardfloat%': 'false', |
||||
|
|
||||
|
'v8_use_snapshot%': 'true', |
||||
|
'host_os%': '<(OS)', |
||||
|
'v8_use_liveobjectlist%': 'false', |
||||
|
}, |
||||
|
'target_defaults': { |
||||
|
'conditions': [ |
||||
|
['OS!="mac"', { |
||||
|
'conditions': [ |
||||
|
['v8_target_arch=="arm"', { |
||||
|
'defines': [ |
||||
|
'V8_TARGET_ARCH_ARM', |
||||
|
], |
||||
|
'conditions': [ |
||||
|
[ 'v8_can_use_unaligned_accesses=="true"', { |
||||
|
'defines': [ |
||||
|
'CAN_USE_UNALIGNED_ACCESSES=1', |
||||
|
], |
||||
|
}], |
||||
|
[ 'v8_can_use_unaligned_accesses=="false"', { |
||||
|
'defines': [ |
||||
|
'CAN_USE_UNALIGNED_ACCESSES=0', |
||||
|
], |
||||
|
}], |
||||
|
[ 'v8_can_use_vfp_instructions=="true"', { |
||||
|
'defines': [ |
||||
|
'CAN_USE_VFP_INSTRUCTIONS', |
||||
|
], |
||||
|
}], |
||||
|
[ 'v8_use_arm_eabi_hardfloat=="true"', { |
||||
|
'defines': [ |
||||
|
'USE_EABI_HARDFLOAT=1', |
||||
|
'CAN_USE_VFP_INSTRUCTIONS', |
||||
|
], |
||||
|
}], |
||||
|
], |
||||
|
}], |
||||
|
['v8_target_arch=="ia32"', { |
||||
|
'defines': [ |
||||
|
'V8_TARGET_ARCH_IA32', |
||||
|
], |
||||
|
}], |
||||
|
['v8_target_arch=="mips"', { |
||||
|
'defines': [ |
||||
|
'V8_TARGET_ARCH_MIPS', |
||||
|
], |
||||
|
}], |
||||
|
['v8_target_arch=="x64"', { |
||||
|
'defines': [ |
||||
|
'V8_TARGET_ARCH_X64', |
||||
|
], |
||||
|
}], |
||||
|
], |
||||
|
}], |
||||
|
], |
||||
|
'configurations': { |
||||
|
'Debug': { |
||||
|
'defines': [ |
||||
|
'DEBUG', |
||||
|
'_DEBUG', |
||||
|
'ENABLE_DISASSEMBLER', |
||||
|
'V8_ENABLE_CHECKS', |
||||
|
'OBJECT_PRINT', |
||||
|
], |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue