blob: dc31e5eca9f21873beb4ec065bd2ba5edfa8fbb1 [file] [edit]
# 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")