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