| Index: SConstruct
|
| ===================================================================
|
| --- SConstruct (revision 8618)
|
| +++ SConstruct (working copy)
|
| @@ -89,7 +89,7 @@
|
| 'gcc': {
|
| 'all': {
|
| 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
| - 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
|
| + 'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
| },
|
| 'visibility:hidden': {
|
| # Use visibility=default to disable this.
|
| @@ -230,7 +230,7 @@
|
| 'msvc': {
|
| 'all': {
|
| 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
| - 'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'],
|
| + 'CXXFLAGS': ['/GR-', '/Gy'],
|
| 'CPPDEFINES': ['WIN32'],
|
| 'LINKFLAGS': ['/INCREMENTAL:NO', '/NXCOMPAT', '/IGNORE:4221'],
|
| 'CCPDBFLAGS': ['/Zi']
|
| @@ -400,12 +400,15 @@
|
| CCTEST_EXTRA_FLAGS = {
|
| 'all': {
|
| 'CPPPATH': [join(root_dir, 'src')],
|
| + 'library:shared': {
|
| + 'CPPDEFINES': ['USING_V8_SHARED']
|
| + },
|
| },
|
| 'gcc': {
|
| 'all': {
|
| 'LIBPATH': [abspath('.')],
|
| 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
| - 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
|
| + 'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
| 'LINKFLAGS': ['$CCFLAGS'],
|
| },
|
| 'os:linux': {
|
| @@ -436,9 +439,6 @@
|
| 'CPPDEFINES': ['_HAS_EXCEPTIONS=0'],
|
| 'LIBS': ['winmm', 'ws2_32']
|
| },
|
| - 'library:shared': {
|
| - 'CPPDEFINES': ['USING_V8_SHARED']
|
| - },
|
| 'arch:ia32': {
|
| 'CPPDEFINES': ['V8_TARGET_ARCH_IA32']
|
| },
|
| @@ -453,12 +453,15 @@
|
| SAMPLE_FLAGS = {
|
| 'all': {
|
| 'CPPPATH': [join(abspath('.'), 'include')],
|
| + 'library:shared': {
|
| + 'CPPDEFINES': ['USING_V8_SHARED']
|
| + },
|
| },
|
| 'gcc': {
|
| 'all': {
|
| 'LIBPATH': ['.'],
|
| 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
| - 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
|
| + 'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
| 'LINKFLAGS': ['$CCFLAGS'],
|
| },
|
| 'os:linux': {
|
| @@ -472,6 +475,9 @@
|
| 'LIBS': ['execinfo', 'pthread']
|
| },
|
| 'os:solaris': {
|
| + # On Solaris, to get isinf, INFINITY, fpclassify and other macros one
|
| + # needs to define __C99FEATURES__.
|
| + 'CPPDEFINES': ['__C99FEATURES__'],
|
| 'LIBPATH' : ['/usr/local/lib'],
|
| 'LIBS': ['m', 'pthread', 'socket', 'nsl', 'rt'],
|
| 'LINKFLAGS': ['-mt']
|
| @@ -572,9 +578,6 @@
|
| 'verbose:on': {
|
| 'LINKFLAGS': ['/VERBOSE']
|
| },
|
| - 'library:shared': {
|
| - 'CPPDEFINES': ['USING_V8_SHARED']
|
| - },
|
| 'prof:on': {
|
| 'LINKFLAGS': ['/MAP']
|
| },
|
| @@ -625,13 +628,16 @@
|
|
|
| PREPARSER_FLAGS = {
|
| 'all': {
|
| - 'CPPPATH': [join(abspath('.'), 'include'), join(abspath('.'), 'src')]
|
| + 'CPPPATH': [join(abspath('.'), 'include'), join(abspath('.'), 'src')],
|
| + 'library:shared': {
|
| + 'CPPDEFINES': ['USING_V8_SHARED']
|
| + },
|
| },
|
| 'gcc': {
|
| 'all': {
|
| 'LIBPATH': ['.'],
|
| 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
| - 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
|
| + 'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
| 'LINKFLAGS': ['$CCFLAGS'],
|
| },
|
| 'os:win32': {
|
| @@ -712,6 +718,9 @@
|
| 'CCFLAGS': ['-g', '-O0'],
|
| 'CPPDEFINES': ['DEBUG']
|
| },
|
| + 'os:freebsd': {
|
| + 'LIBPATH' : ['/usr/local/lib'],
|
| + },
|
| },
|
| 'msvc': {
|
| 'all': {
|
| @@ -724,9 +733,6 @@
|
| 'verbose:on': {
|
| 'LINKFLAGS': ['/VERBOSE']
|
| },
|
| - 'library:shared': {
|
| - 'CPPDEFINES': ['USING_V8_SHARED']
|
| - },
|
| 'prof:on': {
|
| 'LINKFLAGS': ['/MAP']
|
| },
|
| @@ -779,7 +785,7 @@
|
| 'gcc': {
|
| 'all': {
|
| 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
|
| - 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
|
| + 'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'],
|
| 'LINKFLAGS': ['$CCFLAGS'],
|
| },
|
| 'console:readline': {
|
| @@ -807,6 +813,12 @@
|
| 'arch:arm': {
|
| 'LINKFLAGS': ARM_LINK_FLAGS
|
| },
|
| + 'compress_startup_data:bz2': {
|
| + 'CPPDEFINES': ['COMPRESS_STARTUP_DATA_BZ2'],
|
| + 'os:linux': {
|
| + 'LIBS': ['bz2']
|
| + }
|
| + }
|
| },
|
| 'msvc': {
|
| 'all': {
|
| @@ -1146,8 +1158,8 @@
|
| return False
|
| if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on':
|
| Abort("Profiling on windows only supported for static library.")
|
| - if env['gdbjit'] == 'on' and (env['os'] != 'linux' or (env['arch'] != 'ia32' and env['arch'] != 'x64' and env['arch'] != 'arm')):
|
| - Abort("GDBJIT interface is supported only for Intel-compatible (ia32 or x64) Linux target.")
|
| + if env['gdbjit'] == 'on' and ((env['os'] != 'linux' and env['os'] != 'macos') or (env['arch'] != 'ia32' and env['arch'] != 'x64' and env['arch'] != 'arm')):
|
| + Abort("GDBJIT interface is supported only for Intel-compatible (ia32 or x64) Linux/OSX target.")
|
| if env['os'] == 'win32' and env['soname'] == 'on':
|
| Abort("Shared Object soname not applicable for Windows.")
|
| if env['soname'] == 'on' and env['library'] == 'static':
|
| @@ -1366,9 +1378,11 @@
|
| pdb_name = library_name + '.dll.pdb'
|
| library = env.SharedLibrary(library_name, object_files, PDB=pdb_name)
|
| preparser_pdb_name = preparser_library_name + '.dll.pdb';
|
| + preparser_soname = 'lib' + preparser_library_name + '.so';
|
| preparser_library = env.SharedLibrary(preparser_library_name,
|
| preparser_files,
|
| - PDB=preparser_pdb_name)
|
| + PDB=preparser_pdb_name,
|
| + SONAME=preparser_soname)
|
| context.library_targets.append(library)
|
| context.library_targets.append(preparser_library)
|
|
|
| @@ -1411,7 +1425,7 @@
|
| preparser_object = preparser_env.SConscript(
|
| join('preparser', 'SConscript'),
|
| build_dir=join('obj', 'preparser', target_id),
|
| - exports='context',
|
| + exports='context tools',
|
| duplicate=False
|
| )
|
| preparser_name = join('obj', 'preparser', target_id, 'preparser')
|
|
|