Fixed assertion failures in compilation of loop conditions.

Removed STL dependency from developer shell (d8).

Added infrastructure for protecting the V8 heap from corruption caused by memory modifications from the outside.


git-svn-id: http://v8.googlecode.com/svn/trunk@1603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/SConstruct b/SConstruct
index 4268841..da140c7 100644
--- a/SConstruct
+++ b/SConstruct
@@ -70,6 +70,17 @@
                     ANDROID_TOP + '/bionic/libm/include/arch/arm',
                     ANDROID_TOP + '/bionic/libthread_db/include']
 
+ANDROID_LINKFLAGS = ['-nostdlib',
+                     '-Bdynamic',
+                     '-Wl,-T,' + ANDROID_TOP + '/build/core/armelf.x',
+                     '-Wl,-dynamic-linker,/system/bin/linker',
+                     '-Wl,--gc-sections',
+                     '-Wl,-z,nocopyreloc',
+                     '-Wl,-rpath-link=' + ANDROID_TOP + '/out/target/product/generic/obj/lib',
+                     ANDROID_TOP + '/out/target/product/generic/obj/lib/crtbegin_dynamic.o',
+                     ANDROID_TOP + '/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a',
+                     ANDROID_TOP + '/out/target/product/generic/obj/lib/crtend_android.o'];
+
 LIBRARY_FLAGS = {
   'all': {
     'CPPDEFINES':   ['ENABLE_LOGGING_AND_PROFILING']
@@ -306,16 +317,7 @@
       'CCFLAGS':      ANDROID_FLAGS,
       'CPPPATH':      ANDROID_INCLUDES,
       'LIBPATH':     [ANDROID_TOP + '/out/target/product/generic/obj/lib'],
-      'LINKFLAGS':    ['-nostdlib',
-                       '-Bdynamic',
-                       '-Wl,-T,' + ANDROID_TOP + '/build/core/armelf.x',
-                       '-Wl,-dynamic-linker,/system/bin/linker',
-                       '-Wl,--gc-sections',
-                       '-Wl,-z,nocopyreloc',
-                       '-Wl,-rpath-link=' + ANDROID_TOP + '/out/target/product/generic/obj/lib',
-                       ANDROID_TOP + '/out/target/product/generic/obj/lib/crtbegin_dynamic.o',
-                       ANDROID_TOP + '/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a',
-                       ANDROID_TOP + '/out/target/product/generic/obj/lib/crtend_android.o'],
+      'LINKFLAGS':    ANDROID_LINKFLAGS,
       'LIBS':         ['c', 'stdc++', 'm'],
       'mode:release': {
         'CPPDEFINES': ['SK_RELEASE', 'NDEBUG']
@@ -386,6 +388,11 @@
     'os:freebsd': {
       'LIBS': ['pthread'],
     },
+    'os:android': {
+      'LIBPATH':     [ANDROID_TOP + '/out/target/product/generic/obj/lib'],
+      'LINKFLAGS':    ANDROID_LINKFLAGS,
+      'LIBS':         ['c', 'stdc++', 'm'],
+    },
     'os:win32': {
       'LIBS': ['winmm', 'ws2_32'],
     },