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