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