Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
a29217cc
Kaydet (Commit)
a29217cc
authored
Eki 03, 2012
tarafından
Tor Lillqvist
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
More information
Change-Id: I9f9a85cbe74dfb22a2dff67e8a0b7dd4eca6ebf6
üst
da7f5e0e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
0 deletions
+36
-0
README
expat/README
+36
-0
No files found.
expat/README
Dosyayı görüntüle @
a29217cc
Simple SAX parser library with added UCS2 support.
When we build expat internally ("bundled"), we build two variants: One
that has an "ASCII" (actually UTF-8) API, another that has a "Unicode"
(meaning UTF-16) API. Additionally, expat is split into two parts,
expat_xmlparse and expat_xmltok. It's the former which has the two
variabts, ascii_expat_xmlparse (UTF-8) and expat_xmlparse (UTF-16).
Code that uses expat then declares in its .mk file which one it wants
to use. See the magic in ../RepositoryExternal.mk, where in the
expat_utf16 case -DXML_UNICODE is passed when compiling source code
that wants to use the UTF-16 variant.
Now, this sounds fairly clear so far.
But wait. LO can also be conigured to use a *system* expat
library. The System expat library is only available as one variant,
the "ASCII" one. (But the library is still called just "libexpat", no
"ascii" in the name, that is just LO/OO's convention.) So how does
this work then, how can the code that wants to use the UTF-16 expat
API then actually use the "ASCII" (UTF-8) expat API? Well, in the
SYSTEM_EXPAT case no -DXML_UNICODE is used, so the code needs to check
that and adapt. So in the system libexpat case, mentioning expat_utf16
in a .mk file doesn't mean any UTF-16-using libexpat would actually be
used.
Yeah, this is silly, confusing, etc.
Furthermore, at least Debian actually *does* have also a "Unicode"
expat library, called libexpatw. Debian's LO does not use that,
though. (Using it would require modifications to the LO build
machinery.)
Now, if LO manages just fine with just the UTF-8 (or, "ASCII") system
libexpat in builds where that is used, why is a separate Unicode one
needed when an internal expat is used? Good question. Next
question. Patches welcome.
From:
[http://expat.sourceforge.net/]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment