Home | History | Annotate | Download | only in icu
      1 # This file is generated; do not edit.
      2 
      3 import os
      4 
      5 Import("env")
      6 
      7 env = env.Clone(COMPONENT_NAME='icu',
      8                 TARGET_NAME='icudata')
      9 
     10 configurations = {
     11     'Debug' : {
     12         'Append' : dict(
     13             CCFLAGS = [
     14                 '-pthread',
     15                 '-fno-exceptions',
     16                 '-fno-asynchronous-unwind-tables',
     17                 '-fvisibility=hidden',
     18                 '-D_FILE_OFFSET_BITS=64',
     19                 '-O0',
     20                 '-g'
     21             ],
     22             CPPDEFINES = [
     23                 'U_STATIC_IMPLEMENTATION',
     24                 'CHROMIUM_BUILD',
     25                 '_DEBUG'
     26             ],
     27             CPPPATH = [
     28                 env.Dir('$SRC_DIR/third_party/icu/public/common'),
     29                 env.Dir('$SRC_DIR/third_party/icu/public/i18n'),
     30                 env.Dir('$SRC_DIR/third_party/icu/source/common'),
     31                 env.Dir('$SRC_DIR/third_party/icu/source/i18n')
     32             ],
     33             CXXFLAGS = [
     34                 '-fno-rtti',
     35                 '-fno-threadsafe-statics',
     36                 '-fvisibility-inlines-hidden'
     37             ],
     38             LINKFLAGS = [
     39                 '-pthread',
     40                 '-rdynamic'
     41             ],
     42         ),
     43         'FilterOut' : dict(
     44         ),
     45         'Replace' : dict(
     46              FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'],
     47              FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'],
     48              FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'],
     49              IMPLICIT_COMMAND_DEPENDENCIES = '0',
     50              LDMODULECOM = [['$FLOCK_LDMODULE',
     51   '-o',
     52   '$TARGET',
     53   '$_LIBDIRFLAGS',
     54   '$LDMODULEFLAGS',
     55   '$SOURCES',
     56   '-Wl,--start-group',
     57   '$_LIBFLAGS',
     58   '-Wl,--end-group']],
     59              LIBPATH = ['$LIB_DIR'],
     60              LINKCOM = [['$FLOCK_LINK',
     61   '-o',
     62   '$TARGET',
     63   '$_LIBDIRFLAGS',
     64   '$LINKFLAGS',
     65   '$SOURCES',
     66   '-Wl,--start-group',
     67   '$_LIBFLAGS',
     68   '-Wl,--end-group']],
     69              SHLINKCOM = [['$FLOCK_SHLINK',
     70   '-o',
     71   '$TARGET',
     72   '$_LIBDIRFLAGS',
     73   '$SHLINKFLAGS',
     74   '$SOURCES',
     75   '-Wl,--start-group',
     76   '$_LIBFLAGS',
     77   '-Wl,--end-group']],
     78         ),
     79         'ImportExternal' : [
     80              'AS',
     81              'CC',
     82              'CXX',
     83              'LINK',
     84         ],
     85         'PropagateExternal' : [
     86              'AS',
     87              'CC',
     88              'CCACHE_DIR',
     89              'CXX',
     90              'DISTCC_DIR',
     91              'DISTCC_HOSTS',
     92              'HOME',
     93              'INCLUDE_SERVER_ARGS',
     94              'INCLUDE_SERVER_PORT',
     95              'LINK',
     96              'CHROME_BUILD_TYPE',
     97              'CHROMIUM_BUILD',
     98              'OFFICIAL_BUILD',
     99         ],
    100     },
    101     'Release' : {
    102         'Append' : dict(
    103             CCFLAGS = [
    104                 '-pthread',
    105                 '-fno-exceptions',
    106                 '-fno-asynchronous-unwind-tables',
    107                 '-fvisibility=hidden',
    108                 '-D_FILE_OFFSET_BITS=64',
    109                 '-O2',
    110                 '-fno-ident',
    111                 '-fdata-sections',
    112                 '-ffunction-sections'
    113             ],
    114             CPPDEFINES = [
    115                 'U_STATIC_IMPLEMENTATION',
    116                 'CHROMIUM_BUILD',
    117                 'NDEBUG',
    118                 'NVALGRIND'
    119             ],
    120             CPPPATH = [
    121                 env.Dir('$SRC_DIR/third_party/icu/public/common'),
    122                 env.Dir('$SRC_DIR/third_party/icu/public/i18n'),
    123                 env.Dir('$SRC_DIR/third_party/icu/source/common'),
    124                 env.Dir('$SRC_DIR/third_party/icu/source/i18n')
    125             ],
    126             CXXFLAGS = [
    127                 '-fno-rtti',
    128                 '-fno-threadsafe-statics',
    129                 '-fvisibility-inlines-hidden'
    130             ],
    131             LINKFLAGS = [
    132                 '-pthread',
    133                 '-Wl,--gc-sections'
    134             ],
    135         ),
    136         'FilterOut' : dict(
    137         ),
    138         'Replace' : dict(
    139              FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'],
    140              FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'],
    141              FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'],
    142              IMPLICIT_COMMAND_DEPENDENCIES = '0',
    143              LDMODULECOM = [['$FLOCK_LDMODULE',
    144   '-o',
    145   '$TARGET',
    146   '$_LIBDIRFLAGS',
    147   '$LDMODULEFLAGS',
    148   '$SOURCES',
    149   '-Wl,--start-group',
    150   '$_LIBFLAGS',
    151   '-Wl,--end-group']],
    152              LIBPATH = ['$LIB_DIR'],
    153              LINKCOM = [['$FLOCK_LINK',
    154   '-o',
    155   '$TARGET',
    156   '$_LIBDIRFLAGS',
    157   '$LINKFLAGS',
    158   '$SOURCES',
    159   '-Wl,--start-group',
    160   '$_LIBFLAGS',
    161   '-Wl,--end-group']],
    162              SHLINKCOM = [['$FLOCK_SHLINK',
    163   '-o',
    164   '$TARGET',
    165   '$_LIBDIRFLAGS',
    166   '$SHLINKFLAGS',
    167   '$SOURCES',
    168   '-Wl,--start-group',
    169   '$_LIBFLAGS',
    170   '-Wl,--end-group']],
    171         ),
    172         'ImportExternal' : [
    173              'AS',
    174              'CC',
    175              'CXX',
    176              'LINK',
    177         ],
    178         'PropagateExternal' : [
    179              'AS',
    180              'CC',
    181              'CCACHE_DIR',
    182              'CXX',
    183              'DISTCC_DIR',
    184              'DISTCC_HOSTS',
    185              'HOME',
    186              'INCLUDE_SERVER_ARGS',
    187              'INCLUDE_SERVER_PORT',
    188              'LINK',
    189              'CHROME_BUILD_TYPE',
    190              'CHROMIUM_BUILD',
    191              'OFFICIAL_BUILD',
    192         ],
    193     },
    194 }
    195 
    196 config = configurations[env['CONFIG_NAME']]
    197 env.Append(**config['Append'])
    198 env.FilterOut(**config['FilterOut'])
    199 env.Replace(**config['Replace'])
    200 
    201 # Scons forces -fPIC for SHCCFLAGS on some platforms.
    202 # Disable that so we can control it from cflags in gyp.
    203 # Note that Scons itself is inconsistent with its -fPIC
    204 # setting. SHCCFLAGS forces -fPIC, and SHCFLAGS does not.
    205 # This will make SHCCFLAGS consistent with SHCFLAGS.
    206 env['SHCCFLAGS'] = ['$CCFLAGS']
    207 
    208 for _var in config['ImportExternal']:
    209   if _var in ARGUMENTS:
    210     env[_var] = ARGUMENTS[_var]
    211   elif _var in os.environ:
    212     env[_var] = os.environ[_var]
    213 for _var in config['PropagateExternal']:
    214   if _var in ARGUMENTS:
    215     env[_var] = ARGUMENTS[_var]
    216   elif _var in os.environ:
    217     env['ENV'][_var] = os.environ[_var]
    218 
    219 env['ENV']['LD_LIBRARY_PATH'] = env.subst('$LIB_DIR')
    220 
    221 if ARGUMENTS.get('COVERAGE') not in (None, '0'):
    222   env.AppendUnique(
    223             CCFLAGS = [
    224                 '-fprofile-arcs',
    225                 '-ftest-coverage'
    226             ],
    227             LINKFLAGS = [
    228                 '-fprofile-arcs'
    229             ],
    230   )
    231 
    232 if ARGUMENTS.get('PROFILE') not in (None, '0'):
    233   env.AppendUnique(
    234             CCFLAGS = [
    235                 '-pg',
    236                 '-g'
    237             ],
    238             LINKFLAGS = [
    239                 '-pg'
    240             ],
    241   )
    242 
    243 if ARGUMENTS.get('SYMBOLS') not in (None, '0'):
    244   env.AppendUnique(
    245             CCFLAGS = [
    246                 '-g'
    247             ],
    248   )
    249 
    250 input_files = [
    251     'linux/icudt42l_dat.s',
    252 ]
    253 
    254 target_files = []
    255 prerequisites = []
    256 
    257 _result = []
    258 for infile in input_files:
    259   if env.compilable(infile):
    260     if (type(infile) == type('')
    261         and (infile.startswith('$SRC_DIR/third_party/icu/')
    262              or not os.path.isabs(env.subst(infile)))):
    263       # Force files below the build directory by replacing all '..'
    264       # elements in the path with '__':
    265       base, ext = os.path.splitext(os.path.normpath(infile))
    266       base = [d == '..' and '__' or d for d in base.split('/')]
    267       base = os.path.join(*base)
    268       object = '${OBJ_DIR}/${COMPONENT_NAME}/${TARGET_NAME}/' + base
    269       if not infile.startswith('$SRC_DIR/third_party/icu/'):
    270         infile = '$SRC_DIR/third_party/icu/' + infile
    271       infile = env.StaticObject(object, infile)[0]
    272     else:
    273       infile = env.StaticObject(infile)[0]
    274   _result.append(infile)
    275 input_files = _result
    276 
    277 _outputs = env.GypStaticLibrary('icudata', input_files)
    278 target_files.extend(_outputs)
    279 
    280 gyp_target = env.Alias('icudata', target_files)
    281 env.Requires(gyp_target, prerequisites)
    282 Return("gyp_target")
    283