# This file is generated; do not edit. import os Import("env") env = env.Clone(COMPONENT_NAME='icu', TARGET_NAME='icui18n') configurations = { 'Debug' : { 'Append' : dict( CCFLAGS = [ '-pthread', '-fno-exceptions', '-fno-asynchronous-unwind-tables', '-fvisibility=hidden', '-D_FILE_OFFSET_BITS=64', '-Wno-deprecated-declarations', '-O0', '-g' ], CPPDEFINES = [ 'U_STATIC_IMPLEMENTATION', 'CHROMIUM_BUILD', 'U_I18N_IMPLEMENTATION', '_DEBUG' ], CPPPATH = [ env.Dir('$SRC_DIR/third_party/icu/public/common'), env.Dir('$SRC_DIR/third_party/icu/public/i18n'), env.Dir('$SRC_DIR/third_party/icu/source/common'), env.Dir('$SRC_DIR/third_party/icu/source/i18n') ], CXXFLAGS = [ '-fno-rtti', '-fno-threadsafe-statics', '-fvisibility-inlines-hidden' ], LINKFLAGS = [ '-pthread', '-rdynamic' ], ), 'FilterOut' : dict( ), 'Replace' : dict( FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'], FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'], FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'], IMPLICIT_COMMAND_DEPENDENCIES = '0', LDMODULECOM = [['$FLOCK_LDMODULE', '-o', '$TARGET', '$_LIBDIRFLAGS', '$LDMODULEFLAGS', '$SOURCES', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], LIBPATH = ['$LIB_DIR'], LINKCOM = [['$FLOCK_LINK', '-o', '$TARGET', '$_LIBDIRFLAGS', '$LINKFLAGS', '$SOURCES', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], SHLINKCOM = [['$FLOCK_SHLINK', '-o', '$TARGET', '$_LIBDIRFLAGS', '$SHLINKFLAGS', '$SOURCES', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], ), 'ImportExternal' : [ 'AS', 'CC', 'CXX', 'LINK', ], 'PropagateExternal' : [ 'AS', 'CC', 'CCACHE_DIR', 'CXX', 'DISTCC_DIR', 'DISTCC_HOSTS', 'HOME', 'INCLUDE_SERVER_ARGS', 'INCLUDE_SERVER_PORT', 'LINK', 'CHROME_BUILD_TYPE', 'CHROMIUM_BUILD', 'OFFICIAL_BUILD', ], }, 'Release' : { 'Append' : dict( CCFLAGS = [ '-pthread', '-fno-exceptions', '-fno-asynchronous-unwind-tables', '-fvisibility=hidden', '-D_FILE_OFFSET_BITS=64', '-Wno-deprecated-declarations', '-O2', '-fno-ident', '-fdata-sections', '-ffunction-sections' ], CPPDEFINES = [ 'U_STATIC_IMPLEMENTATION', 'CHROMIUM_BUILD', 'U_I18N_IMPLEMENTATION', 'NDEBUG', 'NVALGRIND' ], CPPPATH = [ env.Dir('$SRC_DIR/third_party/icu/public/common'), env.Dir('$SRC_DIR/third_party/icu/public/i18n'), env.Dir('$SRC_DIR/third_party/icu/source/common'), env.Dir('$SRC_DIR/third_party/icu/source/i18n') ], CXXFLAGS = [ '-fno-rtti', '-fno-threadsafe-statics', '-fvisibility-inlines-hidden' ], LINKFLAGS = [ '-pthread', '-Wl,--gc-sections' ], ), 'FilterOut' : dict( ), 'Replace' : dict( FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'], FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'], FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'], IMPLICIT_COMMAND_DEPENDENCIES = '0', LDMODULECOM = [['$FLOCK_LDMODULE', '-o', '$TARGET', '$_LIBDIRFLAGS', '$LDMODULEFLAGS', '$SOURCES', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], LIBPATH = ['$LIB_DIR'], LINKCOM = [['$FLOCK_LINK', '-o', '$TARGET', '$_LIBDIRFLAGS', '$LINKFLAGS', '$SOURCES', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], SHLINKCOM = [['$FLOCK_SHLINK', '-o', '$TARGET', '$_LIBDIRFLAGS', '$SHLINKFLAGS', '$SOURCES', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], ), 'ImportExternal' : [ 'AS', 'CC', 'CXX', 'LINK', ], 'PropagateExternal' : [ 'AS', 'CC', 'CCACHE_DIR', 'CXX', 'DISTCC_DIR', 'DISTCC_HOSTS', 'HOME', 'INCLUDE_SERVER_ARGS', 'INCLUDE_SERVER_PORT', 'LINK', 'CHROME_BUILD_TYPE', 'CHROMIUM_BUILD', 'OFFICIAL_BUILD', ], }, } config = configurations[env['CONFIG_NAME']] env.Append(**config['Append']) env.FilterOut(**config['FilterOut']) env.Replace(**config['Replace']) # Scons forces -fPIC for SHCCFLAGS on some platforms. # Disable that so we can control it from cflags in gyp. # Note that Scons itself is inconsistent with its -fPIC # setting. SHCCFLAGS forces -fPIC, and SHCFLAGS does not. # This will make SHCCFLAGS consistent with SHCFLAGS. env['SHCCFLAGS'] = ['$CCFLAGS'] for _var in config['ImportExternal']: if _var in ARGUMENTS: env[_var] = ARGUMENTS[_var] elif _var in os.environ: env[_var] = os.environ[_var] for _var in config['PropagateExternal']: if _var in ARGUMENTS: env[_var] = ARGUMENTS[_var] elif _var in os.environ: env['ENV'][_var] = os.environ[_var] env['ENV']['LD_LIBRARY_PATH'] = env.subst('$LIB_DIR') if ARGUMENTS.get('COVERAGE') not in (None, '0'): env.AppendUnique( CCFLAGS = [ '-fprofile-arcs', '-ftest-coverage' ], LINKFLAGS = [ '-fprofile-arcs' ], ) if ARGUMENTS.get('PROFILE') not in (None, '0'): env.AppendUnique( CCFLAGS = [ '-pg', '-g' ], LINKFLAGS = [ '-pg' ], ) if ARGUMENTS.get('SYMBOLS') not in (None, '0'): env.AppendUnique( CCFLAGS = [ '-g' ], ) input_files = [ 'source/i18n/anytrans.cpp', 'source/i18n/astro.cpp', 'source/i18n/basictz.cpp', 'source/i18n/bms.cpp', 'source/i18n/bmsearch.cpp', 'source/i18n/bocsu.c', 'source/i18n/buddhcal.cpp', 'source/i18n/brktrans.cpp', 'source/i18n/calendar.cpp', 'source/i18n/casetrn.cpp', 'source/i18n/cecal.cpp', 'source/i18n/chnsecal.cpp', 'source/i18n/choicfmt.cpp', 'source/i18n/coleitr.cpp', 'source/i18n/coll.cpp', 'source/i18n/colldata.cpp', 'source/i18n/coptccal.cpp', 'source/i18n/cpdtrans.cpp', 'source/i18n/csdetect.cpp', 'source/i18n/csmatch.cpp', 'source/i18n/csr2022.cpp', 'source/i18n/csrecog.cpp', 'source/i18n/csrmbcs.cpp', 'source/i18n/csrsbcs.cpp', 'source/i18n/csrucode.cpp', 'source/i18n/csrutf8.cpp', 'source/i18n/curramt.cpp', 'source/i18n/currfmt.cpp', 'source/i18n/currpinf.cpp', 'source/i18n/currunit.cpp', 'source/i18n/datefmt.cpp', 'source/i18n/dcfmtsym.cpp', 'source/i18n/decimfmt.cpp', 'source/i18n/digitlst.cpp', 'source/i18n/dtfmtsym.cpp', 'source/i18n/dtitvfmt.cpp', 'source/i18n/dtitvinf.cpp', 'source/i18n/dtptngen.cpp', 'source/i18n/dtrule.cpp', 'source/i18n/esctrn.cpp', 'source/i18n/ethpccal.cpp', 'source/i18n/fmtable.cpp', 'source/i18n/fmtable_cnv.cpp', 'source/i18n/format.cpp', 'source/i18n/funcrepl.cpp', 'source/i18n/gregocal.cpp', 'source/i18n/gregoimp.cpp', 'source/i18n/hebrwcal.cpp', 'source/i18n/indiancal.cpp', 'source/i18n/inputext.cpp', 'source/i18n/islamcal.cpp', 'source/i18n/japancal.cpp', 'source/i18n/measfmt.cpp', 'source/i18n/measure.cpp', 'source/i18n/msgfmt.cpp', 'source/i18n/name2uni.cpp', 'source/i18n/nfrs.cpp', 'source/i18n/nfrule.cpp', 'source/i18n/nfsubs.cpp', 'source/i18n/nortrans.cpp', 'source/i18n/nultrans.cpp', 'source/i18n/numfmt.cpp', 'source/i18n/numsys.cpp', 'source/i18n/olsontz.cpp', 'source/i18n/persncal.cpp', 'source/i18n/plurfmt.cpp', 'source/i18n/plurrule.cpp', 'source/i18n/quant.cpp', 'source/i18n/rbnf.cpp', 'source/i18n/rbt.cpp', 'source/i18n/rbt_data.cpp', 'source/i18n/rbt_pars.cpp', 'source/i18n/rbt_rule.cpp', 'source/i18n/rbt_set.cpp', 'source/i18n/rbtz.cpp', 'source/i18n/regexcmp.cpp', 'source/i18n/regexst.cpp', 'source/i18n/reldtfmt.cpp', 'source/i18n/rematch.cpp', 'source/i18n/remtrans.cpp', 'source/i18n/repattrn.cpp', 'source/i18n/search.cpp', 'source/i18n/simpletz.cpp', 'source/i18n/smpdtfmt.cpp', 'source/i18n/sortkey.cpp', 'source/i18n/strmatch.cpp', 'source/i18n/strrepl.cpp', 'source/i18n/stsearch.cpp', 'source/i18n/taiwncal.cpp', 'source/i18n/tblcoll.cpp', 'source/i18n/timezone.cpp', 'source/i18n/titletrn.cpp', 'source/i18n/tmunit.cpp', 'source/i18n/tmutamt.cpp', 'source/i18n/tmutfmt.cpp', 'source/i18n/tolowtrn.cpp', 'source/i18n/toupptrn.cpp', 'source/i18n/translit.cpp', 'source/i18n/transreg.cpp', 'source/i18n/tridpars.cpp', 'source/i18n/tzrule.cpp', 'source/i18n/tztrans.cpp', 'source/i18n/ucal.cpp', 'source/i18n/ucln_in.c', 'source/i18n/ucol.cpp', 'source/i18n/ucol_bld.cpp', 'source/i18n/ucol_cnt.cpp', 'source/i18n/ucol_elm.cpp', 'source/i18n/ucol_res.cpp', 'source/i18n/ucol_sit.cpp', 'source/i18n/ucol_tok.cpp', 'source/i18n/ucol_wgt.c', 'source/i18n/ucoleitr.cpp', 'source/i18n/ucsdet.cpp', 'source/i18n/ucurr.cpp', 'source/i18n/udat.cpp', 'source/i18n/udatpg.cpp', 'source/i18n/ulocdata.c', 'source/i18n/umsg.cpp', 'source/i18n/unesctrn.cpp', 'source/i18n/uni2name.cpp', 'source/i18n/unum.cpp', 'source/i18n/uregex.cpp', 'source/i18n/uregexc.cpp', 'source/i18n/usearch.cpp', 'source/i18n/uspoof_buildconf.cpp', 'source/i18n/uspoof_build.cpp', 'source/i18n/uspoof_buildwsconf.cpp', 'source/i18n/uspoof.cpp', 'source/i18n/uspoof_impl.cpp', 'source/i18n/utmscale.c', 'source/i18n/utrans.cpp', 'source/i18n/vtzone.cpp', 'source/i18n/windtfmt.cpp', 'source/i18n/winnmfmt.cpp', 'source/i18n/wintzimpl.cpp', 'source/i18n/zonemeta.cpp', 'source/i18n/zstrfmt.cpp', ] target_files = [] prerequisites = [] _result = [] for infile in input_files: if env.compilable(infile): if (type(infile) == type('') and (infile.startswith('$SRC_DIR/third_party/icu/') or not os.path.isabs(env.subst(infile)))): # Force files below the build directory by replacing all '..' # elements in the path with '__': base, ext = os.path.splitext(os.path.normpath(infile)) base = [d == '..' and '__' or d for d in base.split('/')] base = os.path.join(*base) object = '${OBJ_DIR}/${COMPONENT_NAME}/${TARGET_NAME}/' + base if not infile.startswith('$SRC_DIR/third_party/icu/'): infile = '$SRC_DIR/third_party/icu/' + infile infile = env.StaticObject(object, infile)[0] else: infile = env.StaticObject(infile)[0] _result.append(infile) input_files = _result _outputs = env.GypStaticLibrary('icui18n', input_files) target_files.extend(_outputs) gyp_target = env.Alias('icui18n', target_files) env.Requires(gyp_target, prerequisites) Return("gyp_target")