|
|
@ -43,6 +43,16 @@ ANDROID_TOP = os.environ.get('TOP') |
|
|
|
if ANDROID_TOP is None: |
|
|
|
ANDROID_TOP="" |
|
|
|
|
|
|
|
# TODO: Sort these issues out properly but as a temporary solution for gcc 4.4 |
|
|
|
# on linux we need these compiler flags to avoid a mksnapshot segfault, avoid |
|
|
|
# crashes in the v8 test suite and avoid dtoa.c strict aliasing issues |
|
|
|
if os.environ.get('GCC_VERSION') == '44': |
|
|
|
GCC_EXTRA_CCFLAGS = ['-fno-tree-vectorize', '-fno-tree-vrp'] |
|
|
|
GCC_DTOA_EXTRA_CCFLAGS = ['-fno-strict-aliasing'] |
|
|
|
else: |
|
|
|
GCC_EXTRA_CCFLAGS = [] |
|
|
|
GCC_DTOA_EXTRA_CCFLAGS = [] |
|
|
|
|
|
|
|
ANDROID_FLAGS = ['-march=armv5te', |
|
|
|
'-mtune=xscale', |
|
|
|
'-msoft-float', |
|
|
@ -109,7 +119,7 @@ LIBRARY_FLAGS = { |
|
|
|
} |
|
|
|
}, |
|
|
|
'os:linux': { |
|
|
|
'CCFLAGS': ['-ansi'], |
|
|
|
'CCFLAGS': ['-ansi'] + GCC_EXTRA_CCFLAGS, |
|
|
|
'library:shared': { |
|
|
|
'LIBS': ['pthread'] |
|
|
|
} |
|
|
@ -118,6 +128,8 @@ LIBRARY_FLAGS = { |
|
|
|
'CCFLAGS': ['-ansi'], |
|
|
|
}, |
|
|
|
'os:freebsd': { |
|
|
|
'CPPPATH' : ['/usr/local/include'], |
|
|
|
'LIBPATH' : ['/usr/local/lib'], |
|
|
|
'CCFLAGS': ['-ansi'], |
|
|
|
}, |
|
|
|
'os:win32': { |
|
|
@ -260,7 +272,7 @@ MKSNAPSHOT_EXTRA_FLAGS = { |
|
|
|
'LIBS': ['pthread'], |
|
|
|
}, |
|
|
|
'os:freebsd': { |
|
|
|
'LIBS': ['pthread'], |
|
|
|
'LIBS': ['execinfo', 'pthread'] |
|
|
|
}, |
|
|
|
'os:win32': { |
|
|
|
'LIBS': ['winmm', 'ws2_32'], |
|
|
@ -278,7 +290,8 @@ MKSNAPSHOT_EXTRA_FLAGS = { |
|
|
|
DTOA_EXTRA_FLAGS = { |
|
|
|
'gcc': { |
|
|
|
'all': { |
|
|
|
'WARNINGFLAGS': ['-Werror', '-Wno-uninitialized'] |
|
|
|
'WARNINGFLAGS': ['-Werror', '-Wno-uninitialized'], |
|
|
|
'CCFLAGS': GCC_DTOA_EXTRA_CCFLAGS |
|
|
|
} |
|
|
|
}, |
|
|
|
'msvc': { |
|
|
@ -371,6 +384,7 @@ SAMPLE_FLAGS = { |
|
|
|
'LIBS': ['pthread'], |
|
|
|
}, |
|
|
|
'os:freebsd': { |
|
|
|
'LIBPATH' : ['/usr/local/lib'], |
|
|
|
'LIBS': ['execinfo', 'pthread'] |
|
|
|
}, |
|
|
|
'os:win32': { |
|
|
@ -671,8 +685,6 @@ def VerifyOptions(env): |
|
|
|
Abort("Shared Object soname not applicable for Windows.") |
|
|
|
if env['soname'] == 'on' and env['library'] == 'static': |
|
|
|
Abort("Shared Object soname not applicable for static library.") |
|
|
|
if env['arch'] == 'x64' and env['os'] != 'linux': |
|
|
|
Abort("X64 compilation only allowed on Linux OS.") |
|
|
|
for (name, option) in SIMPLE_OPTIONS.iteritems(): |
|
|
|
if (not option.get('default')) and (name not in ARGUMENTS): |
|
|
|
message = ("A value for option %s must be specified (%s)." % |
|
|
|