Merge revision 8899 from bleeding_edge

Third attempt to fix ARM cross-compile build

Review URL: http://codereview.chromium.org/7617009

git-svn-id: http://v8.googlecode.com/svn/trunk@8902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/version.cc b/src/version.cc
index f056458..83836f6 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     5
 #define BUILD_NUMBER      4
-#define PATCH_LEVEL       2
+#define PATCH_LEVEL       3
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0
diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp
index 7a36d82..e755fcb 100644
--- a/tools/gyp/v8.gyp
+++ b/tools/gyp/v8.gyp
@@ -319,10 +319,13 @@
             }],
             # The ARM assembler assumes the host is 32 bits,
             # so force building 32-bit host tools.
-            ['v8_target_arch=="arm" and host_arch=="x64" and \
-              _toolset=="host"', {
-              'cflags': ['-m32'],
-              'ldflags': ['-m32'],
+            ['v8_target_arch=="arm" and host_arch=="x64"', {
+              'target_conditions': [
+                ['_toolset=="host"', {
+                  'cflags': ['-m32'],
+                  'ldflags': ['-m32'],
+                }],
+              ],
             }],
             ['component=="shared_library"', {
               'conditions': [
@@ -429,10 +432,13 @@
           'conditions': [
             # The ARM assembler assumes the host is 32 bits,
             # so force building 32-bit host tools.
-            ['v8_target_arch=="arm" and host_arch=="x64" and \
-              _toolset=="host"', {
-              'cflags': ['-m32'],
-              'ldflags': ['-m32'],
+            ['v8_target_arch=="arm" and host_arch=="x64"', {
+              'target_conditions': [
+                ['_toolset=="host"', {
+                  'cflags': ['-m32'],
+                  'ldflags': ['-m32'],
+                }],
+              ],
             }],
             ['want_separate_host_toolset==1', {
               'toolsets': ['host', 'target'],
@@ -748,9 +754,13 @@
               'conditions': [
                 # The ARM assembler assumes the host is 32 bits,
                 # so force building 32-bit host tools.
-                ['host_arch=="x64" and _toolset=="host"', {
-                  'cflags': ['-m32'],
-                  'ldflags': ['-m32'],
+                ['host_arch=="x64"', {
+                  'target_conditions': [
+                    ['_toolset=="host"', {
+                      'cflags': ['-m32'],
+                      'ldflags': ['-m32'],
+                    }],
+                  ],
                 }],
               ],
             }],
@@ -993,10 +1003,13 @@
             }],
             # The ARM assembler assumes the host is 32 bits,
             # so force building 32-bit host tools.
-            ['v8_target_arch=="arm" and host_arch=="x64" and \
-              _toolset=="host"', {
-              'cflags': ['-m32'],
-              'ldflags': ['-m32'],
+            ['v8_target_arch=="arm" and host_arch=="x64"', {
+              'target_conditions': [
+                ['_toolset=="host"', {
+                  'cflags': ['-m32'],
+                  'ldflags': ['-m32'],
+                }],
+              ],
             }],
             ['v8_compress_startup_data=="bz2"', {
               'libraries': [
@@ -1065,10 +1078,13 @@
             }],
             # The ARM assembler assumes the host is 32 bits,
             # so force building 32-bit host tools.
-            ['v8_target_arch=="arm" and host_arch=="x64" and \
-              _toolset=="host"', {
-              'cflags': ['-m32'],
-              'ldflags': ['-m32'],
+            ['v8_target_arch=="arm" and host_arch=="x64"', {
+              'target_conditions': [
+                ['_toolset=="host"', {
+                  'cflags': ['-m32'],
+                  'ldflags': ['-m32'],
+                }],
+              ],
             }],
           ],
           'link_settings': {