Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  icu.gn   Sprache: unbekannt

 
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//chromium/build/config/linux/pkg_config.gni")
import("//chromium/build/shim_headers.gni")

group("icu") {
  public_deps = [
    ":icui18n",
    ":icuuc",
  ]
}

config("icu_config") {
  defines = [
    "USING_SYSTEM_ICU=1",
    "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",

    # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
    # on classes through the U_COMMON_API and U_I18N_API macros (among others).
    # When linking against the system ICU library, we want its symbols to have
    # public LTO visibility. This disables CFI checks for the ICU classes and
    # allows whole-program optimization to be applied to the rest of Chromium.
    #
    # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only
    # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because
    # we override the default system UCHAR_TYPE (char16_t), it is not possible
    # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API
    # and U_I18N_API macros are set to U_IMPORT which is an empty definition.
    #
    # Until building with UCHAR_TYPE=char16_t is supported, one way to apply
    # public visibility (and thus public LTO visibility) to all ICU classes is
    # to define U_IMPORT to have the same value as U_EXPORT. For more details,
    # please see: https://crbug.com/822820
    "U_IMPORT=U_EXPORT",
  ]
}

pkg_config("system_icui18n") {
  packages = [ "icu-i18n" ]
}

pkg_config("system_icuuc") {
  packages = [ "icu-uc" ]
}

source_set("icui18n") {
  deps = [ ":icui18n_shim" ]
  public_configs = [
    ":icu_config",
    ":system_icui18n",
  ]
}

source_set("icuuc") {
  deps = [ ":icuuc_shim" ]
  public_configs = [
    ":icu_config",
    ":system_icuuc",
  ]
}

shim_headers("icui18n_shim") {
  root_path = "source/i18n"
  headers = [
    # This list can easily be updated using the commands below:
    # cd third_party/icu/source/i18n
    # find unicode -iname '*.h' -printf '    "%p",\n' | LC_ALL=C sort -u
    "unicode/alphaindex.h",
    "unicode/basictz.h",
    "unicode/calendar.h",
    "unicode/choicfmt.h",
    "unicode/coleitr.h",
    "unicode/coll.h",
    "unicode/compactdecimalformat.h",
    "unicode/curramt.h",
    "unicode/currpinf.h",
    "unicode/currunit.h",
    "unicode/datefmt.h",
    "unicode/dcfmtsym.h",
    "unicode/decimfmt.h",
    "unicode/dtfmtsym.h",
    "unicode/dtitvfmt.h",
    "unicode/dtitvinf.h",
    "unicode/dtptngen.h",
    "unicode/dtrule.h",
    "unicode/fieldpos.h",
    "unicode/fmtable.h",
    "unicode/format.h",
    "unicode/fpositer.h",
    "unicode/gender.h",
    "unicode/gregocal.h",
    "unicode/listformatter.h",
    "unicode/measfmt.h",
    "unicode/measunit.h",
    "unicode/measure.h",
    "unicode/msgfmt.h",
    "unicode/numfmt.h",
    "unicode/numsys.h",
    "unicode/plurfmt.h",
    "unicode/plurrule.h",
    "unicode/rbnf.h",
    "unicode/rbtz.h",
    "unicode/regex.h",
    "unicode/region.h",
    "unicode/reldatefmt.h",
    "unicode/scientificnumberformatter.h",
    "unicode/search.h",
    "unicode/selfmt.h",
    "unicode/simpletz.h",
    "unicode/smpdtfmt.h",
    "unicode/sortkey.h",
    "unicode/stsearch.h",
    "unicode/tblcoll.h",
    "unicode/timezone.h",
    "unicode/tmunit.h",
    "unicode/tmutamt.h",
    "unicode/tmutfmt.h",
    "unicode/translit.h",
    "unicode/tzfmt.h",
    "unicode/tznames.h",
    "unicode/tzrule.h",
    "unicode/tztrans.h",
    "unicode/ucal.h",
    "unicode/ucol.h",
    "unicode/ucoleitr.h",
    "unicode/ucsdet.h",
    "unicode/udat.h",
    "unicode/udateintervalformat.h",
    "unicode/udatpg.h",
    "unicode/ufieldpositer.h",
    "unicode/uformattable.h",
    "unicode/ugender.h",
    "unicode/ulocdata.h",
    "unicode/umsg.h",
    "unicode/unirepl.h",
    "unicode/unum.h",
    "unicode/unumsys.h",
    "unicode/upluralrules.h",
    "unicode/uregex.h",
    "unicode/uregion.h",
    "unicode/ureldatefmt.h",
    "unicode/usearch.h",
    "unicode/uspoof.h",
    "unicode/utmscale.h",
    "unicode/utrans.h",
    "unicode/vtzone.h",
  ]
}

