Enables cross-compilation of the VM for ARM.
Uses the "toolset" feature of gyp to build the dart VM for ARM, but restricts building of snapshot generation to the host machine. For generated source files, it also changes to using LIB_DIR instead of SHARED_INTERMEDIATE_DIR to avoid generation of duplicate Makefile rules (gyp doesn't know that generated source files from toolchains it thinks are different will be the same.) Review URL: https://codereview.chromium.org//12726011 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21757 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
+30
-10
@@ -4,19 +4,32 @@
|
||||
|
||||
{
|
||||
'variables': {
|
||||
'io_cc_file': '<(SHARED_INTERMEDIATE_DIR)/io_gen.cc',
|
||||
'io_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/io_patch_gen.cc',
|
||||
# We place most generated source files in LIB_DIR (rather than, say
|
||||
# SHARED_INTERMEDIATE_DIR) because it is toolset specific. This avoids
|
||||
# two problems. First, if a generated source file has architecture specific
|
||||
# code, we'll get two different files in two different directories. Second,
|
||||
# if a generated source file is needed to build a target with multiple
|
||||
# toolsets, we avoid having duplicate Makefile targets.
|
||||
'gen_source_dir': '<(LIB_DIR)',
|
||||
|
||||
'io_cc_file': '<(gen_source_dir)/io_gen.cc',
|
||||
'io_patch_cc_file': '<(gen_source_dir)/io_patch_gen.cc',
|
||||
'builtin_in_cc_file': 'builtin_in.cc',
|
||||
'builtin_cc_file': '<(SHARED_INTERMEDIATE_DIR)/builtin_gen.cc',
|
||||
'builtin_cc_file': '<(gen_source_dir)/builtin_gen.cc',
|
||||
'snapshot_in_cc_file': 'snapshot_in.cc',
|
||||
'snapshot_bin_file': '<(SHARED_INTERMEDIATE_DIR)/snapshot_gen.bin',
|
||||
'snapshot_bin_file': '<(gen_source_dir)/snapshot_gen.bin',
|
||||
'resources_cc_file': '<(gen_source_dir)/resources_gen.cc',
|
||||
|
||||
# The program that creates snapshot_gen.cc is only built and run on the
|
||||
# host, but it must be available when dart is built for the target. Thus,
|
||||
# we keep it in a shared location.
|
||||
'snapshot_cc_file': '<(SHARED_INTERMEDIATE_DIR)/snapshot_gen.cc',
|
||||
'resources_cc_file': '<(SHARED_INTERMEDIATE_DIR)/resources_gen.cc',
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'generate_builtin_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['target','host'],
|
||||
'includes': [
|
||||
'builtin_sources.gypi',
|
||||
],
|
||||
@@ -47,8 +60,9 @@
|
||||
{
|
||||
'target_name': 'generate_io_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['target','host'],
|
||||
'variables': {
|
||||
'io_dart': '<(SHARED_INTERMEDIATE_DIR)/io_gen.dart',
|
||||
'io_dart': '<(gen_source_dir)/io_gen.dart',
|
||||
},
|
||||
'sources': [
|
||||
'io.dart',
|
||||
@@ -99,6 +113,7 @@
|
||||
{
|
||||
'target_name': 'generate_io_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['target','host'],
|
||||
'includes': [
|
||||
'io_sources.gypi',
|
||||
],
|
||||
@@ -129,6 +144,7 @@
|
||||
{
|
||||
'target_name': 'libdart_builtin',
|
||||
'type': 'static_library',
|
||||
'toolsets':['target','host'],
|
||||
'dependencies': [
|
||||
'generate_builtin_cc_file',
|
||||
'generate_io_cc_file',
|
||||
@@ -218,6 +234,7 @@
|
||||
{
|
||||
'target_name': 'libdart_withcore',
|
||||
'type': 'static_library',
|
||||
'toolsets':['target','host'],
|
||||
'dependencies': [
|
||||
'libdart_lib_withcore',
|
||||
'libdart_vm',
|
||||
@@ -243,6 +260,7 @@
|
||||
# Completely statically linked binary for generating snapshots.
|
||||
'target_name': 'gen_snapshot',
|
||||
'type': 'executable',
|
||||
'toolsets':['host'],
|
||||
'dependencies': [
|
||||
'libdart_withcore',
|
||||
'libdart_builtin',
|
||||
@@ -276,8 +294,9 @@
|
||||
# Generate snapshot bin file.
|
||||
'target_name': 'generate_snapshot_bin',
|
||||
'type': 'none',
|
||||
'toolsets':['host'],
|
||||
'dependencies': [
|
||||
'gen_snapshot',
|
||||
'gen_snapshot#host',
|
||||
],
|
||||
'actions': [
|
||||
{
|
||||
@@ -305,8 +324,9 @@
|
||||
# Generate snapshot file.
|
||||
'target_name': 'generate_snapshot_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host'],
|
||||
'dependencies': [
|
||||
'generate_snapshot_bin',
|
||||
'generate_snapshot_bin#host',
|
||||
],
|
||||
'actions': [
|
||||
{
|
||||
@@ -365,7 +385,7 @@
|
||||
'libdart',
|
||||
'libdart_builtin',
|
||||
'libdart_io',
|
||||
'generate_snapshot_file',
|
||||
'generate_snapshot_file#host',
|
||||
'generate_resources_cc_file',
|
||||
],
|
||||
'include_dirs': [
|
||||
@@ -478,7 +498,7 @@
|
||||
],
|
||||
'include_dirs': [
|
||||
'..',
|
||||
'<(SHARED_INTERMEDIATE_DIR)',
|
||||
'<(gen_source_dir)',
|
||||
],
|
||||
'sources': [
|
||||
'run_vm_tests.cc',
|
||||
|
||||
@@ -11,8 +11,9 @@
|
||||
'third_party/jscre/jscre.gypi',
|
||||
],
|
||||
'variables': {
|
||||
'gen_source_dir': '<(LIB_DIR)',
|
||||
'version_in_cc_file': 'vm/version_in.cc',
|
||||
'version_cc_file': '<(SHARED_INTERMEDIATE_DIR)/version.cc',
|
||||
'version_cc_file': '<(gen_source_dir)/version.cc',
|
||||
|
||||
# Disable the OpenGLUI embedder by default on desktop OSes. Note,
|
||||
# to build this on the desktop, you need GLUT installed.
|
||||
@@ -61,6 +62,7 @@
|
||||
{
|
||||
'target_name': 'generate_version_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['target','host'],
|
||||
'dependencies': [
|
||||
'libdart_dependency_helper',
|
||||
],
|
||||
@@ -94,6 +96,7 @@
|
||||
{
|
||||
'target_name': 'libdart_dependency_helper',
|
||||
'type': 'executable',
|
||||
'toolsets':['target','host'],
|
||||
# The dependencies here are the union of the dependencies of libdart and
|
||||
# libdart_withcore.
|
||||
'dependencies': [
|
||||
@@ -106,6 +109,7 @@
|
||||
'sources': [
|
||||
'vm/libdart_dependency_helper.cc',
|
||||
],
|
||||
'product_dir':'<(PRODUCT_DIR)/<(_toolset)'
|
||||
},
|
||||
{
|
||||
'target_name': 'runtime_packages',
|
||||
|
||||
@@ -130,6 +130,22 @@ typedef simd128_value_t fpu_register_t;
|
||||
#define ARCH_IS_32_BIT 1
|
||||
#define kFpuRegisterSize 8
|
||||
typedef double fpu_register_t;
|
||||
typedef struct {
|
||||
union {
|
||||
uint32_t u;
|
||||
float f;
|
||||
} data_[4];
|
||||
} simd_value_t;
|
||||
#define simd_value_safe_load(addr) \
|
||||
(*reinterpret_cast<simd_value_t *>(addr))
|
||||
#define simd_value_safe_store(addr, value) \
|
||||
do { \
|
||||
reinterpret_cast<simd_value_t *>(addr)->data_[0] = value.data_[0]; \
|
||||
reinterpret_cast<simd_value_t *>(addr)->data_[1] = value.data_[1]; \
|
||||
reinterpret_cast<simd_value_t *>(addr)->data_[2] = value.data_[2]; \
|
||||
reinterpret_cast<simd_value_t *>(addr)->data_[3] = value.data_[3]; \
|
||||
} while (0)
|
||||
|
||||
#elif defined(__MIPSEL__)
|
||||
#define HOST_ARCH_MIPS 1
|
||||
#define ARCH_IS_32_BIT 1
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
{
|
||||
'target_name': 'libdouble_conversion',
|
||||
'type': 'static_library',
|
||||
'toolsets':['target','host'],
|
||||
'dependencies': [
|
||||
],
|
||||
'include_dirs': [
|
||||
|
||||
Vendored
+1
@@ -5,6 +5,7 @@
|
||||
{
|
||||
'target_name': 'libjscre',
|
||||
'type': 'static_library',
|
||||
'toolsets':['target','host'],
|
||||
'dependencies': [
|
||||
],
|
||||
'include_dirs': [
|
||||
|
||||
@@ -40,19 +40,7 @@ void CPUFeatures::InitOnce() {
|
||||
#if defined(USING_SIMULATOR)
|
||||
integer_division_supported_ = true;
|
||||
#else
|
||||
Assembler assembler;
|
||||
__ mrc(R0, 15, 0, 0, 2, 0);
|
||||
__ Lsr(R0, R0, 24);
|
||||
__ and_(R0, R0, ShifterOperand(0xf));
|
||||
__ Ret();
|
||||
|
||||
const Code& code =
|
||||
Code::Handle(Code::FinalizeCode("DetectCPUFeatures", &assembler));
|
||||
Instructions& instructions = Instructions::Handle(code.instructions());
|
||||
typedef int32_t (*DetectCPUFeatures)();
|
||||
int32_t features =
|
||||
reinterpret_cast<DetectCPUFeatures>(instructions.EntryPoint())();
|
||||
integer_division_supported_ = features != 0;
|
||||
integer_division_supported_ = false;
|
||||
#endif // defined(USING_SIMULATOR)
|
||||
#if defined(DEBUG)
|
||||
initialized_ = true;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "include/dart_api.h"
|
||||
#include "platform/assert.h"
|
||||
#include "vm/assembler.h"
|
||||
#include "vm/cpu.h"
|
||||
#include "vm/bigint_operations.h"
|
||||
#include "vm/bootstrap.h"
|
||||
#include "vm/class_finalizer.h"
|
||||
@@ -7761,6 +7762,7 @@ RawCode* Code::FinalizeCode(const char* name,
|
||||
MemoryRegion region(reinterpret_cast<void*>(instrs.EntryPoint()),
|
||||
instrs.size());
|
||||
assembler->FinalizeInstructions(region);
|
||||
CPU::FlushICache(instrs.EntryPoint(), instrs.size());
|
||||
|
||||
CodeObservers::NotifyAll(name,
|
||||
instrs.EntryPoint(),
|
||||
|
||||
+60
-34
@@ -4,29 +4,30 @@
|
||||
|
||||
{
|
||||
'variables': {
|
||||
'gen_source_dir': '<(LIB_DIR)',
|
||||
'builtin_in_cc_file': '../bin/builtin_in.cc',
|
||||
'async_cc_file': '<(SHARED_INTERMEDIATE_DIR)/async_gen.cc',
|
||||
'async_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/async_patch_gen.cc',
|
||||
'corelib_cc_file': '<(SHARED_INTERMEDIATE_DIR)/corelib_gen.cc',
|
||||
'corelib_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/corelib_patch_gen.cc',
|
||||
'collection_cc_file': '<(SHARED_INTERMEDIATE_DIR)/collection_gen.cc',
|
||||
'collection_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/collection_patch_gen.cc',
|
||||
'collection_dev_cc_file': '<(SHARED_INTERMEDIATE_DIR)/collection_dev_gen.cc',
|
||||
'collection_dev_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/collection_dev_patch_gen.cc',
|
||||
'crypto_cc_file': '<(SHARED_INTERMEDIATE_DIR)/crypto_gen.cc',
|
||||
'math_cc_file': '<(SHARED_INTERMEDIATE_DIR)/math_gen.cc',
|
||||
'math_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/math_patch_gen.cc',
|
||||
'mirrors_cc_file': '<(SHARED_INTERMEDIATE_DIR)/mirrors_gen.cc',
|
||||
'mirrors_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/mirrors_patch_gen.cc',
|
||||
'isolate_cc_file': '<(SHARED_INTERMEDIATE_DIR)/isolate_gen.cc',
|
||||
'isolate_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/isolate_patch_gen.cc',
|
||||
'json_cc_file': '<(SHARED_INTERMEDIATE_DIR)/json_gen.cc',
|
||||
'json_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/json_patch_gen.cc',
|
||||
'typeddata_cc_file': '<(SHARED_INTERMEDIATE_DIR)/typeddata_gen.cc',
|
||||
'typeddata_patch_cc_file': '<(SHARED_INTERMEDIATE_DIR)/typeddata_patch_gen.cc',
|
||||
'uri_cc_file': '<(SHARED_INTERMEDIATE_DIR)/uri_gen.cc',
|
||||
'utf_cc_file': '<(SHARED_INTERMEDIATE_DIR)/utf_gen.cc',
|
||||
'snapshot_test_dat_file': '<(SHARED_INTERMEDIATE_DIR)/snapshot_test.dat',
|
||||
'async_cc_file': '<(gen_source_dir)/async_gen.cc',
|
||||
'async_patch_cc_file': '<(gen_source_dir)/async_patch_gen.cc',
|
||||
'corelib_cc_file': '<(gen_source_dir)/corelib_gen.cc',
|
||||
'corelib_patch_cc_file': '<(gen_source_dir)/corelib_patch_gen.cc',
|
||||
'collection_cc_file': '<(gen_source_dir)/collection_gen.cc',
|
||||
'collection_patch_cc_file': '<(gen_source_dir)/collection_patch_gen.cc',
|
||||
'collection_dev_cc_file': '<(gen_source_dir)/collection_dev_gen.cc',
|
||||
'collection_dev_patch_cc_file': '<(gen_source_dir)/collection_dev_patch_gen.cc',
|
||||
'crypto_cc_file': '<(gen_source_dir)/crypto_gen.cc',
|
||||
'math_cc_file': '<(gen_source_dir)/math_gen.cc',
|
||||
'math_patch_cc_file': '<(gen_source_dir)/math_patch_gen.cc',
|
||||
'mirrors_cc_file': '<(gen_source_dir)/mirrors_gen.cc',
|
||||
'mirrors_patch_cc_file': '<(gen_source_dir)/mirrors_patch_gen.cc',
|
||||
'isolate_cc_file': '<(gen_source_dir)/isolate_gen.cc',
|
||||
'isolate_patch_cc_file': '<(gen_source_dir)/isolate_patch_gen.cc',
|
||||
'json_cc_file': '<(gen_source_dir)/json_gen.cc',
|
||||
'json_patch_cc_file': '<(gen_source_dir)/json_patch_gen.cc',
|
||||
'typeddata_cc_file': '<(gen_source_dir)/typeddata_gen.cc',
|
||||
'typeddata_patch_cc_file': '<(gen_source_dir)/typeddata_patch_gen.cc',
|
||||
'uri_cc_file': '<(gen_source_dir)/uri_gen.cc',
|
||||
'utf_cc_file': '<(gen_source_dir)/utf_gen.cc',
|
||||
'snapshot_test_dat_file': '<(gen_source_dir)/snapshot_test.dat',
|
||||
'snapshot_test_in_dat_file': 'snapshot_test_in.dat',
|
||||
'snapshot_test_dart_file': 'snapshot_test.dart',
|
||||
},
|
||||
@@ -34,6 +35,7 @@
|
||||
{
|
||||
'target_name': 'libdart_vm',
|
||||
'type': 'static_library',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
'vm_sources.gypi',
|
||||
'../platform/platform_headers.gypi',
|
||||
@@ -91,6 +93,7 @@
|
||||
{
|
||||
'target_name': 'libdart_lib_withcore',
|
||||
'type': 'static_library',
|
||||
'toolsets':['host', 'target'],
|
||||
'dependencies': [
|
||||
'generate_async_cc_file',
|
||||
'generate_async_patch_cc_file',
|
||||
@@ -155,6 +158,7 @@
|
||||
{
|
||||
'target_name': 'libdart_lib',
|
||||
'type': 'static_library',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
'../lib/async_sources.gypi',
|
||||
'../lib/collection_sources.gypi',
|
||||
@@ -174,8 +178,9 @@
|
||||
{
|
||||
'target_name': 'generate_async_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'async_dart': '<(SHARED_INTERMEDIATE_DIR)/async_gen.dart',
|
||||
'async_dart': '<(gen_source_dir)/async_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
'../../sdk/lib/async/async_sources.gypi',
|
||||
@@ -230,8 +235,9 @@
|
||||
{
|
||||
'target_name': 'generate_corelib_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'core_dart': '<(SHARED_INTERMEDIATE_DIR)/core_gen.dart',
|
||||
'core_dart': '<(gen_source_dir)/core_gen.dart',
|
||||
},'includes': [
|
||||
# Load the shared core library sources.
|
||||
'../../sdk/lib/core/corelib_sources.gypi',
|
||||
@@ -286,6 +292,7 @@
|
||||
{
|
||||
'target_name': 'generate_corelib_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the runtime implementation sources.
|
||||
'../lib/lib_sources.gypi',
|
||||
@@ -324,8 +331,9 @@
|
||||
{
|
||||
'target_name': 'generate_collection_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'collection_dart': '<(SHARED_INTERMEDIATE_DIR)/collection_gen.dart',
|
||||
'collection_dart': '<(gen_source_dir)/collection_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared collection library sources.
|
||||
@@ -381,6 +389,7 @@
|
||||
{
|
||||
'target_name': 'generate_collection_dev_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the runtime implementation sources.
|
||||
'../lib/collection_dev_sources.gypi',
|
||||
@@ -419,8 +428,9 @@
|
||||
{
|
||||
'target_name': 'generate_collection_dev_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'collection_dev_dart': '<(SHARED_INTERMEDIATE_DIR)/collection_dev_gen.dart',
|
||||
'collection_dev_dart': '<(gen_source_dir)/collection_dev_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared collection_dev library sources.
|
||||
@@ -476,8 +486,9 @@
|
||||
{
|
||||
'target_name': 'generate_crypto_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'crypto_dart': '<(SHARED_INTERMEDIATE_DIR)/crypto_gen.dart',
|
||||
'crypto_dart': '<(gen_source_dir)/crypto_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared crypto sources.
|
||||
@@ -526,8 +537,9 @@
|
||||
{
|
||||
'target_name': 'generate_math_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'math_dart': '<(SHARED_INTERMEDIATE_DIR)/math_gen.dart',
|
||||
'math_dart': '<(gen_source_dir)/math_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared math library sources.
|
||||
@@ -583,6 +595,7 @@
|
||||
{
|
||||
'target_name': 'generate_math_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the shared math library sources.
|
||||
'../lib/math_sources.gypi',
|
||||
@@ -621,8 +634,9 @@
|
||||
{
|
||||
'target_name': 'generate_mirrors_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'mirrors_dart': '<(SHARED_INTERMEDIATE_DIR)/mirrors_gen.dart',
|
||||
'mirrors_dart': '<(gen_source_dir)/mirrors_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared core library sources.
|
||||
@@ -678,6 +692,7 @@
|
||||
{
|
||||
'target_name': 'generate_mirrors_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the patch sources.
|
||||
'../lib/mirrors_sources.gypi',
|
||||
@@ -716,8 +731,9 @@
|
||||
{
|
||||
'target_name': 'generate_isolate_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'isolate_dart': '<(SHARED_INTERMEDIATE_DIR)/isolate_gen.dart',
|
||||
'isolate_dart': '<(gen_source_dir)/isolate_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the runtime implementation sources.
|
||||
@@ -773,6 +789,7 @@
|
||||
{
|
||||
'target_name': 'generate_async_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the runtime implementation sources.
|
||||
'../lib/async_sources.gypi',
|
||||
@@ -811,6 +828,7 @@
|
||||
{
|
||||
'target_name': 'generate_collection_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the runtime implementation sources.
|
||||
'../lib/collection_sources.gypi',
|
||||
@@ -849,6 +867,7 @@
|
||||
{
|
||||
'target_name': 'generate_isolate_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the runtime implementation sources.
|
||||
'../lib/isolate_sources.gypi',
|
||||
@@ -887,8 +906,9 @@
|
||||
{
|
||||
'target_name': 'generate_json_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'json_dart': '<(SHARED_INTERMEDIATE_DIR)/json_gen.dart',
|
||||
'json_dart': '<(gen_source_dir)/json_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared json sources.
|
||||
@@ -937,6 +957,7 @@
|
||||
{
|
||||
'target_name': 'generate_json_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the shared json library sources.
|
||||
'../lib/json_sources.gypi',
|
||||
@@ -975,8 +996,9 @@
|
||||
{
|
||||
'target_name': 'generate_typeddata_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'typeddata_dart': '<(SHARED_INTERMEDIATE_DIR)/typeddata_gen.dart',
|
||||
'typeddata_dart': '<(gen_source_dir)/typeddata_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared library sources.
|
||||
@@ -1032,6 +1054,7 @@
|
||||
{
|
||||
'target_name': 'generate_typeddata_patch_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'includes': [
|
||||
# Load the runtime implementation sources.
|
||||
'../lib/typeddata_sources.gypi',
|
||||
@@ -1070,8 +1093,9 @@
|
||||
{
|
||||
'target_name': 'generate_uri_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'uri_dart': '<(SHARED_INTERMEDIATE_DIR)/uri_gen.dart',
|
||||
'uri_dart': '<(gen_source_dir)/uri_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared uri sources.
|
||||
@@ -1120,8 +1144,9 @@
|
||||
{
|
||||
'target_name': 'generate_utf_cc_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'variables': {
|
||||
'utf_dart': '<(SHARED_INTERMEDIATE_DIR)/utf_gen.dart',
|
||||
'utf_dart': '<(gen_source_dir)/utf_gen.dart',
|
||||
},
|
||||
'includes': [
|
||||
# Load the shared utf sources.
|
||||
@@ -1170,6 +1195,7 @@
|
||||
{
|
||||
'target_name': 'generate_snapshot_test_dat_file',
|
||||
'type': 'none',
|
||||
'toolsets':['host', 'target'],
|
||||
'actions': [
|
||||
{
|
||||
'action_name': 'generate_snapshot_test_dat',
|
||||
|
||||
+26
-7
@@ -15,11 +15,23 @@ import utils
|
||||
|
||||
HOST_OS = utils.GuessOS()
|
||||
HOST_CPUS = utils.GuessCpus()
|
||||
armcompilerlocation = '/opt/codesourcery/arm-2009q1'
|
||||
SCRIPT_DIR = os.path.dirname(sys.argv[0])
|
||||
DART_ROOT = os.path.realpath(os.path.join(SCRIPT_DIR, '..'))
|
||||
THIRD_PARTY_ROOT = os.path.join(DART_ROOT, 'third_party')
|
||||
|
||||
arm_cc_error = """
|
||||
Couldn't find the arm cross compiler.
|
||||
To make sure that you have the arm cross compilation tools installed, run:
|
||||
|
||||
$ wget http://src.chromium.org/chrome/trunk/src/build/install-build-deps.sh
|
||||
OR
|
||||
$ svn co http://src.chromium.org/chrome/trunk/src/build; cd build
|
||||
Then,
|
||||
$ chmod u+x install-build-deps.sh
|
||||
$ ./install-build-deps.sh --arm --no-chromeos-fonts
|
||||
"""
|
||||
DEFAULT_ARM_CROSS_COMPILER_PATH = '/usr'
|
||||
|
||||
def BuildOptions():
|
||||
result = optparse.OptionParser()
|
||||
result.add_option("-m", "--mode",
|
||||
@@ -107,14 +119,14 @@ def ProcessOptions(options, args):
|
||||
def SetTools(arch, toolchainprefix):
|
||||
toolsOverride = None
|
||||
if arch == 'arm' and toolchainprefix == None:
|
||||
toolchainprefix = armcompilerlocation + "/bin/arm-none-linux-gnueabi"
|
||||
toolchainprefix = DEFAULT_ARM_CROSS_COMPILER_PATH + "/bin/arm-linux-gnueabi"
|
||||
if toolchainprefix:
|
||||
toolsOverride = {
|
||||
"CC" : toolchainprefix + "-gcc",
|
||||
"CXX" : toolchainprefix + "-g++",
|
||||
"AR" : toolchainprefix + "-ar",
|
||||
"LINK": toolchainprefix + "-g++",
|
||||
"NM" : toolchainprefix + "-nm",
|
||||
"CC.target" : toolchainprefix + "-gcc",
|
||||
"CXX.target" : toolchainprefix + "-g++",
|
||||
"AR.target" : toolchainprefix + "-ar",
|
||||
"LINK.target": toolchainprefix + "-g++",
|
||||
"NM.target" : toolchainprefix + "-nm",
|
||||
}
|
||||
return toolsOverride
|
||||
|
||||
@@ -413,6 +425,13 @@ def Main():
|
||||
args.append( k + "=" + v)
|
||||
if printToolOverrides:
|
||||
print k + " = " + v
|
||||
if not os.path.isfile(toolsOverride['CC.target']):
|
||||
if arch == 'arm':
|
||||
print arm_cc_error
|
||||
else:
|
||||
print "Couldn't find compiler: %s" % toolsOverride['CC.target']
|
||||
return 1
|
||||
|
||||
|
||||
print ' '.join(args)
|
||||
process = None
|
||||
|
||||
@@ -46,12 +46,21 @@
|
||||
},
|
||||
|
||||
'Dart_arm_Base': {
|
||||
'cflags': [
|
||||
'-march=armv7-a',
|
||||
'-mfpu=vfp',
|
||||
'-mfloat-abi=softfp',
|
||||
'-fno-strict-overflow',
|
||||
],
|
||||
'target_conditions': [
|
||||
['_toolset=="target"', {
|
||||
'cflags': [
|
||||
'-marm',
|
||||
'-march=armv7-a',
|
||||
'-mfpu=vfp',
|
||||
'-mfloat-abi=softfp',
|
||||
'-Wno-psabi', # suppresses va_list warning
|
||||
'-fno-strict-overflow',
|
||||
],
|
||||
}],
|
||||
['_toolset=="host"', {
|
||||
'cflags': ['-m32', '-msse2'],
|
||||
'ldflags': ['-m32'],
|
||||
}]]
|
||||
},
|
||||
|
||||
'Dart_simmips_Base': {
|
||||
|
||||
Reference in New Issue
Block a user