Show
Ignore:
Timestamp:
10/07/08 19:49:47 (3 months ago)
Author:
mattn
Message:

use ParseFlags? and MergeFlags? for any platform.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/cplusplus/llv8call/trunk/Sconstruct

    r20862 r20917  
    44import os 
    55import sys 
     6import re 
    67 
    78opts = Options() 
     
    5152        return None 
    5253 
     54def fixquote(s): 
     55    if not OS_GUESS == 'win32': 
     56        return '"%s"' % re.sub("\\\\", "\\\\\\\\", s) 
     57    else: 
     58        return '"""%s"""' % re.sub("\\\\", "\\\\\\\\", s) 
     59 
     60env.MergeFlags(env.ParseFlags(" ".join([ 
     61    '-DUSING_V8_SHARED', 
     62    '-DDIRSEP=\'%s\'' % fixquote(re.sub("\\\\", "\\\\\\\\", os.sep)), 
     63    '-DPATHSEP=\'%s\'' % fixquote(re.sub("\\\\", "\\\\\\\\", os.pathsep)), 
     64    '-DVERSION=\'%s\'' % fixquote(VERSION), 
     65    '-DSHLIBPREFIX=\'%s\'' % fixquote(env.subst(env['SHLIBPREFIX'])), 
     66    '-DSHLIBSUFFIX=\'%s\'' % fixquote(env.subst(env['SHLIBSUFFIX'])), 
     67    '-DPACKAGE=llv8call', 
     68]))) 
     69 
    5370env.Append( 
    54     CCFLAGS=[ 
    55         '-DUSING_V8_SHARED', 
    56         ["-D"+x+'''='"'''+env.subst(env[x])+""""'""" for x in ['SHLIBSUFFIX', 'SHLIBPREFIX']], 
    57         '''-DDIRSEP='"''' + os.sep + """"'""" 
    58     ], 
    5971    CPPPATH=[os.getcwd() + '/vendor/v8/include/', os.getcwd() + '/v8ext/', '/opt/local/include/'], 
    6072    LIBPATH=[os.getcwd() + '/vendor/v8/', '/opt/local/lib/'], 
     
    6476    env.Append(CCFLAGS = ['-Wall']) 
    6577 
     78if GuessToolchain() == 'msvc': 
     79    env.Append(CCFLAGS = ['/EHsc']) 
     80 
    6681if env['mode'] == 'debug' or OS_GUESS == 'linux' or OS_GUESS == 'macos': 
    6782    env.Append(CCFLAGS = ['-g']) 
    68  
    69 env.Append(CCFLAGS = ['-DVERSION=\'"'+VERSION+'"\'', '-DPACKAGE=llv8call']) 
    7083 
    7184env.SConscript('src/SConscript', exports=['env','conf'])