shim_headers("icuuc_shim") {
  root_path = "source/common"
  headers = [
    # This list can easily be updated using the commands below:
    # cd third_party/icu/source/common
    # find unicode -iname '*.h' -printf '    "%p",\n' | LC_ALL=C sort -u
    "unicode/appendable.h",
    "unicode/brkiter.h",
    "unicode/bytestream.h",
    "unicode/bytestrie.h",
    "unicode/bytestriebuilder.h",
    "unicode/caniter.h",
    "unicode/casemap.h",
    "unicode/char16ptr.h",
    "unicode/chariter.h",
    "unicode/dbbi.h",
    "unicode/docmain.h",
    "unicode/dtintrv.h",
    "unicode/edits.h",
    "unicode/enumset.h",
    "unicode/errorcode.h",
    "unicode/filteredbrk.h",
    "unicode/icudataver.h",
    "unicode/icuplug.h",
    "unicode/idna.h",
    "unicode/localematcher.h",
    "unicode/localpointer.h",
    "unicode/locdspnm.h",
    "unicode/locid.h",
    "unicode/messagepattern.h",
    "unicode/normalizer2.h",
    "unicode/normlzr.h",
    "unicode/parseerr.h",
    "unicode/parsepos.h",
    "unicode/platform.h",
    "unicode/ptypes.h",
    "unicode/putil.h",
    "unicode/rbbi.h",
    "unicode/rep.h",
    "unicode/resbund.h",
    "unicode/schriter.h",
    "unicode/simpleformatter.h",
    "unicode/std_string.h",
    "unicode/strenum.h",
    "unicode/stringpiece.h",
    "unicode/stringtriebuilder.h",
    "unicode/symtable.h",
    "unicode/ubidi.h",
    "unicode/ubiditransform.h",
    "unicode/ubrk.h",
    "unicode/ucasemap.h",
    "unicode/ucat.h",
    "unicode/uchar.h",
    "unicode/ucharstrie.h",
    "unicode/ucharstriebuilder.h",
    "unicode/uchriter.h",
    "unicode/uclean.h",
    "unicode/ucnv.h",
    "unicode/ucnv_cb.h",
    "unicode/ucnv_err.h",
    "unicode/ucnvsel.h",
    "unicode/uconfig.h",
    "unicode/ucurr.h",
    "unicode/udata.h",
    "unicode/udisplaycontext.h",
    "unicode/uenum.h",
    "unicode/uidna.h",
    "unicode/uiter.h",
    "unicode/uldnames.h",
    "unicode/ulistformatter.h",
    "unicode/uloc.h",
    "unicode/umachine.h",
    "unicode/umisc.h",
    "unicode/unifilt.h",
    "unicode/unifunct.h",
    "unicode/unimatch.h",
    "unicode/uniset.h",
    "unicode/unistr.h",
    "unicode/unorm.h",
    "unicode/unorm2.h",
    "unicode/uobject.h",
    "unicode/urename.h",
    "unicode/urep.h",
    "unicode/ures.h",
    "unicode/uscript.h",
    "unicode/uset.h",
    "unicode/usetiter.h",
    "unicode/ushape.h",
    "unicode/usprep.h",
    "unicode/ustring.h",
    "unicode/ustringtrie.h",
    "unicode/utext.h",
    "unicode/utf.h",
    "unicode/utf16.h",
    "unicode/utf32.h",
    "unicode/utf8.h",
    "unicode/utf_old.h",
    "unicode/utrace.h",
    "unicode/utypes.h",
    "unicode/uvernum.h",
    "unicode/uversion.h",
  ]
}

[ Dauer der Verarbeitung: 0.4 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge