Imported Upstream version 2.53.4 78/153578/1
authorDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 29 Sep 2017 01:10:38 +0000 (10:10 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 29 Sep 2017 01:11:41 +0000 (10:11 +0900)
Change-Id: I17e5e677f01d881ae678eb79578dde29dd2950b3
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
224 files changed:
ChangeLog
INSTALL
Makefile.am
Makefile.in
NEWS
README
README.win32
build/win32/Makefile.am
build/win32/Makefile.in
build/win32/dirent/Makefile.am
build/win32/dirent/Makefile.in
build/win32/dirent/makefile.msc [deleted file]
build/win32/make.msc [deleted file]
build/win32/module.defs [deleted file]
config.h.in
config.h.win32
configure
configure.ac
docs/reference/gio/gapplication.1
docs/reference/gio/gdbus-codegen.1
docs/reference/gio/gdbus.1
docs/reference/gio/gio-querymodules.1
docs/reference/gio/gio.1
docs/reference/gio/glib-compile-resources.1
docs/reference/gio/glib-compile-schemas.1
docs/reference/gio/gresource.1
docs/reference/gio/gsettings.1
docs/reference/gio/html/GFile.html
docs/reference/gio/html/GResource.html
docs/reference/gio/html/gio-D-Bus-Utilities.html
docs/reference/gio/html/index.html
docs/reference/gio/version.xml
docs/reference/glib/glib-gettextize.1
docs/reference/glib/gtester-report.1
docs/reference/glib/gtester.1
docs/reference/glib/html/glib-GVariant.html
docs/reference/glib/html/glib-Key-value-file-parser.html
docs/reference/glib/html/glib-Unicode-Manipulation.html
docs/reference/glib/html/glib-Version-Information.html
docs/reference/glib/html/glib.devhelp2
docs/reference/glib/html/index.html
docs/reference/glib/version.xml
docs/reference/gobject/glib-genmarshal.1
docs/reference/gobject/glib-genmarshal.xml
docs/reference/gobject/glib-mkenums.1
docs/reference/gobject/gobject-query.1
docs/reference/gobject/html/glib-genmarshal.html
docs/reference/gobject/html/index.html
docs/reference/gobject/html/signal.html
docs/reference/gobject/tut_gsignal.xml
docs/reference/gobject/version.xml
gio/Makefile.am
gio/Makefile.in
gio/gdbus-2.0/codegen/codegen.py
gio/gdbus-2.0/codegen/config.py
gio/gdbus-2.0/codegen/config.py.in
gio/gdbus-2.0/codegen/gdbus-codegen.in
gio/gdbus-daemon-generated.c
gio/gdbus-daemon-generated.h
gio/gdbusauthmechanismsha1.c
gio/gdbusconnection.c
gio/gdbusmessage.c
gio/gdbusnameowning.c
gio/gdbusnamewatching.c
gio/gdbusserver.c
gio/gdbusutils.c
gio/gfile.c
gio/gio.rc
gio/gioenumtypes.c
gio/gopenuriportal.c
gio/gresource.c
gio/gsettings-tool.c
gio/gsettingsschema.c
gio/gtestdbus.c
gio/gunixconnection.c
gio/makefile.msc [deleted file]
gio/tests/Makefile.am
gio/tests/Makefile.in
gio/tests/appinfo.c
gio/tests/defaultvalue.c
gio/tests/desktop-app-info.c
gio/tests/gdbus-peer.c
gio/tests/gschema-compile.c
gio/tests/gsettings.c
gio/tests/gsubprocess-testprog.c
gio/tests/modules/Makefile.am
gio/tests/modules/Makefile.in
gio/tests/modules/symbol-visibility.h [new file with mode: 0644]
gio/tests/modules/test-module-a.c
gio/tests/modules/test-module-b.c
gio/xdp-dbus.c
gio/xdp-dbus.h
glib/Makefile.am
glib/Makefile.in
glib/gdatetime.c
glib/gkeyfile.c
glib/glib.rc
glib/glibconfig.h.win32
glib/gmain.c
glib/gnulib/Makefile.am
glib/gnulib/Makefile.in
glib/gnulib/makefile.msc [deleted file]
glib/gscripttable.h
glib/gspawn-win32.c
glib/gstrfuncs.c
glib/gunibreak.h
glib/gunichartables.h
glib/gunicode.h
glib/gunidecomp.h
glib/guniprop.c
glib/gutf8.c
glib/gvariant.c
glib/gwin32.c
glib/gwin32.h
glib/makefile.msc [deleted file]
glib/makefile.msc.in [deleted file]
glib/pcre/Makefile.am
glib/pcre/Makefile.in
glib/pcre/makefile.msc [deleted file]
glib/tests/Makefile.am
glib/tests/Makefile.in
glib/tests/gdatetime.c
glib/tests/unicode.c
glib/tests/utf8-pointer.c
glib/tests/utf8-validate.c
glib/update-pcre/update.sh
gmodule/Makefile.am
gmodule/Makefile.in
gmodule/gmodule.rc
gmodule/makefile.msc [deleted file]
gmodule/makefile.msc.in [deleted file]
gobject/Makefile.am
gobject/Makefile.in
gobject/glib-genmarshal.c [deleted file]
gobject/glib-genmarshal.in [new file with mode: 0755]
gobject/glib-mkenums.in
gobject/gmarshal.list [deleted file]
gobject/gmarshal.strings [deleted file]
gobject/gobject.rc
gobject/makefile.msc [deleted file]
gobject/makefile.msc.in [deleted file]
gobject/marshal-genstrings.pl [deleted file]
gobject/tests/Makefile.am
gobject/tests/Makefile.in
gthread/Makefile.am
gthread/Makefile.in
gthread/gthread.rc
gthread/makefile.msc [deleted file]
gthread/makefile.msc.in [deleted file]
makefile.msc [deleted file]
po/glib20.pot
po/he.gmo
po/he.po
tests/Makefile.am
tests/Makefile.in
tests/casefold.txt
tests/casemap.txt
tests/gobject/testmarshal.c
tests/gobject/testmarshal.h
tests/makefile.msc [deleted file]
tests/makefile.msc.in [deleted file]
win32/gen_util_scripts.py
win32/vs10/Makefile.am
win32/vs10/Makefile.in
win32/vs10/README.txt
win32/vs10/glib-genmarshal.vcxproj [deleted file]
win32/vs10/glib-genmarshal.vcxproj.filters [deleted file]
win32/vs10/glib-install.props
win32/vs10/glib-install.propsin
win32/vs10/glib-install.vcxproj
win32/vs10/glib-install.vcxproj.filters
win32/vs10/glib-version-paths.props
win32/vs10/glib-version-paths.props.in
win32/vs10/glib.sln
win32/vs11/Makefile.am
win32/vs11/Makefile.in
win32/vs11/README.txt
win32/vs11/glib-genmarshal.vcxproj [deleted file]
win32/vs11/glib-genmarshal.vcxproj.filters [deleted file]
win32/vs11/glib-install.props
win32/vs11/glib-install.vcxproj
win32/vs11/glib-install.vcxproj.filters
win32/vs11/glib-version-paths.props
win32/vs11/glib.sln
win32/vs12/Makefile.am
win32/vs12/Makefile.in
win32/vs12/README.txt
win32/vs12/glib-genmarshal.vcxproj [deleted file]
win32/vs12/glib-genmarshal.vcxproj.filters [deleted file]
win32/vs12/glib-install.props
win32/vs12/glib-install.vcxproj
win32/vs12/glib-install.vcxproj.filters
win32/vs12/glib-version-paths.props
win32/vs12/glib.sln
win32/vs14/Makefile.am
win32/vs14/Makefile.in
win32/vs14/README.txt
win32/vs14/glib-genmarshal.vcxproj [deleted file]
win32/vs14/glib-genmarshal.vcxproj.filters [deleted file]
win32/vs14/glib-install.props
win32/vs14/glib-install.vcxproj
win32/vs14/glib-install.vcxproj.filters
win32/vs14/glib-version-paths.props
win32/vs14/glib.sln
win32/vs15/Makefile.am
win32/vs15/Makefile.in
win32/vs15/README.txt
win32/vs15/glib-genmarshal.vcxproj [deleted file]
win32/vs15/glib-genmarshal.vcxproj.filters [deleted file]
win32/vs15/glib-install.props
win32/vs15/glib-install.vcxproj
win32/vs15/glib-install.vcxproj.filters
win32/vs15/glib-version-paths.props
win32/vs15/glib.sln
win32/vs9/Makefile.am
win32/vs9/Makefile.in
win32/vs9/README.txt
win32/vs9/glib-genmarshal.vcproj [deleted file]
win32/vs9/glib-install.vcproj
win32/vs9/glib-install.vsprops
win32/vs9/glib-install.vspropsin
win32/vs9/glib-version-paths.vsprops
win32/vs9/glib-version-paths.vsprops.in
win32/vs9/glib.sln

index ea654f3..de49922 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+commit 2219cfb92daf9b9413de35a1089efa3a1dff7602
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Mon Jul 17 16:29:40 2017 +0100
+
+    mkenums: Keep compatibility with Python 2.x
+
+    Since every other tool in GLib is allowed to be used with Python 2.x,
+    glib-mkenums should follow suit.
+
+ gobject/glib-mkenums.in | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit f18556749c75629b9bff538dced6311cf77a3ffb
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Mon Jul 17 16:04:03 2017 +0100
+
+    mkenums: Skip unparsed lines
+
+    The old glib-mkenums just skipped lines it could not understand.
+
+ gobject/glib-mkenums.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1e4135f253bcc315a459363bfe62a8f01b127ee7
+Author: Matthias Clasen <mclasen@redhat.com>
+Date:   Mon Jul 17 10:46:19 2017 -0400
+
+    2.53.4
+
+ NEWS         | 34 ++++++++++++++++++++++++++++++++++
+ configure.ac |  2 +-
+ 2 files changed, 35 insertions(+), 1 deletion(-)
+
+commit a45bf85ce5c9bc7dd26551430cd2e2d80e079d1c
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Mon Jul 17 13:59:20 2017 +0100
+
+    tests: Do not use gnome.genmarshal()
+
+    We are providing glib-genmarshal; using the gnome module in Meson does
+    not call the just built glib-genmarshal tool.
+
+ tests/gobject/meson.build | 44
+ +++++++++++++++++++++++++++++++-------------
+ 1 file changed, 31 insertions(+), 13 deletions(-)
+
+commit 4f17d1049f49d8d9e880b4e8a34cc62e0da9092e
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Mon Jul 17 11:15:06 2017 +0100
+
+    mkenums: Add missing --fprod handler
+
+    We are not generating the template for the --fprod command line
+    argument.
+
+ gobject/glib-mkenums.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3c03cc8f68b5d81c7b47423b1a3be3b8c9197d1c
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Mon Jul 17 10:54:28 2017 +0100
+
+    meson: Simplify the use of built tools
+
+    The Meson build has fallen a bit behind the Autotools one, when
+    it comes
+    to the internally built tools like glib-mkenums and glib-genmarshals.
+
+    We don't need to generate gmarshal.strings any more, and since the
+    glib-genmarshal tool is now written in Python it can also be used when
+    cross-compiling, and without indirection, just like we use
+    glib-mkenums.
+
+    We can also coalesce various rules into a simple array iteration, with
+    minimal changes to glib-mkenums, thus making the build a bit more
+    resilient and without unnecessary duplication.
+
+ gobject/glib-mkenums.in               | 21 ++++++-------
+ gobject/gmarshal-list-to-strings.py   | 21 -------------
+ gobject/meson.build                   | 43 +++++++++++++--------------
+ gobject/tests/gobject_test_marshal.py | 21 -------------
+ gobject/tests/meson.build             | 55
+ +++++++++++++++++++++--------------
+ meson.build                           |  1 +
+ tests/gobject/meson.build             |  2 +-
+ 7 files changed, 65 insertions(+), 99 deletions(-)
+
+commit 7ee050dc4bf5187842f656889017414aa1c9a729
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Mon Jul 17 10:32:33 2017 +0100
+
+    mkenums: Use the same reporting functions from genmarshal
+
+    We can reuse the same code to make error reporting stand out a
+    bit more,
+    with colors and potentially with the ability to make warnings fatal.
+
+ gobject/glib-mkenums.in | 49
+ ++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 46 insertions(+), 3 deletions(-)
+
+commit 69515e9f5c43046e673e8751e3703703cd41e540
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Mon Jul 17 10:24:32 2017 +0100
+
+    mkenums: Skip files not found
+
+    The old glib-mkenums was more forgiving, and simply ignored any
+    files it
+    could not find.
+
+    We're going to print a warning, as in the future we may want to allow
+    more strictness.
+
+ gobject/glib-mkenums.in | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 77a3a962189df86a48c28a3c35d46575f35f7b95
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Mon Jul 17 09:36:13 2017 +0100
+
+    mkenums: Change ordering for template file and arguments
+
+    This is a bit of a hack to maintain some semblance of backward
+    compatibility with the old, Perl-based glib-mkenums. The old tool
+    had an
+    implicit ordering on the arguments and templates; each argument was
+    parsed in order, and all the strings appended. This allowed developers
+    to write:
+
+      glib-mkenums \
+        --fhead ... \
+        --template a-template-file.c.in \
+        --ftail ...
+
+    And have the fhead be prepended to the file-head stanza in the
+    template,
+    as well as the ftail be appended to the file-tail stanza in the
+    template.  Short of throwing away ArgumentParser and going over
+    sys.argv[] element by element, we can simulate that behaviour by
+    ensuring some ordering in how we build the template strings:
+
+      - the head stanzas are always prepended to the template
+      - the prod stanzas are always appended to the template
+      - the tail stanzas are always appended to the template
+
+    Within each instance of the command line argument, we append each
+    value
+    to the array in the order in which it appears on the command line.
+
+    This change fixes the libqmi build.
+
+ gobject/glib-mkenums.in | 41 ++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 34 insertions(+), 7 deletions(-)
+
+commit 5ba3b4022ebda9e1756d568b7baac7f285bfc0b4
+Author: Chun-wei Fan <fanchunwei@src.gnome.org>
+Date:   Mon Jul 17 12:49:24 2017 +0800
+
+    meson.build: Improve checks for va_copy() and __va_copy()
+
+    On Visual Studio, the compilation of the check program for va_copy()
+    and
+    __va_copy() succeeds even though they may not be really available.
+    So,
+    make sure we include msvc_recommended_pragmas.h which helps us
+    to detect
+    this situation by bailing out when warning C4013 (which means this
+    function is really not available) is encountered.
+
+    Also make sure that on Visual Studio builds we always include
+    msvc_recommended_pragmas.h is included so that it helps us to find out
+    problems in the build, and update comments for dirent.h and sys/time.h
+    as they are not shipped with any Visual Studio.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=783270
+
+ meson.build | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+commit 35db0457297d29a5d2446c7af840eb74324e90be
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Sun Jul 16 17:25:08 2017 +0100
+
+    mkenums: Fix typo
+
+    There's a stray '~' that needs to be removed.
+
+ gobject/glib-mkenums.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 69389bdc3475e2b5621f69bb1da2b3781a52539c
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Sun Jul 16 12:06:34 2017 +0100
+
+    mkenums: Do not check for None
+
+    The symprefix variable can only be a string.
+
+ gobject/glib-mkenums.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit af4a6457eb2ee67296f7f0b8bf05413bb285724b
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Sun Jul 16 11:56:52 2017 +0100
+
+    mkenums: Some arguments can be used multiple times
+
+    Some of the arguments that affect the generated result in glib-mkenums
+    can be used multiple times, to avoid embedding unnecessary newlines in
+    their values.
+
+    This change fixes the NetworkManager build.
+
+ gobject/glib-mkenums.in | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit d19f53a7676f456cc18b14750675bd1f70852bb2
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Sun Jul 16 11:15:07 2017 +0100
+
+    Add more compatibility mode hacks
+
+    When using the `--header --body` compatibility mode, we need to emit
+    things we generally define in the header, such as the aliases for
+    standard marshallers, and aliases for deprecated tokens.
+
+    This fixes dbus-binding-tool, which is using `--header --body` and
+    deprecated tokens.
+
+    See: https://bugs.freedesktop.org/show_bug.cgi?id=101799
+
+ gobject/glib-genmarshal.in | 33 +++++++++++++++++++++++++++------
+ 1 file changed, 27 insertions(+), 6 deletions(-)
+
+commit fbf35113093e79c8c80f44ade21b5e8a338fe9b2
+Author: Christoph Reiter <creiter@src.gnome.org>
+Date:   Sun Jul 16 00:18:43 2017 +0200
+
+    meson: fix typo in install path for gobject_gdb.py
+
+ gobject/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8451f0b8173cf726d0c6d5275aff465960383276
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sat Jul 15 10:17:48 2017 +0100
+
+    glib-mkenums: unescape \n etc. in command line arguments
+
+    Fixes generation of GStreamer enumtype files with autotools build.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=779332
+
+ gobject/glib-mkenums.in | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+commit a882c974d30174f308dff325d9f3cec0e303d7c6
+Author: Igor Gnatenko <ignatenko@src.gnome.org>
+Date:   Sat Jul 15 15:31:05 2017 +0200
+
+    mkenums: pass string for re.sub() for real
+
+    Signed-off-by: Igor Gnatenko <ignatenko@src.gnome.org>
+
+ gobject/glib-mkenums.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1a182df5d1abdc7a1101c53651561e6cc5f30f73
+Author: Igor Gnatenko <ignatenko@src.gnome.org>
+Date:   Sat Jul 15 15:30:16 2017 +0200
+
+    mkenums: don't try to call undefined function
+
+    argparse will take care about everything
+
+    Signed-off-by: Igor Gnatenko <ignatenko@src.gnome.org>
+
+ gobject/glib-mkenums.in | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 615238d0a46bcce8fa7109c7d6653f5fbf239e24
+Author: Igor Gnatenko <ignatenko@src.gnome.org>
+Date:   Sat Jul 15 15:26:54 2017 +0200
+
+    mkenums: make string raw for real regex
+
+    Signed-off-by: Igor Gnatenko <ignatenko@src.gnome.org>
+
+ gobject/glib-mkenums.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d753a411c0f74b8fc8f4e9bc106b29bd1b603776
+Author: Igor Gnatenko <ignatenko@src.gnome.org>
+Date:   Sat Jul 15 15:22:20 2017 +0200
+
+    mkenums: trivial style fixes
+
+    Signed-off-by: Igor Gnatenko <ignatenko@src.gnome.org>
+
+ gobject/glib-mkenums.in | 58
+ ++++++++++++++++++++++++++-----------------------
+ 1 file changed, 31 insertions(+), 27 deletions(-)
+
+commit 112908d9e4a7a9ecac8cda830dba599f88b47672
+Author: Igor Gnatenko <ignatenko@src.gnome.org>
+Date:   Sat Jul 15 15:21:11 2017 +0200
+
+    mkenums: fix main incompatibility with python2
+
+    Signed-off-by: Igor Gnatenko <ignatenko@src.gnome.org>
+
+ gobject/glib-mkenums.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 9306ada4fdd2c00813c7ea088cd6fb5003ccd352
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sat Jul 15 11:21:57 2017 +0100
+
+    meson: fix 'Unknown variable "gtester"' error on windows
+
+    With msys64/mingw.
+
+ glib/tests/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 683809d5f751575775d12917581eb7b9a2acf0f5
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Fri Jul 14 22:05:01 2017 +0100
+
+    Use env for gdbus-codegen's script
+
+    This allows us to build with Python 3 without using an absolute path.
+
+ gio/gdbus-2.0/codegen/gdbus-codegen.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4395a8977727e2c569b472dbe8710ffb87c219e2
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Fri Jul 14 21:21:33 2017 +0100
+
+    Use env to run the Python-based tools
+
+    Otherwise overriding the Python interpreter with `--with-python` won't
+    work correctly.
+
+ gobject/glib-genmarshal.in | 2 +-
+ gobject/glib-mkenums.in    | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 0f18a2ebda4ec0440ec545542f9fc2f60cd54c5d
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Fri Jul 14 20:43:19 2017 +0100
+
+    meson: Substitute the Python shebang
+
+    Just like we do with Autotools. This allows building glib-mkenums and
+    glib-genmarshal on older platforms that only have Python 2.
+
+ gobject/glib-genmarshal.in | 2 +-
+ gobject/glib-mkenums.in    | 2 +-
+ gobject/meson.build        | 2 ++
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 1eda0627f3792cc626f19c28eb1f478dd9d2df5e
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Fri Jul 14 13:56:47 2017 +0100
+
+    meson: Use the appropriate libdir-relative paths
+
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 065a8a488ad2ee4a7523fb673e1555e5cf8762b5
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Fri Jul 14 13:56:02 2017 +0100
+
+    meson: Use the appropriate interface and binary ages
+
+    We need to build them out of the project version, and then propagate
+    them.
+
+ glib/tests/meson.build    |  2 +-
+ gobject/tests/meson.build |  2 +-
+ meson.build               | 15 +++++++++------
+ 3 files changed, 11 insertions(+), 8 deletions(-)
+
+commit 37ff4189fdbb73e81c6431c6862317d94fbef55e
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Fri Jul 14 13:55:42 2017 +0100
+
+    meson: Sync the version with Autotools
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit be8820128faf1eb466ad896afd6133c8e5092156
+Author: Thibault Saunier <thibault.saunier@osg.samsung.com>
+Date:   Thu Jul 13 22:22:16 2017 -0400
+
+    meson: fix remaining wrong #include's for gdbus_codegen files
+
+    This is a follow up on 266bc1e510e154f7b5e793adb227d979ae655446
+    to fix building tests and examples when using GLib as a meson
+    subproject.
+
+ gio/tests/gdbus-object-manager-example/meson.build | 5 +++--
+ gio/tests/meson.build                              | 3 ++-
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+commit b8c8bb73b0683456b632cf8a49fa9d00568115b5
+Author: Matthias Clasen <mclasen@redhat.com>
+Date:   Thu Jul 13 19:35:09 2017 -0400
+
+    Fix glib-genmarshal build with meson
+
+    This is no longer built from a C source, but a python file.
+
+ gobject/glib-genmarshal.in |  2 +-
+ gobject/meson.build        | 10 ++++++----
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+commit 653be67d7d756958917f6107d676c78666416dc4
+Author: Matthias Clasen <mclasen@redhat.com>
+Date:   Thu Jul 13 19:34:21 2017 -0400
+
+    Add gopenuriportal.c to the meson build
+
+    This was added recently.
+
+ gio/meson.build | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 4db695bfb7d9f2d085020ace67b370afc8838172
+Author: Alessandro Decina <alessandro.d@gmail.com>
+Date:   Wed Jul 12 21:57:11 2017 +1000
+
+    meson: replace meson.current_source_dir() with files()
+
+    As the meson reference doc says, files() is preferred over building
+    paths with current_source_dir().
+
+ gio/meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 266bc1e510e154f7b5e793adb227d979ae655446
+Author: Alessandro Decina <alessandro.d@gmail.com>
+Date:   Wed Jul 12 16:15:38 2017 +1000
+
+    meson: fix wrong #include's for gdbus_codegen files
+
+    When building glib as a subproject, #include's for xdp-dbus.h from
+    xdp-dbus.c
+    and for gdbus-daemon-generated.h from gdbus-daemon-generated.c were
+    generated as
+    being prefixed with the subproject prefix, eg
+     #include "subproject/glib/gio/gdbus-daemon-generated.h".
+    That failed since the root of the build directory is obviously not
+    part of the
+    include path when building a subproject.
+
+    Passing --output-directory @OUTDIR@ to gdbus-codegen and removing
+    @OUTDIR@ from
+    --generate-c-code fixes the issue.
+
+ gio/meson.build | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit dbf0a566703586db9777c3d56e01aa40c02ab9ac
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Mon Jun 26 23:50:01 2017 +0100
+
+    glib-mkenums: pick up /*< nick=xyz >*/ annotation again
+
+    ... in glib-mkenums python port.
+
+    Was parsed correctly but then skipped due to inverted condition.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=779332
+
+ gobject/glib-mkenums.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4268372fae64a1942bcab0f8b1acb0b16a1d65cd
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Wed Jun 14 23:57:11 2017 +0100
+
+    meson: error out if atomic ops would be available with -march=i486
+
+    Same as autotools build.
+
+ meson.build | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 0689231bd61f86190688cc262fcc3058cb672557
+Author: Thibault Saunier <thibault.saunier@osg.samsung.com>
+Date:   Fri Jun 23 12:36:38 2017 -0400
+
+    meson: Fix the build defining HAVE_RTLD_X
+
+    Otherwise RTLD_XXX get redefined.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784133
+
+ config.h.meson |  3 +++
+ meson.build    | 12 ++++++++++++
+ 2 files changed, 15 insertions(+)
+
+commit eb2196e89d1700941b35c604bf6b657660b3b2c8
+Author: Thibault Saunier <thibault.saunier@osg.samsung.com>
+Date:   Fri Jun 23 12:00:13 2017 -0400
+
+    meson: Fix building as a subproject
+
+    meson.source_root() returns the toplevel source directory
+    of the toplevel project, thus the paths were wrong when using
+    it. Simply using files() gets us the right path
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784133
+
+ gio/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1d30c9eebc8bc4efcd8da8c479040389edd0cfe3
+Author: Thibault Saunier <thibault.saunier@osg.samsung.com>
+Date:   Fri Jun 23 11:58:51 2017 -0400
+
+    meson: Defining MAJOR_IN_ as done by AC_HEADER_MAJOR
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784133
+
+ config.h.meson | 3 +++
+ meson.build    | 6 ++++++
+ 2 files changed, 9 insertions(+)
+
+commit 10ae3867274457aa2906b96991e46fbce3db63bd
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sun Jun 4 16:13:21 2017 +0100
+
+    meson: gio tests need to link against gobject as well
+
+    With meson from git dependencies of dependencies are no
+    longer added automatically and recursively to the linker
+    lines. Meaning dependencies that are used have to be
+    passed directly and explicitly or we'll get linker errors.
+
+ gio/tests/meson.build | 26 ++++++++++++++------------
+ 1 file changed, 14 insertions(+), 12 deletions(-)
+
+commit 24ea260b4cb623db4af02085f8f8492ddf635b7e
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Wed May 31 23:54:59 2017 +0100
+
+    meson: docs: make gtk-doc find the gobject.types file
+
+    Should really use files('gobject.types') instead, but that
+    seems to get expanded to the build path for some reason:
+    https://github.com/mesonbuild/meson/issues/1875
+
+ docs/reference/gobject/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 42705b57f78556ce0327f3a4bf741bf8bb1d3a2b
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Mon May 29 15:59:11 2017 +0100
+
+    meson add missing gio/tests subdirectory/file
+
+ gio/tests/de/LC_MESSAGES/meson.build | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit dc9b01fd64e74fc678ee5f03360778c5fc32b9da
+Author: Matej Knopp <matej.knopp@gmail.com>
+Date:   Sun May 28 22:29:20 2017 +0200
+
+    glib-mkenums: add back missing --fprod option
+
+    ... in glib-mkenums python port.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=779332
+    https://bugzilla.gnome.org/show_bug.cgi?id=783198
+
+ gobject/glib-mkenums.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 29f9fe041b75c32d0d7400a22dae346f4ad6a670
+Author: Matej Knopp <matej.knopp@gmail.com>
+Date:   Sun May 28 22:29:20 2017 +0200
+
+    glib-mkenums: Fix parsing of multiline comments
+
+    ... in glib-mkenums python port.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=779332
+    https://bugzilla.gnome.org/show_bug.cgi?id=783198
+
+ gobject/glib-mkenums.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 69bfd1a7710fb4da4b2a226a401a406aec24df6b
+Author: Sebastian Dröge <sebastian@centricular.com>
+Date:   Mon May 22 13:07:19 2017 +0300
+
+    meson: Install missing guuid.h header
+
+ glib/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1672678bc48c1c060d1ee6bb3df124b3e4f9ca33
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sat May 13 14:56:29 2017 +0100
+
+    glib-mkenums: fix parsing of /*< flags >*/ annotation
+
+    Fixes get_type function generation for:
+
+     - GMountMountFlags
+     - GDriveStartFlags
+     - GResourceLookupFlags
+     - GSocketMsgFlags
+     - GTlsDatabaseVerifyFlags
+     - GTestDBusFlags
+
+    which were registered as enum types before, which broke
+    some unit tests.
+
+    Problem is that the flags annotation has no value, so
+    options.get('flags') would always return None even if
+    it was present.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=779332
+
+ gobject/glib-mkenums.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 03eac5fac51da789085ad60dc1858b2cf2c6a80d
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sat May 13 11:10:52 2017 +0100
+
+    meson: rebase on top of master ~2.53.1
+
+    From 2.51.2
+
+ gio/meson.build       | 29 ++++++++++++++++++-----------
+ gio/tests/meson.build | 34 ++++++++++++++++++++++------------
+ meson.build           | 22 +++++++++++++++++++++-
+ 3 files changed, 61 insertions(+), 24 deletions(-)
+
+commit 2e9fd74b2576d276e246655aef7c40e04e51ea9e
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Tue May 2 17:04:58 2017 +0100
+
+    meson: add tests/gobject and tests/refcount
+
+ meson.build                |  3 ++-
+ tests/gobject/meson.build  | 59
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ tests/meson.build          | 14 +++++++++++
+ tests/refcount/meson.build | 29 +++++++++++++++++++++++
+ 4 files changed, 104 insertions(+), 1 deletion(-)
+
+commit 6af4f1752a44384290f378594c9fb7f655e31682
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Fri Feb 24 20:58:04 2017 +0000
+
+    meson: gio/tests: remove some leftover rubbish
+
+ gio/tests/meson.build | 40 ----------------------------------------
+ 1 file changed, 40 deletions(-)
+
+commit 613e00826ead73e541648fcb53cbfde77c36650d
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Fri Feb 24 09:46:36 2017 +0000
+
+    meson: gio/tests: add more gio tests
+
+    Need to fix up some of the tests a little, because the
+    test binary will not necessarily be run from the current
+    build sub-directory, and the build directory structure
+    might not always be a mirror of the source directory
+    structure, so pass location of glib-mkenums and
+    glib-compile-scheme and such directly.
+
+ gio/meson.build              |  2 +-
+ gio/tests/appinfo.c          |  9 ++++++++
+ gio/tests/desktop-app-info.c |  8 +++++++
+ gio/tests/gschema-compile.c  |  7 +++++-
+ gio/tests/gsettings.c        | 30 +++++++++++++++++++++-----
+ gio/tests/meson.build        | 51
+ ++++++++++++++++++++++++++++++++++++++++----
+ 6 files changed, 96 insertions(+), 11 deletions(-)
+
+commit 1acd6de763b33f43b366c0298653734087001f5f
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Sat Mar 25 11:09:46 2017 +0530
+
+    meson: Use glib-mkenums directly instead of via build_mkenum.py
+
+    This is no longer needed because we use templates and custom targets
+    can capture output just fine on all platforms.
+
+ gio/build_mkenum.py | 25 -------------------------
+ gio/meson.build     | 14 ++++++++------
+ 2 files changed, 8 insertions(+), 31 deletions(-)
+
+commit 2d72a9e1d13fbcf9483eaf9ddb2a258d7aaf3ca2
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Thu Mar 23 10:29:50 2017 +0530
+
+    glib-mkenums: misc fixes to python port
+
+ gobject/glib-mkenums.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 806a4be4cfd6186b43a379bf1653224804d3a224
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Tue Mar 21 22:45:42 2017 +0530
+
+    Add zlib, libffi, and proxy-libintl subproject wraps
+
+    This allows you to clone glib and just build it anywhere without any
+    extra dependencies besides Python 3 and Meson itself (and maybe git).
+
+ .gitignore                     | 2 +-
+ subprojects/libffi.wrap        | 4 ++++
+ subprojects/proxy-libintl.wrap | 4 ++++
+ subprojects/zlib.wrap          | 4 ++++
+ 4 files changed, 13 insertions(+), 1 deletion(-)
+
+commit dd8ff547362bb407f786ff31d853a0b3a61024f7
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Tue Mar 21 22:12:19 2017 +0530
+
+    meson: Use Python port of glib-mkenums
+
+    This reduces the build-time dependencies of glib to only Python 3,
+    Meson, and git. Git is also optional if you provide a tarball in
+    which the subproject directories already exist.
+
+    The Python port was done by Jussi Pakkanen on bugzilla:
+    https://bugzilla.gnome.org/show_bug.cgi?id=779332
+
+    This version contains some fixes from that and also changes all
+    instances of `@` to `\u0040` because Meson does not yet provide a
+    configure_file() mode that ignores unknown @MACRO@ values.
+
+ gio/build_mkenum.py     |    4 +-
+ gio/meson.build         |    4 +-
+ gobject/glib-mkenums.in | 1150
+ +++++++++++++++++++++++------------------------
+ gobject/meson.build     |    1 -
+ meson.build             |    3 -
+ 5 files changed, 579 insertions(+), 583 deletions(-)
+
+commit ee94ad776ef533f16c2561ea038106a8e23b1a75
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Tue Mar 21 22:06:22 2017 +0530
+
+    meson: Use proxy-libintl if gettext is not found
+
+    This is a stub-only library that can be used while building against
+    MSVC and contains no i18n machinery at all.
+
+    The dependencies added indirectly use the libintl.h header, and when
+    built as a subproject, the header won't be in a path known the
+    pre-processor.
+
+ gio/meson.build       |  2 +-
+ gio/win32/meson.build |  1 +
+ glib/meson.build      |  8 ++++----
+ gobject/meson.build   |  2 +-
+ meson.build           | 25 ++++++++++++++++---------
+ 5 files changed, 23 insertions(+), 15 deletions(-)
+
+commit fb1f52e32fa21e0d7a3b5ac5e37afbd155ed8cee
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Tue Mar 21 16:49:55 2017 +0530
+
+    meson: Only require libmount on Linux
+
+    It's not available on other platforms, so don't require the user to
+    explicitly disable it there.
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit eb07a2c87dd22039f2ce90aef7872aaef2e5d4af
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Tue Mar 21 16:49:09 2017 +0530
+
+    meson: Allow using libffi and zlib as subprojects
+
+    Also use the python3 module to find python3, and require Meson 0.37.1
+
+ meson.build | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+commit 2f792f64848307d6662e7b2f026c1c8ea1fc9437
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Tue Mar 21 16:41:40 2017 +0530
+
+    meson: Print output for more compiler checks
+
+    When no 'name:' kwarg is specified for cc.run, no output is printed.
+
+    This makes it difficult to figure out what is causing a pause in the
+    configure process.
+
+ meson.build | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 88e437873ad1444e6f93b8c47145b1c9eea9c592
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Tue Mar 21 16:38:47 2017 +0530
+
+    meson: Detect with-docs and with-man automatically
+
+    By default, only build man pages and gtk-doc if the build-deps were
+    found. To force-enable, pass -Dwith-docs=yes and -Dwith-man=yes.
+
+    Also use a foreach loop for man pages instead of listing them all
+    manually
+
+ docs/reference/gio/meson.build     | 86
+ ++++++--------------------------------
+ docs/reference/glib/meson.build    | 36 +++++-----------
+ docs/reference/gobject/meson.build | 36 +++++-----------
+ meson.build                        | 11 +++--
+ meson_options.txt                  |  4 +-
+ 5 files changed, 42 insertions(+), 131 deletions(-)
+
+commit 5549a1d0c387d320f6141d46e34db58d1d041f84
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Fri Feb 24 16:07:45 2017 +0530
+
+    meson: Rebase and update to 2.51.2
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 192cd652d4a2c3b6fec9cfab357c87a6850492f8
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Thu Feb 23 16:13:23 2017 +0000
+
+    tests: gio/tests: add gdbus tests
+
+ gio/tests/meson.build | 130
+ ++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 116 insertions(+), 14 deletions(-)
+
+commit 4e0ef7655de3692e10d17f56224310ccb3f6cf9c
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Thu Feb 23 00:40:45 2017 +0000
+
+    meson: gio/tests: add more gresource tests
+
+ gio/meson.build       |  2 +-
+ gio/tests/meson.build | 72
+ ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 72 insertions(+), 2 deletions(-)
+
+commit 2f29ee1735fe83e65505c47e1a68630d9f7e1032
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Thu Feb 16 09:52:58 2017 +0000
+
+    meson: add -fvisibility=hidden explicitly to selected targets
+
+    Don't use it project-wide for building everything. Otherwise
+    symbols for shared modules won't be exposed, e.g. in the
+    resourceplugin used by the gio resource unit test.
+
+ gio/meson.build             | 3 +++
+ gio/xdgmime/meson.build     | 2 +-
+ glib/libcharset/meson.build | 2 +-
+ glib/meson.build            | 2 +-
+ glib/pcre/meson.build       | 2 +-
+ gmodule/meson.build         | 3 +--
+ gobject/meson.build         | 2 +-
+ gthread/meson.build         | 3 +--
+ meson.build                 | 5 +++--
+ 9 files changed, 13 insertions(+), 11 deletions(-)
+
+commit 1224ff0c39b9975e685f433893fe7163eec1a81b
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Thu Feb 16 09:50:56 2017 +0000
+
+    meson: use add_project_arguments() instead of add_global_arguments()
+
+    add_global_arguments() doesn't work if the project is used as a
+    subproject.
+
+ meson.build | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 34e4e25d53d72db65bb2225a607d3274854fb549
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sat Jan 28 12:52:18 2017 +0000
+
+    meson: gio/tests: add more missing tests
+
+ gio/meson.build                                    |   3 +-
+ gio/tests/gdbus-object-manager-example/meson.build |  23 ++++
+ gio/tests/gengiotypefuncs.py                       |  45 ++++++
+ gio/tests/meson.build                              | 151
+ ++++++++++++---------
+ gobject/tests/meson.build                          |   8 ++
+ 5 files changed, 163 insertions(+), 67 deletions(-)
+
+commit f438c04fac22d31d43afef5f7666bf04dda75bf3
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sat Jan 28 17:00:41 2017 +0000
+
+    gio: tests: rename generated giotypefunc.c to giotypefuncs.inc
+
+    This is needed for the Meson port, a file name .c that's included
+    and shouldn't be compiled into an object is difficult to manage
+    otherwise.
+
+ gio/tests/.gitignore     | 2 +-
+ gio/tests/Makefile.am    | 6 +++---
+ gio/tests/defaultvalue.c | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 33fb1bbb61bce38368acd5d503a16e46c511b674
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Sat Jan 28 16:59:45 2017 +0000
+
+    meson: gio, gobject: use files() for headers list
+
+    Since these variables are referenced from other directories
+    such as the tests/ subdir as well.
+
+ gio/meson.build     | 16 ++++++++--------
+ gobject/meson.build |  4 ++--
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 89ee284d2b4487096d7881060ff7fc6d363c824f
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Thu Jan 26 10:49:47 2017 +0000
+
+    meson: glib/tests: add missing tests
+
+ glib/meson.build       |  2 +-
+ glib/tests/meson.build | 30 ++++++++++++++++++++++++++++++
+ 2 files changed, 31 insertions(+), 1 deletion(-)
+
+commit d29f022b0b2697df22918e7675bf18a6ca0b83c4
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Wed Jan 25 17:02:51 2017 +0000
+
+    meson: add support for dtrace/systemtap
+
+    Still at least one FIXME. And untested so far. It builds.
+
+ gio/meson.build     | 17 +++++++++++++++++
+ glib/meson.build    | 17 +++++++++++++++++
+ gobject/meson.build | 17 +++++++++++++++++
+ meson.build         | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ meson_options.txt   |  6 ++++++
+ 5 files changed, 101 insertions(+)
+
+commit 9fdcb2bf37d5a877ac35e040d8f8570cd776a073
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Wed Jan 25 18:29:59 2017 +0530
+
+    meson: Add a comment about the gdbus-peer gio test
+
+    So that it's not forgotten later.
+
+ gio/tests/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5afc6600e8de778c73d8b9addbc9860830d1ba6d
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Wed Jan 25 18:17:24 2017 +0530
+
+    meson: Add missing termios.h check
+
+    Same change as d1d1aba3b4c024255b530b0f4f2dc9dd19a7086e
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=775517
+
+ meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3c6261993073ea83f5f985790964e503db26e8ea
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Thu Dec 29 08:09:44 2016 +0530
+
+    tests: autoptr test can be run on gcc, clang, intel
+
+    The only place where it won't work, is MSVC and maybe Sun Studio, but
+    we'd need someone to test Sun Studio first.
+
+ gio/tests/meson.build  | 2 +-
+ glib/tests/meson.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 9096bde3ce3f5a03abffcd9f08645dbe3b159bfb
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Wed Dec 21 08:51:50 2016 +0530
+
+    build: Remove function checks for unused functions
+
+    These were removed several years ago.
+
+ configure.ac | 4 ++--
+ meson.build  | 2 --
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+commit 70021b0e837c7b74ab687d95c6b788f8288c3463
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Wed Dec 21 08:50:30 2016 +0530
+
+    meson: Derive defines from header, struct, function names
+
+    This is what Autoconf macros do too, so no need to hard-code the
+    names.
+
+ meson.build | 288
+ ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 146 insertions(+), 142 deletions(-)
+
+commit 122f4c051db2d1f02569db5b167c0932ae29aa4d
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Wed Dec 21 07:46:30 2016 +0530
+
+    meson: Add tls-interaction test, and fix giomodule test
+
+    giomodule test needed symbol visibility pragmas added. This is
+    needed on
+    Windows anyway, so it's better to do it this way rather than disabling
+    -fvisibility=hidden for the test modules.
+
+ gio/tests/meson.build                 |  8 ++++++++
+ gio/tests/modules/symbol-visibility.h | 16 ++++++++++++++++
+ gio/tests/modules/test-module-a.c     |  6 ++++--
+ gio/tests/modules/test-module-b.c     |  6 ++++--
+ 4 files changed, 32 insertions(+), 4 deletions(-)
+
+commit e2da3cb5996707c1c351ce02695fdb6a9b2af78b
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Wed Dec 21 06:34:47 2016 +0530
+
+    meson: Port to latest master (2.51.0)
+
+    Also remove headers from some gio sources. Headers do not need to be
+    added to the list of sources.
+
+    + various smaller self-explanatory fixes.
+
+ docs/reference/gio/meson.build |  9 +++++
+ gio/meson.build                | 78
+ +++++++++++++++++++++++++++++++-----------
+ glib/meson.build               |  2 +-
+ gobject/meson.build            |  2 +-
+ meson.build                    | 34 +++++++++++++++---
+ meson_options.txt              |  1 +
+ 6 files changed, 99 insertions(+), 27 deletions(-)
+
+commit d10be6102f28e63f5d85c9d8500af28dff2b7ca7
+Author: Patrick Griffis <tingping@tingping.se>
+Date:   Fri Dec 9 14:30:22 2016 -0500
+
+    meson: Minor modernizations
+
+ gio/gdbus-2.0/codegen/meson.build |  12 ++-
+ gio/inotify/meson.build           |   3 +-
+ gio/kqueue/meson.build            |   3 +-
+ gio/meson.build                   |  11 ++-
+ gio/win32/meson.build             |   3 +-
+ gio/xdgmime/meson.build           |   3 +-
+ glib/libcharset/meson.build       |   3 +-
+ glib/meson.build                  | 176
+ +++++++++++++++++++-------------------
+ glib/pcre/meson.build             |  40 ++++-----
+ gmodule/meson.build               |   2 +-
+ gobject/meson.build               |   6 +-
+ meson.build                       |  40 +++++----
+ 12 files changed, 158 insertions(+), 144 deletions(-)
+
+commit bc2bb5639b4d499e07ae2f718def07c86a3ded67
+Author: Patrick Griffis <tingping@tingping.se>
+Date:   Fri Dec 9 13:51:41 2016 -0500
+
+    meson: Match upstream gtkdoc changes
+
+ docs/reference/gio/meson.build     | 6 +-----
+ docs/reference/glib/meson.build    | 8 +-------
+ docs/reference/gobject/meson.build | 6 +-----
+ 3 files changed, 3 insertions(+), 17 deletions(-)
+
+commit 0df9aab0537dd61e2ee637c3b6ddc9d9d60bcddf
+Author: Patrick Griffis <tingping@tingping.se>
+Date:   Wed Dec 7 05:28:33 2016 -0500
+
+    meson: Build all docs
+
+ docs/reference/gio/meson.build                   | 216
+ +++++++++++++++++++++++
+ docs/reference/gio/xml/gtkdocentities.ent.in     |   8 +
+ docs/reference/gio/xml/meson.build               |  14 ++
+ docs/reference/glib/meson.build                  | 123 +++++++++++++
+ docs/reference/glib/xml/gtkdocentities.ent.in    |   8 +
+ docs/reference/glib/xml/meson.build              |  14 ++
+ docs/reference/gobject/meson.build               |  82 +++++++++
+ docs/reference/gobject/xml/gtkdocentities.ent.in |   8 +
+ docs/reference/gobject/xml/meson.build           |  14 ++
+ meson.build                                      |  27 ++-
+ 10 files changed, 512 insertions(+), 2 deletions(-)
+
+commit c61a72f4bc01d7e4f5071c8f6a8de29405cac1d0
+Author: Patrick Griffis <tingping@tingping.se>
+Date:   Tue Dec 6 10:14:57 2016 -0500
+
+    meson: Match soname version of autotools
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a690e2a375ac0803412186b68eadf8723ee43a39
+Author: Patrick Griffis <tingping@tingping.se>
+Date:   Tue Dec 6 08:07:03 2016 -0500
+
+    meson: More build fixes
+
+    - Fix installing various data files
+    - Build translations
+
+ gio/meson.build     |  25 ++++++----
+ glib/meson.build    |  13 ++++++
+ gobject/meson.build |  11 +++++
+ meson.build         |  10 +++-
+ meson_options.txt   |   2 +
+ po/meson.build      | 129
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 6 files changed, 178 insertions(+), 12 deletions(-)
+
+commit fe2a9887a8ccb14f2386e01b14834e97a33bc2d7
+Author: Nirbheek Chauhan <nirbheek@centricular.com>
+Date:   Wed Dec 21 04:07:24 2016 +0530
+
+    meson: Improve MSVC and MinGW support and fix dependencies everywhere
+
+    Disable gio tests on Windows, fix .gitignore to not ignore
+    config.h.meson, and add more things to it.
+
+    Rename the library file naming and versioning to match what Autotools
+    outputs, e.g., libglib-2.0.so.0.5000.2 on Linux, libglib-2.0-0.dll
+    and
+    glib-2.0-0.dll on Windows with MSVC.
+
+    Several more tiny fixes, more executables built and installed, install
+    pkg-config and m4 files, fix building of gobject tests.
+
+    Changes to gdbus-codegen to support out-of-tree builds without
+    environment variables set (which you can't in Meson). We now add the
+    build directory to the Python module search path.
+
+ .gitignore                             |  15 +-
+ config.h.meson                         |  15 +-
+ gio/build_mkenum.py                    |  16 +-
+ gio/data-to-c.py                       |  16 +
+ gio/gdbus-2.0/codegen/codegen.py       |   2 +-
+ gio/gdbus-2.0/codegen/config.py.in     |   3 -
+ gio/gdbus-2.0/codegen/gdbus-codegen.in |  12 +-
+ gio/gdbus-2.0/codegen/meson.build      |  35 ++
+ gio/inotify/meson.build                |   3 +-
+ gio/kqueue/meson.build                 |   4 +-
+ gio/meson.build                        | 365 +++++++--------
+ gio/tests/meson.build                  |  40 +-
+ gio/tests/modules/meson.build          |   6 +-
+ gio/win32/meson.build                  |   4 +-
+ gio/xdgmime/meson.build                |   2 +-
+ glib/libcharset/meson.build            |   2 +-
+ glib/meson.build                       |  95 +++-
+ glib/pcre/meson.build                  |  50 +++
+ glib/tests/meson.build                 |  50 +--
+ gmodule/meson.build                    |  40 +-
+ gobject/gmarshal-list-to-strings.py    |  21 +
+ gobject/meson.build                    |  53 ++-
+ gobject/tests/gobject_test_marshal.py  |  10 +-
+ gobject/tests/meson.build              |  20 +-
+ gthread/meson.build                    |   9 +-
+ meson.build                            | 799
+ +++++++++++++++++++--------------
+ 26 files changed, 981 insertions(+), 706 deletions(-)
+
+commit 213957970ee4e58e37ee2c81766284af34dddcb9
+Author: Tim-Philipp Müller <tim@centricular.com>
+Date:   Mon Mar 7 11:13:24 2016 +0000
+
+    meson: Fix glib, add gobject, gio, gthread, gmodule, etc
+
+    Several small fixes to the build files.
+
+    Lots of tests have also been added, and glib tests pass now.
+
+ config.h.meson                        |  786 ++++++++++++++++++++++
+ gio/build_mkenum.py                   |   23 +
+ gio/inotify/meson.build               |   13 +
+ gio/kqueue/meson.build                |   15 +
+ gio/meson.build                       |  802 ++++++++++++++++++++++
+ gio/tests/meson.build                 |  219 ++++++
+ gio/tests/modules/meson.build         |   13 +
+ gio/win32/meson.build                 |   13 +
+ gio/xdgmime/meson.build               |   15 +
+ glib/glibconfig.h.in                  |   83 +--
+ glib/libcharset/meson.build           |    4 +-
+ glib/meson.build                      |  108 ++-
+ glib/tests/Makefile.am                |    1 +
+ glib/tests/meson.build                |  165 +++++
+ gmodule/meson.build                   |   90 +++
+ gobject/meson.build                   |   65 ++
+ gobject/tests/gobject_test_marshal.py |   17 +
+ gobject/tests/meson.build             |   69 ++
+ gthread/meson.build                   |   11 +
+ meson.build                           | 1197
+ ++++++++++++++++++++++++++-------
+ 20 files changed, 3405 insertions(+), 304 deletions(-)
+
+commit 98e641424b2e24cdae8c6e4ba022e53fc89d4640
+Author: Jussi Pakkanen <jpakkane@gmail.com>
+Date:   Wed Aug 7 23:41:12 2013 +0300
+
+    meson: initial glib build
+
+    https://mail.gnome.org/archives/gtk-devel-list/2013-August/msg00001.html
+
+ glib/glibconfig.h.in        | 222 ++++++++++++++++++
+ glib/libcharset/meson.build |   3 +
+ glib/meson.build            | 106 +++++++++
+ meson.build                 | 538
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 869 insertions(+)
+
+commit 41385745e73df690ff3ab9f07d975626935a51de
+Author: Matthias Clasen <mclasen@redhat.com>
+Date:   Thu Jul 13 19:03:00 2017 -0400
+
+    Revert "mkenums: Support public/private trigraph"
+
+    This reverts commit 9ba17d511e325eec1e0c1c27cb4d37de4f12ac1e.
+
+    This conflicts with the python port in the meson branch.
+
+ gobject/glib-mkenums.in | 19 -------------------
+ 1 file changed, 19 deletions(-)
+
+commit 9aa98db40450bc539a5cf59640c9f9cf28da93e8
+Author: Chun-wei Fan <fanchunwei@src.gnome.org>
+Date:   Thu Jul 13 17:45:44 2017 +0800
+
+    Visual Studio builds: Use PythonDir instead of PythonPath
+
+    This is to avoid confusion with the PYTHONPATH envvar that is commonly
+    used to determine where additional Python modules can be loaded,
+    especially in the case of a MSBuild build.  Note that envvar names are
+    not case sensitive on Windows in general.
+
+ win32/vs10/README.txt                   |  2 +-
+ win32/vs10/glib-install.propsin         |  8 ++++----
+ win32/vs10/glib-version-paths.props.in  | 14 +++++++-------
+ win32/vs9/README.txt                    |  2 +-
+ win32/vs9/glib-install.vspropsin        |  8 ++++----
+ win32/vs9/glib-version-paths.vsprops.in |  2 +-
+ 6 files changed, 18 insertions(+), 18 deletions(-)
+
+commit 75fa8c2afbab4f414d2eb03684d9f807bd690aef
+Author: Руслан Ижбулатов <lrn1986@gmail.com>
+Date:   Thu Jul 13 01:42:13 2017 +0000
+
+    W32 - don't use gettext & gcov during gettext init
+
+    Non-representable characters during UTF16->locale conversion
+    will cause gcov code to return an error, for which it will try
+    to use gettext, so that the error message is localized.
+
+    If such call is made while gettext is being initialized
+    (there's a g_once_init_enter up the stack), the thread will hang
+    forever.
+
+    To solve this, use W32 API to do the UTF16->locale conversion
+    and don't use gettext when it returns an error.
+
+    Also optimize g_win32_locale_filename_from_utf8() a bit,
+    as we need more UTF16 and less UTF8 now.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784579
+
+ glib/gwin32.c | 76
+ ++++++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 60 insertions(+), 16 deletions(-)
+
+commit b803c0a224f88c4d9afac1ae967832c6d9633551
+Author: Christoph Reiter <creiter@src.gnome.org>
+Date:   Wed Jul 12 23:36:18 2017 +0200
+
+    gspawn-win32: Fix multiple definition error with a static build
+
+    gspawn-win32.c gets included by gspawn-win32-helper.c and in case
+    of a static build the definitions there clash with the ones from
+    libglib. Fixed by not compiling the ABI comapt code in case
+    GSPAWN_HELPER is defined.
+
+    I missed this issue in commit 23dffdd949eb1c
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=780634
+
+ glib/gspawn-win32.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit b60e4665ef3c74179885f528c3f675526600830e
+Author: Christoph Reiter <creiter@src.gnome.org>
+Date:   Wed Jul 12 22:32:25 2017 +0200
+
+    gwin32: Fix missing prototypes on win64
+
+    I missed this in commit 5067d25a74783a8b6e
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=780634
+
+ glib/gwin32.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit c4b5702e08d97b1b1163c2022ad4c7d92bee140c
+Author: Руслан Ижбулатов <lrn1986@gmail.com>
+Date:   Wed Jul 12 19:46:07 2017 +0000
+
+    Use %lu format for DWORD
+
+ glib/gmain.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5eededccda6236cd307b0f0bcc852e495e9fd8f8
+Author: Daniel Boles <dboles@src.gnome.org>
+Date:   Wed Jul 12 19:23:40 2017 +0100
+
+    gsettingsschema: Fix a compiler warning
+
+    g_build_filename() returns a gchar*, but it was stored in a const
+    gchar*
+    and then g_free()d, which is wrong and led to a warning about
+    the const
+    qualifier being cast away.
+
+ gio/gsettingsschema.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7d64d109f0d78ba683df1122ddfadd5ace3e9143
+Author: Chun-wei Fan <fanchunwei@src.gnome.org>
+Date:   Wed Jul 12 18:18:28 2017 +0800
+
+    MSVC 201x builds: Allow different Python versions per toolset
+
+    Use conditionals to select the Python installation, so that we
+    can more
+    stick to the default Visual Studio versions used to compile each
+    official Python releases more closely.
+
+    This means by default:
+    -2010/2012/2013 builds use Python 3.4.x, which is built with 2010
+    -2015/2017 builds use Python 3.6.x, which is built with 2015
+
+ win32/vs10/glib-version-paths.props.in | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit a00e7ed32e510791016725ce0a3dc08f59b9a443
+Author: Chun-wei Fan <fanchunwei@src.gnome.org>
+Date:   Wed Jul 12 11:45:34 2017 +0800
+
+    win32: Update MSVC projects for glib-genmarshal
+
+    glib-genmarshal is now a Python script instead of a compiled
+    program, so
+    we need to:
+
+    -Remove the projects that are used to build the glib-genmarshal
+    sources.
+    -Generate the full glib-genmarshal Python script from
+    glib-genmarshal.in
+    -Make Python a hard build-time requirement, since we use this tool
+     in many parts of the stack (and it is the case for glib-mkenums).
+    -Tell people in the Visual Studio build README.txt files that Python
+     2.7.x or 3.x is now required for the build/"install".
+
+ win32/gen_util_scripts.py                  |   7 +-
+ win32/vs10/Makefile.am                     |   2 -
+ win32/vs10/README.txt                      |   5 +
+ win32/vs10/glib-genmarshal.vcxproj         | 173
+ -----------------------------
+ win32/vs10/glib-genmarshal.vcxproj.filters |  22 ----
+ win32/vs10/glib-install.propsin            |  19 ++--
+ win32/vs10/glib-install.vcxproj            |  12 +-
+ win32/vs10/glib-install.vcxproj.filters    |   1 +
+ win32/vs10/glib.sln                        |  90 ++++++---------
+ win32/vs11/Makefile.am                     |   2 -
+ win32/vs12/Makefile.am                     |   2 -
+ win32/vs14/Makefile.am                     |   2 -
+ win32/vs15/Makefile.am                     |   2 -
+ win32/vs9/Makefile.am                      |   1 -
+ win32/vs9/README.txt                       |   7 +-
+ win32/vs9/glib-genmarshal.vcproj           | 161
+ ---------------------------
+ win32/vs9/glib-install.vcproj              |  34 ++++++
+ win32/vs9/glib-install.vspropsin           |  17 +--
+ win32/vs9/glib.sln                         |  70 ++++--------
+ 19 files changed, 141 insertions(+), 488 deletions(-)
+
+commit c6793d1cfb845ae1cab7fa03a8044568e3494ecd
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Tue Jul 11 18:23:38 2017 +0100
+
+    Allow whitespace between marshallers list tokens
+
+    Some (older) list files use whitespace, and we need to take that into
+    account when splitting off the various tokens.
+
+ gobject/glib-genmarshal.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit cf7ee86b97981f116a4f2c736cbfb355588a5262
+Author: Aleksandr Slobodeniuk <alenuke@yandex.ru>
+Date:   Tue Jul 11 15:48:58 2017 +0300
+
+    docs: fixing lost character
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784792
+
+ glib/gvariant.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 522ba7303ea4302dd3b36221304d309efaaca238
+Author: Daniel Boles <dboles@src.gnome.org>
+Date:   Tue Jul 11 12:49:40 2017 +0100
+
+    docs: tut_gsignal: Fix mismatched argument names
+
+    The names differed between the argument declaration and its
+    description.
+
+ docs/reference/gobject/tut_gsignal.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 30b961607a187c2e55cadc73db96ec99d3d8a44b
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Tue Jul 11 12:24:10 2017 +0100
+
+    Avoid a leak for arguments in va_list marshallers
+
+    We need to revers a check on whether the list of arguments needs
+    unboxing.
+
+ gobject/glib-genmarshal.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ea365530d2ddf88fec914a12899f1ece6d9962ba
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Tue Jul 11 12:15:44 2017 +0100
+
+    Do not mix declarations and statements
+
+    Projects using glib-genmarshal may still wish to support C89.
+
+ gobject/glib-genmarshal.in | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 9c66e65b29d5fd17dcfd77c4b010aa792b2e1d5a
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Wed Jul 5 19:26:26 2017 +0100
+
+    Remove unused marshallers-related files
+
+    We don't use gmarshal.list any more, and the generated
+    gmarshal.strings
+    file is not used after the Python port of glib-genmarshal.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784528
+
+ gobject/Makefile.am           |  6 ++----
+ gobject/glib-genmarshal.in    |  2 +-
+ gobject/gmarshal.list         | 32 --------------------------------
+ gobject/marshal-genstrings.pl |  9 ---------
+ win32/setup.py                | 20 --------------------
+ 5 files changed, 3 insertions(+), 66 deletions(-)
+
+commit f7643a7df750684c97aaef8b3fbf66fcc2661e84
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Wed Jul 5 17:10:08 2017 +0100
+
+    Re-enable signal tests when cross-compiling
+
+    The glib-genmarshal tool has been rewritten in Python, which means we
+    can run it when cross-compiling.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784528
+
+ gobject/tests/Makefile.am | 26 ++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+commit 93f16a45abe81c3186c84a343a2e47493cf5d875
+Author: Emmanuele Bassi <ebassi@gnome.org>
+Date:   Thu Jun 22 17:04:05 2017 +0100
+
+    Rewrite glib-genmarshal in Python
+
+    We're in the process or rewriting other tools in Python to reduce the
+    number of dependencies of GLib.
+
+    Additionally, making glib-genmarshal a Python script reduces the
+    complexity when cross-compiling, as we don't need a native build to
+    generate the marshallers.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784528
+
+ configure.ac                               |    2 +
+ docs/reference/gobject/glib-genmarshal.xml |  107 ++-
+ gobject/Makefile.am                        |   19 +-
+ gobject/glib-genmarshal.c                  | 1136
+ ----------------------------
+ gobject/glib-genmarshal.in                 | 1022
+ +++++++++++++++++++++++++
+ 5 files changed, 1121 insertions(+), 1165 deletions(-)
+
+commit 2502bfd8b0e9a8136aae833dc674a28a884f1de1
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Mon Jul 10 11:35:11 2017 +0100
+
+    Re-normalise line endings of README.win32
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+ README.win32 | 406
+ +++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 203 insertions(+), 203 deletions(-)
+
+commit a88302683fd2b332ba665baac6d8be592d7e52aa
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Mon Jul 10 11:31:52 2017 +0100
+
+    git: Add .gitattributes file with EOL settings for README.win32
+
+    Set it to always have CRLF line endings, since we want it to be
+    readable
+    on Windows by default. This should result in the line endings being
+    normalised to CRLF even after it’s edited by someone on Linux.
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+ .gitattributes | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a13113491855bf2803374bcfece824df0891c82a
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Mon Jul 3 11:30:08 2017 +0100
+
+    build: Drop nmake/MSC build system for GLib
+
+    It hasn’t been seriously maintained for the best part of 10 years
+    and is
+    very outdated. The recommended way to build GLib on Windows is now
+    Visual Studio:
+
+    https://wiki.gnome.org/Projects/GTK%2B/Win32/MSVCCompilationOfGTKStack#GLib
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=722047
+
+ Makefile.am                     |   1 -
+ README.win32                    | 183 +---------------------------
+ build/win32/Makefile.am         |   4 -
+ build/win32/dirent/Makefile.am  |   1 -
+ build/win32/dirent/makefile.msc |  16 ---
+ build/win32/make.msc            | 237
+ ------------------------------------
+ build/win32/module.defs         | 124 -------------------
+ configure.ac                    |   5 -
+ gio/Makefile.am                 |   1 -
+ gio/makefile.msc                | 260
+ ----------------------------------------
+ gio/win32/makefile.msc          |  35 ------
+ glib/.gitignore                 |   1 -
+ glib/Makefile.am                |   2 -
+ glib/gnulib/Makefile.am         |   3 -
+ glib/gnulib/makefile.msc        |  18 ---
+ glib/makefile.msc.in            | 143 ----------------------
+ glib/pcre/Makefile.am           |   4 +-
+ glib/pcre/makefile.msc          |  30 -----
+ glib/update-pcre/update.sh      |  38 ------
+ gmodule/.gitignore              |   1 -
+ gmodule/Makefile.am             |   2 -
+ gmodule/makefile.msc.in         |  37 ------
+ gobject/.gitignore              |   1 -
+ gobject/Makefile.am             |   2 -
+ gobject/makefile.msc.in         |  83 -------------
+ gthread/.gitignore              |   1 -
+ gthread/Makefile.am             |   2 -
+ gthread/makefile.msc.in         |  26 ----
+ makefile.msc                    |  28 -----
+ tests/.gitignore                |   2 -
+ tests/Makefile.am               |   4 -
+ tests/makefile.msc.in           | 105 ----------------
+ win32-fixup.pl                  |  41 -------
+ 33 files changed, 2 insertions(+), 1439 deletions(-)
+
+commit 1d3210a8abeed853a943fe1620ccd4f24b76eb05
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date:   Mon Jul 10 11:11:39 2017 +0200
+
+    configure: fix minor typo 'be build'->'be built'
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784739
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 28cc905cd02043a64135ccdf7f4e05d5672e4756
+Author: Yosef Or Boczko <yoseforb@src.gnome.org>
+Date:   Sun Jul 9 20:47:55 2017 +0300
+
+    Updated Hebrew translation
+
+ po/he.po | 904
+ ++++++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 459 insertions(+), 445 deletions(-)
+
+commit 28cc6aeb19dd2b5ff6e01362dbee833636930eeb
+Author: Matthias Clasen <mclasen@redhat.com>
+Date:   Fri Jul 7 19:11:51 2017 -0400
+
+    gsettings: Try harder to describe keys
+
+    If a key has no description, show the summary,
+    rather than "(null)". Since thats not helpful at all.
+
+ gio/gsettings-tool.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 85e4a2591227940db712223d8e39ccd7ae75802f
+Author: Matthias Clasen <mclasen@redhat.com>
+Date:   Sat Jul 1 20:31:51 2017 -0400
+
+    Avoid a race with the openuri portal
+
+    Same as the previous commit; use the new predictable request
+    object path to connect to the Response signal early.
+
+ gio/gopenuriportal.c | 67
+ ++++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 55 insertions(+), 12 deletions(-)
+
+commit a95e2a4c64c74fa648e5ac5b6130c84ad73731ad
+Author: Bastien Nocera <hadess@hadess.net>
+Date:   Wed Jul 5 22:52:54 2017 +0200
+
+    docs: Fix cut'n'paste error in g_resources_get_info() doc
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784581
+
+ gio/gresource.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8e23a514b02c67104f03545dec58116f00087229
+Author: Rico Tzschichholz <ricotz@ubuntu.com>
+Date:   Sun Jul 2 22:51:30 2017 +0200
+
+    unicode: Update test data files for unicode 10.0.0
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784456
+
+ tests/casefold.txt | 2 +-
+ tests/casemap.txt  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 4e1567a079c13036320802f49ee8f78f78d0273a
+Author: Rico Tzschichholz <ricotz@ubuntu.com>
+Date:   Sun Jul 2 22:47:09 2017 +0200
+
+    unicode: Update to unicode 10.0.0
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784456
+
+ glib/gscripttable.h   |   78 ++--
+ glib/gunibreak.h      | 1062
+ ++++++++++++++++++++++++++++++------------------
+ glib/gunichartables.h | 1074
+ ++++++++++++++++++++++++++++++++-----------------
+ glib/gunicode.h       |   12 +-
+ glib/gunidecomp.h     |   72 ++--
+ glib/guniprop.c       |    6 +
+ glib/tests/unicode.c  |   10 +
+ 7 files changed, 1476 insertions(+), 838 deletions(-)
+
+commit a74fe20064d0f5f1ad8f191b2f988c3d11776054
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Wed Jul 5 16:35:58 2017 +0100
+
+    tests: Drop local timezone GTimeVal overflow check
+
+    We can’t reasonably control the local timezone in the test
+    environment, so drop some assertions which were assuming the local
+    timezone offset was not big enough to cause an overflow in the
+    GTimeVal
+    handling for GDateTime.
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+ glib/tests/gdatetime.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+commit 5a8b02cae6a630a19cc0c164f5f8a93eddb240ab
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Tue Jul 4 10:21:38 2017 +0100
+
+    gdbusutils: Add an example to g_dbus_gvariant_to_gvalue() docs
+
+    Clarify that GVariants of type v are not magically unboxed.
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784433
+
+ gio/gdbusutils.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 9bc3d025f97ad1db456604f42bd014b7a9ac4048
+Author: Jehan <jehan@girinstud.io>
+Date:   Sat Jul 1 17:03:29 2017 +0200
+
+    configure: close a parenthese in an error message.
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f39024038fd009d94a5929f9bab656cb2f7097cc
+Author: Matthias Clasen <mclasen@redhat.com>
+Date:   Wed Jun 28 15:49:40 2017 -0400
+
+    Disambiguate source names
+
+    This makes debugging more pleasant.
+
+ gio/gdbusconnection.c   | 2 +-
+ gio/gdbusnameowning.c   | 2 +-
+ gio/gdbusnamewatching.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 79e4d4c6be616277d7d6ba2f830852967c42f6e3
+Author: Emanuele Aina <emanuele.aina@collabora.com>
+Date:   Wed Jun 21 15:45:07 2017 +0200
+
+    gio: Mention the ALL_METADATA flag in g_file_copy()
+
+    The g_file_copy() documentation didn't mention if
+    G_FILE_COPY_ALL_METADATA was applicable or not, and users were led to
+    call g_file_copy_attributes() to specify it after the g_file_copy()
+    call, unless they checked the source (been there, done that).
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784037
+
+ gio/gfile.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit fd329f4853f180eb92746f39fc96fd5d91394009
+Author: Sebastian Dröge <sebastian@centricular.com>
+Date:   Wed Jun 21 09:52:06 2017 +0300
+
+    GKeyFile – Add array length annotations to to_data(), get_keys()
+    and get_groups()
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784020
+
+ glib/gkeyfile.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 1366ce7ee004f97886807b9fede205c0af8b1a17
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Tue Jun 20 13:41:10 2017 +0100
+
+    gutf8: Clarify return value docs for g_utf8_find_next_char()
+
+    Make it clearer that it will only return NULL if @end is non-NULL. Add
+    a
+    test for this too.
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=773842
+
+ glib/gutf8.c              | 8 +++++++-
+ glib/tests/utf8-pointer.c | 9 +++++++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
+commit 3e89b19c44d353edfafde876e12b56ddd29ef8a4
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Fri Mar 17 12:15:15 2017 +0000
+
+    gutf8: Fix documentation for g_utf8_get_char_validated() length limits
+
+    If g_utf8_get_char_validated() encounters a nul byte in the middle
+    of a
+    string of given longer length, it returns -2, indicating a partial
+    gunichar. That is not the obvious behaviour, but since
+    g_utf8_get_char_validated() has been API for a long time, the
+    behaviour
+    cannot be changed.
+
+    Document it, and add some unit tests (for this behaviour and the other
+    behaviour of g_utf8_get_char_validated()).
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=780095
+
+ glib/gutf8.c               |  4 ++++
+ glib/tests/utf8-validate.c | 53
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 57 insertions(+)
+
+commit 428acd9b1486beba186c073577ea659eee44ae0a
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Mon Jun 19 13:57:36 2017 +0100
+
+    tests: Fix overflows in find_maximum_supported_tv_sec()
+
+    The addition (highest_success + lowest_failure) could have overflowed,
+    and typically would do on 32-bit platforms where the real
+    highest_success should be G_MAXLONG. Fix that, and introduce special
+    handling of the corner case of (highest_success = G_MAXLONG).
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=783841
+
+ glib/tests/gdatetime.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+commit 30fed3b906f3408aa4fc9a7996fa03cf7b940ebe
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Fri Jun 16 12:42:32 2017 +0100
+
+    tests: Fix GDateTime overflow tests on 32-bit architectures
+
+    On architectures where sizeof(glong) == 32 bits, there are no problems
+    with overflow when constructing a GDateTime from a GTimeVal. Adjust
+    the
+    test for this by basing it on the maximum supported tv_sec value
+    it can
+    calculate, rather than a fixed ‘known unsupported’ value.
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=783841
+
+ glib/tests/gdatetime.c | 35 +++++++++++++++++++++--------------
+ 1 file changed, 21 insertions(+), 14 deletions(-)
+
+commit 2db7aa479919dc7ae8742f52ad5d54191a7282fd
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Fri Jun 16 12:31:58 2017 +0100
+
+    gdatetime: Fix a potential overflow in overflow calculations
+
+    I can’t remember whether glong (tv.tv_sec) needs to be explicitly
+    promoted to gint64 here, or whether C does it automatically. Safer to
+    make the cast explicit to avoid overflow issues on 32-bit platforms,
+    where glong is 32-bit.
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=783841
+
+ glib/gdatetime.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 18f8b77c04be373fd4f65560519ab0e09596801e
+Author: Philip Withnall <withnall@endlessm.com>
+Date:   Tue Jun 20 14:58:14 2017 +0100
+
+    gio: Use g_strerror() instead of strerror()
+
+    This marginally improves thread safety, and marginally improves
+    consistency.
+
+    Signed-off-by: Philip Withnall <withnall@endlessm.com>
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=733821
+
+ gio/gdbusauthmechanismsha1.c     | 12 ++++++------
+ gio/gdbusmessage.c               |  2 +-
+ gio/gdbusserver.c                |  2 +-
+ gio/gtestdbus.c                  |  4 ++--
+ gio/gunixconnection.c            |  6 +++---
+ gio/tests/gdbus-peer.c           |  2 +-
+ gio/tests/gsubprocess-testprog.c |  2 +-
+ 7 files changed, 15 insertions(+), 15 deletions(-)
+
+commit c8e268bbce70ee05da5a94e424517168a14c7645
+Author: Igor Pashev <pashev.igor@gmail.com>
+Date:   Tue Jun 20 13:38:00 2017 +0000
+
+    Fix detection and usage of strerror_r()
+
+    autoconf provides a macro for this situation, which saves us having to
+    manually work out whether strerror_r() returns a char* or an int.
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=784000
+
+ configure.ac     | 3 ++-
+ glib/gstrfuncs.c | 4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
 commit bb50b70713dbe8b41c8a729ecb90829e451ae335
 Author: Matthias Clasen <mclasen@redhat.com>
 Date:   Mon Jun 19 21:51:09 2017 -0400
diff --git a/INSTALL b/INSTALL
index 6944fe7..0e130b7 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Simple install procedure
 ========================
 
-  % tar xf glib-2.53.3.tar.gz       # unpack the sources
-  % cd glib-2.53.3                  # change to the toplevel directory
+  % tar xf glib-2.53.4.tar.gz       # unpack the sources
+  % cd glib-2.53.4                  # change to the toplevel directory
   % ./configure                             # run the `configure' script
   % make                                    # build GLIB
 
index 008ad58..4e2a36b 100644 (file)
@@ -49,7 +49,6 @@ EXTRA_DIST +=                         \
        glib-tap.mk             \
        tap-driver.sh           \
        tap-test                \
-       makefile.msc            \
        msvc_recommended_pragmas.h \
        config.h.win32.in       \
         po/po2tbl.sed.in        \
index b1bb5ae..5f44c2c 100644 (file)
@@ -439,7 +439,7 @@ am__DIST_COMMON = $(srcdir)/INSTALL.in $(srcdir)/Makefile.in \
        $(srcdir)/gobject-2.0.pc.in $(srcdir)/gthread-2.0.pc.in \
        $(top_srcdir)/glib.mk AUTHORS COPYING ChangeLog INSTALL NEWS \
        README compile config.guess config.sub install-sh ltmain.sh \
-       missing test-driver
+       missing py-compile test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -750,12 +750,11 @@ EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
        glib-zip.in NEWS.pre-1-3 acglib.m4 sanity_check README.commits \
        README.in README.rationale INSTALL.in README.win32 HACKING \
        autogen.sh glib.mk glib-tap.mk tap-driver.sh tap-test \
-       makefile.msc msvc_recommended_pragmas.h config.h.win32.in \
-       po/po2tbl.sed.in glib-2.0.pc.in gobject-2.0.pc.in \
-       gmodule-2.0.pc.in gmodule-export-2.0.pc.in \
-       gmodule-no-export-2.0.pc.in gthread-2.0.pc.in gio-2.0.pc.in \
-       gio-unix-2.0.pc.in gio-windows-2.0.pc.in check-abis.sh \
-       gtk-doc.make $(NULL)
+       msvc_recommended_pragmas.h config.h.win32.in po/po2tbl.sed.in \
+       glib-2.0.pc.in gobject-2.0.pc.in gmodule-2.0.pc.in \
+       gmodule-export-2.0.pc.in gmodule-no-export-2.0.pc.in \
+       gthread-2.0.pc.in gio-2.0.pc.in gio-unix-2.0.pc.in \
+       gio-windows-2.0.pc.in check-abis.sh gtk-doc.make $(NULL)
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
 # will belong in exactly one of the following variables.
diff --git a/NEWS b/NEWS
index bf4f33d..8db2c80 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,37 @@
+Overview of changes in GLib 2.53.4
+==================================
+
+* Unicode support has been updated to Unicode 10.0.0
+
+* glib-genmarshal and glib-mkenums have been rewritten in python.
+  Every effort has been made to keep compatibility. Please report
+  problems related to these tools
+
+* GLib can now be built with meson. autotools are still supported
+
+* Bugs fixed:
+ 722047 drop makefile.msc?
+ 733821 g_strerror() uses strerror(3) instead of strerror_r(3)
+ 773842 g_utf8_find_next_char() won't signal the end of a NUL-terminated string
+ 779332 Rewrite mkenums in Python
+ 780095 g_utf8_get_char_validated() stopping at nul byte even for length specified...
+ 780634 Remove remaining old codepage ABI comapt code
+ 783841 test_GDateTime_new_from_timeval_overflow fails on 32 bit systems
+ 784000 Improve strerror_r() detection
+ 784020 GKeyFile – Add array length annotations to to_data(), get_keys() and get_g...
+ 784037 gio: Mention the ALL_METADATA flag in g_file_copy()
+ 784433 gdbus-codegen with variant type parameters result in nested variant
+ 784456 Update to Unicode 10.0.0
+ 784528 Rewrite glib-genmarshal in Python
+ 784579 Calling g_dir_open on Missing Directory When Executable File Path Contains...
+ 784581 docs: Fix cut'n'paste error in g_resources_get_info() doc
+ 784739 Minor typo in configure error message
+ 784792 Just fixing a little typo in comments
+
+* Translation updates:
+ Hebrew
+
+
 Overview of changes in GLib 2.53.3
 ==================================
 
diff --git a/README b/README
index 45a0755..fa1947a 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 General Information
 ===================
 
-This is GLib version 2.53.3. GLib is the low-level core
+This is GLib version 2.53.4. GLib is the low-level core
 library that forms the basis for projects such as GTK+ and GNOME. It
 provides data structure handling for C, portability wrappers, and
 interfaces for such runtime functionality as an event loop, threads,
index fa6a3a0..83f0c98 100644 (file)
@@ -6,8 +6,7 @@ fashion. Lots of information here might be misleading or outdated. You
 have been warned.\r
 \r
 The general parts, and the section about gcc and autoconfiscated\r
-build, and about a Visual Studio build are by Tor Lillqvist. The\r
-sections about MSVC build with NMAKE is by Hans Breuer. \r
+build, and about a Visual Studio build are by Tor Lillqvist.\r
 \r
 General\r
 =======\r
@@ -201,184 +200,4 @@ $python win32/setup.py --perl path_to_your_perl.exe
 for more usage on this script, run\r
 $python win32/setup.py -h/--help\r
 \r
-Building with MSVC and NMAKE\r
-============================\r
-\r
-If you are building from a GIT snapshot, you will not have all\r
-makefile.msc files. You should copy the corresponding makefile.msc.in\r
-file to that name, and replace any @...@ strings with the correct\r
-value (or use the python script de-in.py from http://hans.breuer.org/gtk/de-in.py).\r
-\r
-This is done automatically when an official GLib source distribution\r
-package is built, so if you get GLib from a source distribution\r
-package, there should be makefile.msc files ready to use (possibly after some\r
-editing).\r
-\r
-The hand-written makefile.msc files, and the stuff in the "build"\r
-subdirectory, produce DLLs and import libraries that match what the\r
-so-called autoconfiscated build produces.\r
-\r
-All the MSVC makefiles are for the command line build with nmake.  If\r
-you want to use the VC-UI you can simply create wrapper .dsp makefiles\r
-(read the VC docs how to do so).\r
-\r
-Some modules may require Perl to auto-generate files. The goal (at\r
-least Hans's) is to not require any more tools. Of course you need\r
-the Microsoft Platform SDK in a recent enough - but not too recent - version.\r
-The last PSDK for Visual Studio 6 is:\r
-  http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm\r
-At least install the Core SDK, maybe also the "Tablet PC SDK".\r
-\r
-\r
-Build with:\r
-\r
-nmake -f makefile.msc\r
-  or\r
-nmake -f makefile.msc DEBUG=1\r
-\r
-[\r
- The former will create 'release' versions of the DLLs. If you\r
- plan to distribute you DLLs please use this command. The latter \r
- will create DLLs with debug information _and_ link them with\r
- msvcrtd.dll instead of msvcrt.dll. \r
- Beware: There are known problems with mixing DLLs in one \r
- application, which are build against different runtimes. \r
- Especially the index-to-file mapping used by 'unix-style' file\r
- operation - _open() _pipe() etc. - breaks sometimes in strange \r
- ways (for example the Gimp plug-in communication).\r
-]\r
-\r
-Required libraries (not build from svn)\r
-------------------\r
-  libintl (gnu-intl),\r
-\r
-are available pre-built from the website mentioned above.\r
-\r
-Versioning\r
-----------\r
-Instead of the Unix and auto* way of tracking versions and resolving\r
-dependencies (configure; make; make install) involving autoconf,\r
-automake, libtool and friends the MSVC build uses a different\r
-approach.\r
-\r
-The core of it's versioning is the file build/win32/module.defs.\r
-It contains entries of the form MODULE_VER, e.g.:\r
-\r
-       GLIB_VER = 2.0\r
-       LIBICONV_VER = 1.3\r
-\r
-and the placement of these modules defined as MODULE, e.g.:\r
-\r
-       GLIB = $(TOP)/glib\r
-       LIBICONV = $(TOP)/libiconv-$(LIBICONV_VER)\r
-\r
-whereas TOP is defined as the relative path from the respective\r
-module directory to your top build directory. Every makefile.msc\r
-needs to define TOP before including the common make file part\r
-make.msc, which than includes module.defs, like:\r
-\r
-TOP = ../..\r
-!INCLUDE $(TOP)/glib/build/win32/make.msc\r
-\r
-(Taken from gtk+/gdk/makefile.msc)\r
-\r
-With this provision it is possible to create almost placement\r
-independent makefiles without requiring to 'install' the libraries and\r
-headers into a common place (as it is done on Unix, and as Tor does\r
-when producing his zipfiles with prebuilt GLib, GTK+ etc).\r
-\r
-Special Files\r
--------------\r
-       config.h.win32.in : @XXX_MAJOR_VERSION@ needs to be replaced by\r
-the current version/build number. The resulting file is to be saved\r
-as 'config.h.win32'. This should be automatically done if a package\r
-gets build on the Unix platform.\r
-\r
-       makefile.msc.in : @XXX_MAJOR_VERSION@ to be replaced. Save as\r
-makefile.msc.\r
-\r
-       <module>.def : every function which should be used from the outside of\r
-a dll needs to be marked for 'export'. It is common that one needs to change \r
-these files after some api changes occured. If there are variables to be\r
-exported another mechanism is needed, like :\r
-\r
-       #ifdef G_OS_WIN32\r
-       #  ifdef GDK_COMPILATION\r
-       #    define GDKVAR __declspec(dllexport)\r
-       #  else\r
-       #    define GDKVAR extern __declspec(dllimport)\r
-       #  endif\r
-       #else\r
-       #  define GDKVAR extern\r
-       #endif\r
-\r
-\r
-\r
-Directory Structure\r
--------------------\r
-all modules should be build in a common directory tree otherwise you \r
-need to adapt the file 'module.defs'. They are listed here in increasing\r
-dependencies order.\r
-\r
-<common rootdir without spaces>\r
-  |\r
-  +- glib\r
-  |   |\r
-  |   +- build          : [this module lives in the SVN root dir]\r
-  |   |   +- win32\r
-  |   |       .\module.defs : defines (relative) locations of the headers\r
-  |   |                       and libs and version numbers to be include \r
-  |   |                       in dll names\r
-  |   |       .\make.msc    : include by almost every 'makefile.msc'\r
-  |   |\r
-  |   | .\README.WIN32  : more information how to build\r
-  |   | .\glibconfig.h.win32.in : similar to config.h.win32.in\r
-  |   | .\makefile.msc  : master makefile, sub dir makefiles should work \r
-  |   |\r
-  |   +- glib\r
-  |   +- gmodule\r
-  |   +- gthread        : does _not_ depend on pthread anymore\r
-  |   +- gobject\r
-  |\r
-  +- pango\r
-  |   +- pango          : 'native' build does not require extra libs and\r
-  |   |                 includes the minimal required text renderer\r
-  |   |                 (there is also a currently slightly broken FreeType2 \r
-  |   |                 based implementation for win32)\r
-  |   +- modules (not yet build)\r
-  |\r
-  +- atk\r
-  |   +- atk\r
-  |       .\makefile.msc : build here\r
-  |\r
-  +- gtk+\r
-  |   | .\config.h.win32 : for all the below\r
-  |   |\r
-  |   +- gdk-pixbuf\r
-  |   |   .\gdk_pixbuf.rc.in : version resource for the DLLs. Needs\r
-  |   |                 to be converted (filled with version info)\r
-  |   |                 as described above.\r
-  |   |\r
-  |   +- gdk\r
-  |   |   | .\makefile.msc : some auto-generation is needed to build in the\r
-  |   |   |             in the subdirectory \r
-  |   |   +- win32\r
-  |   |\r
-  |   +- gtk\r
-\r
-  |\r
-  +- gimp\r
-  |   .\makefile.msc    : master makefile to build The Gimp. The makefiles\r
-  |                     from the sub dirs should work stand alone, but than\r
-  |                     the user needs to know the build order\r
-\r
-  |\r
-  +- dia                : additionally depends on libart_lgpl (in SVN)\r
-      |                 and libxml2 ( see http://www.xmlsoft.org/ )\r
-      +- lib\r
-      +- app\r
-      +- objects\r
-      +- plug-ins\r
-          +- python\r
-\r
 [1]: https://wiki.gnome.org/Projects/GTK%2B/Win32/MSVCCompilationOfGTKStack under "Preparations"\r
index 2f701b0..4b79513 100644 (file)
@@ -1,6 +1,2 @@
 SUBDIRS =      \
        dirent
-
-EXTRA_DIST =           \
-       make.msc        \
-       module.defs
index 916491b..05fe816 100644 (file)
@@ -439,10 +439,6 @@ top_srcdir = @top_srcdir@
 SUBDIRS = \
        dirent
 
-EXTRA_DIST = \
-       make.msc        \
-       module.defs
-
 all: all-recursive
 
 .SUFFIXES:
index 87b5216..d146efe 100644 (file)
@@ -3,7 +3,6 @@ EXTRA_DIST = \
        dirent.c \
        dirent.h \
        wdirent.c \
-       makefile.msc \
        dirent-zip
 
 
index deb2ef8..d3b9826 100644 (file)
@@ -381,7 +381,6 @@ EXTRA_DIST = \
        dirent.c \
        dirent.h \
        wdirent.c \
-       makefile.msc \
        dirent-zip
 
 all: all-am
diff --git a/build/win32/dirent/makefile.msc b/build/win32/dirent/makefile.msc
deleted file mode 100644 (file)
index 00f2e34..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-TOP = ..\..\..\..
-
-!INCLUDE $(TOP)\glib\build\win32\make.msc
-
-dirent_OBJECTS = dirent.obj wdirent.obj
-
-INCLUDES = -I.
-
-all : dirent.lib
-
-dirent.lib : $(dirent_OBJECTS)
-       lib /out:dirent.lib /nodefaultlib $(dirent_OBJECTS)
-
-clean::
-       del /f $(dirent_OBJECTS)
-       del /f dirent.lib
diff --git a/build/win32/make.msc b/build/win32/make.msc
deleted file mode 100644 (file)
index 3b534ea..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-# Note that this file is hardly maintained, hardly usable without
-# manual editing, and not really part of a recommended way to build
-# GLib and related software with Microsoft's compilers. Only a few
-# persons use a build setup that involves this file.
-
-# Common makefile definitions for building GLib, GTk+, and various
-# software that use these libraries with msvc on Win32
-
-# Debug builds shoud link with msvcrtd release build with msvcrt.
-!IFNDEF DEBUG
-# Full optimization:
-OPTIMIZE = -Ox
-# release with debug
-OPTIMIZE = -Zi -DG_ENABLE_DEBUG=1
-CRUNTIME = -MD
-LINKDEBUG = /OPT:REF
-!ELSE
-# Debugging:
-OPTIMIZE = 
-CRUNTIME = -MDd
-DEBUGINFO = -Zi -DG_ENABLE_DEBUG=1
-LINKDEBUG = /debug /nodefaultlib:msvcrt.lib
-!ENDIF
-
-LDFLAGS = /link /machine:ix86 $(LINKDEBUG)
-
-!IFNDEF TOP
-TOP = ..
-!ENDIF
-
-!IFNDEF PERL
-PERL = perl
-!ENDIF
-
-XSLTPROC = d:\gnome-0\xsltproc
-
-# paths and version numbers
-!INCLUDE $(TOP)\glib\build\win32\module.defs
-
-################
-# CFLAGS and LIBS for the packages in module.defs.
-# In alphabetical order.
-
-# Note that these CFLAGS and LIBS refer to stuff in "source"
-# directories. This is for historical reasons, and only useable if you
-# have the GLib, Pango, etc sources. If you use the prebuilt developer
-# packages, you should fix these to instead refer to the place where
-# you unzipped the developer packages. Easiest of all, run pkg-config
-# --cflags gtk+-2.0 (for instance), and paste its output as the
-# definition of GTK2_CFLAGS. Etc.
-
-ATK_CFLAGS = -I $(ATK)
-ATK_LIBS = $(ATK)\atk\atk-$(ATK_VER).lib
-BABL_CFLAGS = -I $(BABL)
-BABL_LIBS = $(BABL)\babl\babl-1.0.lib
-
-# force inclusion of the _right_ cairoversion.h even when using without installation 
-CAIRO_CFLAGS = -FI $(CAIRO)\cairo-version.h -I $(CAIRO)\src -I $(CAIRO)
-CAIRO_LIBS = $(CAIRO)\src\libcairo.lib
-
-DIRENT_CFLAGS = -I $(GLIB)\build\win32\dirent
-DIRENT_LIBS = $(GLIB)\build\win32\dirent\dirent.lib
-
-!IFNDEF EXIF
-EXIF_CFLAGS = -I $(DEVTOP)\include 
-EXIF_LIBS = $(DEVTOP)\lib\exif.lib
-EXIF = 1
-!ENDIF
-
-# Don't know if Freetype2, FriBiDi and some others actually can be
-# built with MSVC, but one can produce an import library even if the
-# DLL was built with gcc.
-!IFDEF FREETYPE2
-FREETYPE2_CFLAGS = -I $(FREETYPE2)\include
-FREETYPE2_LIBS = $(FREETYPE2)\obj\freetype-$(FREETYPE2_VER).lib
-!ELSE
-FREETYPE2_CFLAGS = -I $(DEVTOP)\include -I $(DEVTOP)\include\freetype2
-FREETYPE2_LIBS = $(DEVTOP)\lib\freetype6.lib
-!ENDIF
-
-!IFNDEF FONTCONFIG
-FONTCONFIG_CFLAGS = -I $(DEVTOP)\include
-FONTCONFIG_LIBS = $(DEVTOP)\lib\fontconfig.lib
-!ENDIF
-
-GDK_PIXBUF_CFLAGS = -I $(GDK_PIXBUF)
-GDK_PIXBUF_LIBS = $(GTK2)\gdk-pixbuf\gdk_pixbuf-$(GDK_PIXBUF_VER).lib
-
-GIMP_CFLAGS = -I $(GIMP)
-GIMP_PLUGIN_LIBS = $(GIMP)\libgimp\gimp-$(GIMP_VER).lib $(GIMP)\libgimp\gimpui-$(GIMP_VER).lib
-
-# overide definition to use it as callable path
-GLIB = $(TOP)\glib
-
-GLIB_CFLAGS = -I $(GLIB) -I $(GLIB)\glib -I $(GLIB)\gmodule $(INTL_CFLAGS)
-GLIB_LIBS = $(GLIB)\glib\glib-$(GLIB_VER).lib $(GLIB)\gmodule\gmodule-$(GLIB_VER).lib $(GLIB)\gobject\gobject-$(GLIB_VER).lib $(GLIB)\gio\gio-$(GLIB_VER).lib
-GTHREAD_LIBS = $(GLIB)\gthread\gthread-$(GLIB_VER).lib
-
-!IFNDEF GDK_PIXBUF
-GDK_PIXBUF_CFLAGS = $(GTK2_CFLAGS)
-GDK_PIXBUF_LIBS = $(GTK2_LIBS)
-!ENDIF
-
-GNOMECANVAS_CFLAGS = -I $(GNOMECANVAS)
-GNOMECANVAS_LIBS = $(GNOMECANVAS)\libgnomecanvas\libgnomecanvas-$(GNOMECANVAS_VER).lib
-
-GNOMEPRINT_CFLAGS = -I $(GNOMEPRINT)
-GNOMEPRINT_LIBS = $(GNOMEPRINT)\libgnomeprint\gnome-print-$(GNOMEPRINT_VER).lib
-
-GNOMEPRINTUI_CFLAGS = -I $(GNOMEPRINTUI)
-GNOMEPRINTUI_LIBS = $(GNOMEPRINTUI)\libgnomeprintui\gnome-printui-$(GNOMEPRINTUI_VER).lib
-
-GTK_CFLAGS = -I$(GTK)\gdk -I$(GTK)\gdk -I$(GTK) 
-GTK_LIBS = $(GTK)\gtk\gtk.lib $(GTK)\gdk\gdk.lib 
-
-GTK2_CFLAGS = $(GLIB_CFLAGS) $(ATK_CFLAGS) -I$(GTK2)\gdk -I$(GTK2)\gdk -I$(GTK2) -I$(PANGO) -I$(ATK) $(CAIRO_CFLAGS)
-GTK2_LIBS = $(GTK2)\gtk\gtk-win32-$(GTK2_VER).lib $(GTK2)\gdk\gdk-win32-$(GTK2_VER).lib $(GTK2)\gdk-pixbuf\gdk_pixbuf-$(GTK2_VER).lib $(PANGO_LIBS)
-
-GTKGLAREA_CFLAGS = -I $(GTKGLAREA)
-GTKGLAREA_LIBS = $(GTKGLAREA)\gtkgl\gtkgl-$(GTKGLAREA_VER).lib
-
-GTKSOURCEVIEW_CFLAGS = -I $(GTKSOURCEVIEW)
-GTKSOURCEVIEW_LIBS = $(GTKSOURCEVIEW)\gtksourceview\gtksourceview.lib
-
-LIBART_CFLAGS = -I$(LIBART)\.. -FIlibart_lgpl/art_config.h
-LIBART_LIBS = $(LIBART)\art_lgpl_2.lib
-
-!IFNDEF INTL
-INTL_CFLAGS = -I $(DEVTOP)\include
-INTL_LIBS = $(DEVTOP)\lib\intl.lib 
-!ELSE
-INTL_CFLAGS = -I $(INTL)
-INTL_LIBS = $(INTL)\intl.lib 
-!ENDIF
-
-!IFDEF LCMS
-LCMS_CFLAGS = -DLCMS_DLL -I $(LCMS)\include
-LCMS_LIBS = $(LCMS)\Projects\VC6\Release\lcms.lib 
-!ENDIF
-
-LIBICONV_CFLAGS = -I $(LIBICONV)\include
-LIBICONV_LIBS = $(LIBICONV)\lib\iconv.lib
-
-LIBXML_CFLAGS = -I $(LIBXML)
-LIBXML_LIBS = $(LIBXML)\xml-$(LIBXML_VER).lib
-
-LIBXML2_CFLAGS = $(LIBICONV_CFLAGS) -I $(LIBXML2)\include
-LIBXML2_LIBS = $(LIBXML2)\libxml2.lib
-
-LIBXSLT_CFLAGS = -I $(LIBXSLT)
-LIBXSLT_LIBS = $(LIBXSLT)\libxslt\libxslt.lib
-
-LCMS_CFLAGS = -I $(LCMS)\include -DLCMS_DLL
-LCMS_LIBS = $(LCMS)\Projects\VC6\Release\lcms.lib
-
-!IFNDEF JPEG
-JPEG_CFLAGS = -I $(DEVTOP)\include
-JPEG_LIBS = $(DEVTOP)\lib\jpeg.lib
-!ELSE
-JPEG_CFLAGS = -I $(JPEG)
-JPEG_LIBS = $(JPEG)\libjpeg.lib
-!ENDIF
-
-OPENGL_CFLAGS = # None needed, headers bundled with the compiler
-OPENGL_LIBS = opengl32.lib lglu32.lib
-
-PANGO_CFLAGS = -I $(PANGO)
-PANGO_LIBS = $(PANGO)\pango\pango-$(PANGO_VER).lib
-PANGOCAIRO_LIBS = $(PANGO_LIBS) $(PANGO)\pango\pangocairo-$(PANGO_VER).lib
-PANGOWIN32_LIBS = $(PANGO_LIBS) $(PANGO)\pango\pangowin32-$(PANGO_VER).lib
-PANGOFT2_LIBS = $(PANGO_LIBS) $(PANGO)\pango\pangoft2-$(PANGO_VER).lib
-
-!IFDEF PNG
-PNG_CFLAGS = -I $(PNG) $(ZLIB_CFLAGS)
-PNG_LIBS = $(PNG)\projects\visualc6\Win32_LIB_Release\libpng.lib  $(ZLIB_LIBS)
-!ELSE
-PNG_CFLAGS = -I $(DEVTOP)\include $(ZLIB_CFLAGS)
-PNG_LIBS = $(DEVTOP)\lib\libpng.lib  $(ZLIB_LIBS)
-!ENDIF
-
-RSVG_CFLAGS = -I $(RSVG)\..
-RSVG_LIBS = $(RSVG)\librsvg-2.lib
-
-SVG_CFLAGS = -I $(SVG)\src
-SVG_LIBS = $(SVG)\src\libsvg-$(SVG_VER).lib
-
-!IFDEF TIFF
-TIFF_CFLAGS = -I $(TIFF)\libtiff
-# Use single import library for both libtiff DLL versions (with or
-# without LZW code). The user selects which DLL to use.
-TIFF_LIBS = $(TIFF)\libtiff\libtiff.lib $(JPEG_LIBS) $(ZLIB_LIBS) user32.lib
-!ELSE
-TIFF_CFLAGS = -I $(DEVTOP)\include
-TIFF_LIBS = $(DEVTOP)\lib\libtiff.lib
-!ENDIF
-
-VIPS_CFLAGS = -I $(VIPS)/include
-VIPS_LIBS = $(VIPS)/libsrc/vips.lib
-
-!IFDEF ZLIB
-ZLIB_CFLAGS = -I $(ZLIB)
-ZLIB_LIBS = $(ZLIB)\projects\visualc6\Win32_LIB_Release\zlib.lib
-!ELSE
-ZLIB_CFLAGS = -I $(DEVTOP)\include
-ZLIB_LIBS = $(DEVTOP)\lib\zdll.lib
-!ENDIF
-
-################
-# Compiler to use.
-
-CCOMPILER = cl
-CC = $(CCOMPILER) $(OPTIMIZE) $(CRUNTIME) -W3 -nologo
-
-################
-# The including makefile should define INCLUDES, DEFINES and
-# DEPCFLAGS.  INCLUDES are the includes related to the module being
-# built.  DEFINES similarly. DEPCFLAGS should be set to a set of
-# GLIB_CFLAGS, GTK_CFLAGS etc corresponding to what other modules we
-# depend on.
-
-CFLAGS = $(OPTIMIZE) $(DEBUGINFO) $(INCLUDES) $(DEFINES) $(DEPCFLAGS)
-# make cl/wcl386 compatible (c99 and cdecl)
-#OPTIMIZE = -Ox
-#CFLAGS = /passwopts:-za99 /passwopts:-ecc $(DEBUGINFO) $(INCLUDES) $(DEFINES) $(DEPCFLAGS)
-.c.i :
-       $(CC) $(CFLAGS) -E $< >$@
-
-# The default target should be "all"
-
-default: all
-
-clean::
-       -del *.obj *.res *.i *.exe *.dll *.lib *.err *.map *.exp *.lk1 *.mk1 *.ilk *.manifest
-       -del *.pdb
-
-# Needed by hacker rule to make makefile.msc from makefile.msc.in:
-SED = e:\cygwin\bin\sed
diff --git a/build/win32/module.defs b/build/win32/module.defs
deleted file mode 100644 (file)
index 1745c62..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-# Note that this file is hardly maintained, hardly usable without
-# manual editing, and not really part of a recommended way to build
-# GLib and related software with Microsoft's compilers. Only a few
-# persons use a build setup that involves this file.
-
-# This file is included by makefiles for both GNU Make (for gcc
-# (mingw) builds, and NMAKE (for MSVC builds).
-
-MODULE_DEFS_INCLUDED=1
-
-# fallback if a specifc library is not contained in TOP (i.e. not self-compiled)
-DEVTOP=$(TOP)\..\other\dev
-
-################
-# The version macros define what versions of libraries to use.
-
-# The version numbers are defined unconditionally. If you want to
-# produce a newer version of one of these libraries, the new number
-# should be defined in the specific project makefile _after_ including
-# this file (or make.{mingw,msc}). These version numbers are used in
-# the names of some import libraries. 
-
-# Please note that there are two (or three) ways to build the GLib
-# (and GTK+ etc) libraries on Win32: Either using the same
-# auto*/configure mechanism to generate makefiles as on Unix, and
-# libtool to handle DLL creation. This currently only works for gcc,
-# and even then it is hellish to set up to work 100% correctly. For
-# people using that, this file is totally irrelevant.
-
-# Or, use hand-written makefiles, either for MSVC (these are called
-# makefile.msc and maintained by Hans Breuer), or for gcc
-# (makefile.mingw, by Tor Lillqvist). Only for GLib are the
-# makefile.mingw files believed to be up-to-date, for other modules
-# they have been left to rot after Tor started using the
-# autoconfiscated way of building.
-
-# The stuff here uses the same name for (import) libraries as on Unix,
-# as libtool uses those, and the semi-official developer packages are
-# built using libtool.
-
-ATK_VER = 1.0
-CAIRO_VER = 1.4
-FREETYPE2_VER = 2.0
-GIMP_VER = 1.2
-GDK_PIXBUF_VER = 2.0
-GLIB_VER = 2.0
-GTKGLAREA_VER = 1.2.2
-GTK2_VER = 2.0
-LIBGLADE_VER = 0.14
-LIBICONV_VER = 1.7
-LIBXML_VER = 1.8.7
-LIBXML2_VER = 2.4.2
-PANGO_VER = 1.0
-POPT_VER = 1.4
-SVG_VER = 0.1
-RSVG_VER = 2.4
-
-################
-# Locations of various source directories. TOP is defined in make.{mingw,msc}
-
-# First stuff that is in the GNOME CVS repository.
-# In alphabetical order.
-
-ATK = $(TOP)/atk
-BABL = $(TOP)/babl
-CAIRO = d:\devel\from-svn\other\cairo-1.8.4
-GIMP = $(TOP)/gimp
-GEGL = $(TOP)/gegl
-GLIB = $(TOP)/glib
-GNOMECANVAS = $(TOP)\libgnomecanvas
-GNOMECANVAS_VER = 2.9
-
-# GTK+ 1.3.0, gtk-1-3-win32-production branch. Rename directory
-# to gtk+p after initial checkout from CVS.
-GTK = $(TOP)/gtk+p
-# GTK+ 2.0
-GTK2 = $(TOP)/gtk+
-GTKSOURCEVIEW = $(TOP)/gtksourceview
-GNOMEPRINT = $(TOP)\libgnomeprint
-GNOMEPRINT_VER = 2.8
-LIBGLADE = $(TOP)/libglade
-LIBXML = $(TOP)/libxml-$(LIBXML_VER)
-LIBXML2 = $(TOP)/libxml2
-#PANGO = $(TOP)/pango-1-8
-PANGO = $(TOP)/pango
-
-GNOMEPRINTUI = $(TOP)\libgnomeprintui
-GNOMEPRINTUI_VER = 2.2
-
-# Aux programs
-GLIB_GENMARSHAL = $(GLIB)/gobject/glib-genmarshal
-
-# Stuff from other places.
-
-# Note this was is specific to what tml happened to have on his disk
-# at some time in history. To really be able to recompile something
-# that uses for instance libjpeg, you should download a suitable
-# binary "developer" distribution of it, unpack it into some location,
-# and edit this file correspondingly. You should not take the versions
-# mentioned here too literally, use the latest version you can find,
-# or the ones the current GTK+ 2.0 for Windows uses.
-
-#FREETYPE2 = $(TOP)/freetype2
-GTKEXTRA = $(TOP)/gtk+extra
-GTKGLAREA = $(TOP)/gtkglarea
-#INTL = d:/devel/from-svn/other/intl-tml
-JPEG = d:/devel/from-svn/other/jpeg-6b
-LCMS = d:/devel/other/lcms-1.15
-LIBART = $(TOP)/libart_lgpl
-LIBICONV = $(TOP)/libiconv-$(LIBICONV_VER)
-LIBXSLT = $(TOP)/libxslt
-#PNG = d:/devel/from-svn/other/lpng1224
-RSVG = $(TOP)\librsvg
-SVG = $(TOP)\libsvg
-#TIFF = d:/devel/from-svn/other/tiff-3.7.2
-#ZLIB = d:/devel/from-svn/other/zlib123
-
-# Headers from Microsoft's PlatformSDK (that aren't present in
-# mingw) are needed by a just a few packages when compiling with gcc.
-# This is just where tml has it installed.
-PLATFORMSDK = i:/src/psdk
-
-# 
-WTKIT = d:/devel/from-svn/other\wtkit126
index ff57916..a7881ca 100644 (file)
 /* Define to 1 if you have the `dcgettext' function. */
 #undef HAVE_DCGETTEXT
 
+/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRERROR_R
+
 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
    */
 #undef HAVE_DIRENT_H
 /* Define to 1 if you have the `getmntent_r' function. */
 #undef HAVE_GETMNTENT_R
 
-/* Define to 1 if you have the `getprotobyname_r' function. */
-#undef HAVE_GETPROTOBYNAME_R
-
 /* Define to 1 if you have the `getpwuid_r' function. */
 #undef HAVE_GETPWUID_R
 
 /* Define to 1 if you have the `memalign' function. */
 #undef HAVE_MEMALIGN
 
-/* Define to 1 if you have the `memmem' function. */
-#undef HAVE_MEMMEM
-
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
+/* Define to 1 if strerror_r returns char *. */
+#undef STRERROR_R_CHAR_P
+
 /* Use no threads */
 #undef THREADS_NONE
 
index 2a134b4..f7314e5 100644 (file)
@@ -38,7 +38,7 @@
 #define GETTEXT_PACKAGE "glib20"
 
 /* Define to the GLIB binary age */
-#define GLIB_BINARY_AGE 5303
+#define GLIB_BINARY_AGE 5304
 
 /* Define to the GLIB interface age */
 #define GLIB_INTERFACE_AGE 0
@@ -50,7 +50,7 @@
 #define GLIB_MAJOR_VERSION 2
 
 /* Define to the GLIB micro version */
-#define GLIB_MICRO_VERSION 3
+#define GLIB_MICRO_VERSION 4
 
 /* Define to the GLIB minor version */
 #define GLIB_MINOR_VERSION 53
 #define PACKAGE_NAME "glib"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "glib 2.53.3"
+#define PACKAGE_STRING "glib 2.53.4"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "glib"
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.53.3"
+#define PACKAGE_VERSION "2.53.4"
 
 /* define if posix_memalign() can allocate any size */
 /* #undef POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS */
index 45941c4..70a6fed 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for glib 2.53.3.
+# Generated by GNU Autoconf 2.69 for glib 2.53.4.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=glib>.
 #
@@ -591,8 +591,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='glib'
 PACKAGE_TARNAME='glib'
-PACKAGE_VERSION='2.53.3'
-PACKAGE_STRING='glib 2.53.3'
+PACKAGE_VERSION='2.53.4'
+PACKAGE_STRING='glib 2.53.4'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=glib'
 PACKAGE_URL=''
 
@@ -1589,7 +1589,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures glib 2.53.3 to adapt to many kinds of systems.
+\`configure' configures glib 2.53.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1659,7 +1659,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of glib 2.53.3:";;
+     short | recursive ) echo "Configuration of glib 2.53.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1850,7 +1850,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-glib configure 2.53.3
+glib configure 2.53.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2391,6 +2391,52 @@ $as_echo "$ac_res" >&6; }
 
 } # ac_fn_c_check_type
 
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
+
 # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
 # --------------------------------------------
 # Tries to find the compile-time value of EXPR in a program that includes
@@ -2630,57 +2676,11 @@ $as_echo "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_member
-
-# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
-# ---------------------------------------------
-# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly.
-ac_fn_c_check_decl ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  as_decl_name=`echo $2|sed 's/ *(.*//'`
-  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-#ifndef $as_decl_name
-#ifdef __cplusplus
-  (void) $as_decl_use;
-#else
-  (void) $as_decl_name;
-#endif
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_decl
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by glib $as_me 2.53.3, which was
+It was created by glib $as_me 2.53.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3552,7 +3552,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='glib'
- VERSION='2.53.3'
+ VERSION='2.53.4'
 
 
 # Some tools Automake needs.
@@ -3821,10 +3821,10 @@ AM_BACKSLASH='\'
 
 GLIB_MAJOR_VERSION=2
 GLIB_MINOR_VERSION=53
-GLIB_MICRO_VERSION=3
+GLIB_MICRO_VERSION=4
 GLIB_INTERFACE_AGE=0
-GLIB_BINARY_AGE=5303
-GLIB_VERSION=2.53.3
+GLIB_BINARY_AGE=5304
+GLIB_VERSION=2.53.4
 
 
 
@@ -3840,20 +3840,20 @@ $as_echo "#define GLIB_MAJOR_VERSION 2" >>confdefs.h
 $as_echo "#define GLIB_MINOR_VERSION 53" >>confdefs.h
 
 
-$as_echo "#define GLIB_MICRO_VERSION 3" >>confdefs.h
+$as_echo "#define GLIB_MICRO_VERSION 4" >>confdefs.h
 
 
 $as_echo "#define GLIB_INTERFACE_AGE 0" >>confdefs.h
 
 
-$as_echo "#define GLIB_BINARY_AGE 5303" >>confdefs.h
+$as_echo "#define GLIB_BINARY_AGE 5304" >>confdefs.h
 
 
 # libtool versioning
 LT_RELEASE=2.53
-LT_CURRENT=5303
+LT_CURRENT=5304
 LT_REVISION=0
-LT_AGE=5303
+LT_AGE=5304
 LT_CURRENT_MINUS_AGE=0
 
 
@@ -8784,7 +8784,7 @@ $as_echo "$LINGUAS" >&6; }
 if test "$gt_cv_have_gettext" != "yes" ; then
   as_fn_error $? "
 *** You must have either have gettext support in your C library, or use the
-*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
+*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html)
 " "$LINENO" 5
 fi
 
@@ -20463,7 +20463,7 @@ Usage: $0 [OPTIONS]
 Report bugs to <bug-libtool@gnu.org>."
 
 lt_cl_version="\
-glib config.lt 2.53.3
+glib config.lt 2.53.4
 configured by $0, generated by GNU Autoconf 2.69.
 
 Copyright (C) 2011 Free Software Foundation, Inc.
@@ -21848,7 +21848,7 @@ _ACEOF
 fi
 done
 
-for ac_func in timegm gmtime_r strerror_r
+for ac_func in timegm gmtime_r
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -21860,6 +21860,98 @@ _ACEOF
 fi
 done
 
+ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strerror_r" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRERROR_R $ac_have_decl
+_ACEOF
+
+for ac_func in strerror_r
+do :
+  ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
+if test "x$ac_cv_func_strerror_r" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STRERROR_R 1
+_ACEOF
+
+fi
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
+$as_echo_n "checking whether strerror_r returns char *... " >&6; }
+if ${ac_cv_func_strerror_r_char_p+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+    ac_cv_func_strerror_r_char_p=no
+    if test $ac_cv_have_decl_strerror_r = yes; then
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+         char buf[100];
+         char x = *strerror_r (0, buf, sizeof buf);
+         char *p = strerror_r (0, buf, sizeof buf);
+         return !p || x;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_func_strerror_r_char_p=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    else
+      # strerror_r is not declared.  Choose between
+      # systems that have relatively inaccessible declarations for the
+      # function.  BeOS and DEC UNIX 4.0 fall in this category, but the
+      # former has a strerror_r that returns char*, while the latter
+      # has a strerror_r that returns `int'.
+      # This test should segfault on the DEC system.
+      if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+       extern char *strerror_r ();
+int
+main ()
+{
+char buf[100];
+         char x = *strerror_r (0, buf, sizeof buf);
+         return ! isalpha (x);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_func_strerror_r_char_p=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
+$as_echo "$ac_cv_func_strerror_r_char_p" >&6; }
+if test $ac_cv_func_strerror_r_char_p = yes; then
+
+$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h
+
+fi
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __libc_enable_secure" >&5
 $as_echo_n "checking for __libc_enable_secure... " >&6; }
@@ -23798,7 +23890,7 @@ fi
 $as_echo "$glib_ssize_type" >&6; }
 
 # Check for some functions
-for ac_func in lstat strsignal vsnprintf stpcpy strcasecmp strncasecmp poll vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk memmem
+for ac_func in lstat strsignal vsnprintf stpcpy strcasecmp strncasecmp poll vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -24079,7 +24171,7 @@ if $glib_failed ; then
   as_fn_error $? "Could not determine values for MSG_* constants" "$LINENO" 5
 fi
 
-for ac_func in getprotobyname_r endservent if_nametoindex if_indextoname sendmmsg recvmmsg
+for ac_func in endservent if_nametoindex if_indextoname sendmmsg recvmmsg
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -27440,7 +27532,7 @@ volatile int atomic = 2;\
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  as_fn_error $? "GLib must be build with -march=i486 or later." "$LINENO" 5
+  as_fn_error $? "GLib must be built with -march=i486 or later." "$LINENO" 5
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
@@ -29464,7 +29556,7 @@ gio_INCLUDES='$(gmodule_INCLUDES)'
 
 
 
-ac_config_files="$ac_config_files glib-2.0.pc gmodule-2.0.pc gmodule-export-2.0.pc gmodule-no-export-2.0.pc gthread-2.0.pc gobject-2.0.pc gio-2.0.pc gio-unix-2.0.pc gio-windows-2.0.pc glib-zip glib-gettextize Makefile build/Makefile build/win32/Makefile build/win32/dirent/Makefile win32/Makefile win32/vs9/Makefile win32/vs9/glib-version-paths.vsprops win32/vs10/Makefile win32/vs10/glib-version-paths.props win32/vs11/Makefile win32/vs12/Makefile win32/vs14/Makefile win32/vs15/Makefile glib/Makefile glib/libcharset/Makefile glib/gnulib/Makefile glib/pcre/Makefile glib/update-pcre/Makefile glib/tests/Makefile gmodule/Makefile gmodule/gmoduleconf.h gobject/Makefile gobject/glib-mkenums gobject/tests/Makefile gthread/Makefile gio/Makefile gio/gdbus-2.0/codegen/Makefile gio/gdbus-2.0/codegen/config.py gio/gnetworking.h gio/xdgmime/Makefile gio/inotify/Makefile gio/kqueue/Makefile gio/fam/Makefile gio/win32/Makefile gio/tests/Makefile gio/tests/gdbus-object-manager-example/Makefile gio/tests/services/Makefile gio/tests/services/org.gtk.GDBus.Examples.ObjectManager.service gio/tests/modules/Makefile po/Makefile.in docs/Makefile docs/reference/Makefile docs/reference/glib/Makefile docs/reference/glib/version.xml docs/reference/gobject/Makefile docs/reference/gobject/version.xml docs/reference/gio/Makefile docs/reference/gio/version.xml tests/Makefile tests/gobject/Makefile tests/refcount/Makefile m4macros/Makefile"
+ac_config_files="$ac_config_files glib-2.0.pc gmodule-2.0.pc gmodule-export-2.0.pc gmodule-no-export-2.0.pc gthread-2.0.pc gobject-2.0.pc gio-2.0.pc gio-unix-2.0.pc gio-windows-2.0.pc glib-zip glib-gettextize Makefile build/Makefile build/win32/Makefile build/win32/dirent/Makefile win32/Makefile win32/vs9/Makefile win32/vs9/glib-version-paths.vsprops win32/vs10/Makefile win32/vs10/glib-version-paths.props win32/vs11/Makefile win32/vs12/Makefile win32/vs14/Makefile win32/vs15/Makefile glib/Makefile glib/libcharset/Makefile glib/gnulib/Makefile glib/pcre/Makefile glib/update-pcre/Makefile glib/tests/Makefile gmodule/Makefile gmodule/gmoduleconf.h gobject/Makefile gobject/glib-genmarshal gobject/glib-mkenums gobject/tests/Makefile gthread/Makefile gio/Makefile gio/gdbus-2.0/codegen/Makefile gio/gdbus-2.0/codegen/config.py gio/gnetworking.h gio/xdgmime/Makefile gio/inotify/Makefile gio/kqueue/Makefile gio/fam/Makefile gio/win32/Makefile gio/tests/Makefile gio/tests/gdbus-object-manager-example/Makefile gio/tests/services/Makefile gio/tests/services/org.gtk.GDBus.Examples.ObjectManager.service gio/tests/modules/Makefile po/Makefile.in docs/Makefile docs/reference/Makefile docs/reference/glib/Makefile docs/reference/glib/version.xml docs/reference/gobject/Makefile docs/reference/gobject/version.xml docs/reference/gio/Makefile docs/reference/gio/version.xml tests/Makefile tests/gobject/Makefile tests/refcount/Makefile m4macros/Makefile"
 
 
 ac_config_commands="$ac_config_commands chmod-scripts"
@@ -29474,7 +29566,7 @@ ac_config_commands="$ac_config_commands chmod-scripts"
 # and automake generated makefiles know about these generated files.
 # They are only needed to distcheck the package
 if false; then
-  ac_config_files="$ac_config_files INSTALL README config.h.win32 glib/glibconfig.h.win32 glib/makefile.msc glib/glib.rc gmodule/makefile.msc gmodule/gmodule.rc gobject/makefile.msc gobject/gobject.rc gthread/makefile.msc gthread/gthread.rc gio/gio.rc tests/makefile.msc"
+  ac_config_files="$ac_config_files INSTALL README config.h.win32 glib/glibconfig.h.win32 glib/glib.rc gmodule/gmodule.rc gobject/gobject.rc gthread/gthread.rc gio/gio.rc"
 
 fi
 
@@ -30189,7 +30281,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by glib $as_me 2.53.3, which was
+This file was extended by glib $as_me 2.53.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -30255,7 +30347,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-glib config.status 2.53.3
+glib config.status 2.53.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -31091,6 +31183,7 @@ do
     "gmodule/Makefile") CONFIG_FILES="$CONFIG_FILES gmodule/Makefile" ;;
     "gmodule/gmoduleconf.h") CONFIG_FILES="$CONFIG_FILES gmodule/gmoduleconf.h" ;;
     "gobject/Makefile") CONFIG_FILES="$CONFIG_FILES gobject/Makefile" ;;
+    "gobject/glib-genmarshal") CONFIG_FILES="$CONFIG_FILES gobject/glib-genmarshal" ;;
     "gobject/glib-mkenums") CONFIG_FILES="$CONFIG_FILES gobject/glib-mkenums" ;;
     "gobject/tests/Makefile") CONFIG_FILES="$CONFIG_FILES gobject/tests/Makefile" ;;
     "gthread/Makefile") CONFIG_FILES="$CONFIG_FILES gthread/Makefile" ;;
     "README") CONFIG_FILES="$CONFIG_FILES README" ;;
     "config.h.win32") CONFIG_FILES="$CONFIG_FILES config.h.win32" ;;
     "glib/glibconfig.h.win32") CONFIG_FILES="$CONFIG_FILES glib/glibconfig.h.win32" ;;
-    "glib/makefile.msc") CONFIG_FILES="$CONFIG_FILES glib/makefile.msc" ;;
     "glib/glib.rc") CONFIG_FILES="$CONFIG_FILES glib/glib.rc" ;;
-    "gmodule/makefile.msc") CONFIG_FILES="$CONFIG_FILES gmodule/makefile.msc" ;;
     "gmodule/gmodule.rc") CONFIG_FILES="$CONFIG_FILES gmodule/gmodule.rc" ;;
-    "gobject/makefile.msc") CONFIG_FILES="$CONFIG_FILES gobject/makefile.msc" ;;
     "gobject/gobject.rc") CONFIG_FILES="$CONFIG_FILES gobject/gobject.rc" ;;
-    "gthread/makefile.msc") CONFIG_FILES="$CONFIG_FILES gthread/makefile.msc" ;;
     "gthread/gthread.rc") CONFIG_FILES="$CONFIG_FILES gthread/gthread.rc" ;;
     "gio/gio.rc") CONFIG_FILES="$CONFIG_FILES gio/gio.rc" ;;
-    "tests/makefile.msc") CONFIG_FILES="$CONFIG_FILES tests/makefile.msc" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
@@ -32856,6 +32944,7 @@ $as_echo "$as_me: glib/glibconfig.h is unchanged" >&6;}
  ;;
     "chmod-scripts":C) chmod 0755 glib-zip
 chmod 0755 glib-gettextize
+chmod 0755 gobject/glib-genmarshal
 chmod 0755 gobject/glib-mkenums ;;
 
   esac
index c653a92..fbc4400 100644 (file)
@@ -31,7 +31,7 @@ m4_define(glib_configure_ac)
 
 m4_define([glib_major_version], [2])
 m4_define([glib_minor_version], [53])
-m4_define([glib_micro_version], [3])
+m4_define([glib_micro_version], [4])
 m4_define([glib_interface_age], [0])
 m4_define([glib_binary_age],
           [m4_eval(100 * glib_minor_version + glib_micro_version)])
@@ -465,8 +465,8 @@ GLIB_GNU_GETTEXT
 
 if test "$gt_cv_have_gettext" != "yes" ; then
   AC_MSG_ERROR([
-*** You must have either have gettext support in your C library, or use the 
-*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
+*** You must have either have gettext support in your C library, or use the
+*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html)
 ])
 fi
 
@@ -525,7 +525,8 @@ AM_CONDITIONAL(OS_WIN32_AND_DLL_COMPILATION, [test x$glib_native_win32 = xyes -a
 # Checks for library functions.
 AC_FUNC_ALLOCA
 AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2 issetugid)
-AC_CHECK_FUNCS(timegm gmtime_r strerror_r)
+AC_CHECK_FUNCS(timegm gmtime_r)
+AC_FUNC_STRERROR_R()
 
 AC_CACHE_CHECK([for __libc_enable_secure], glib_cv_have_libc_enable_secure,
   [AC_TRY_LINK([#include <unistd.h>
@@ -889,7 +890,7 @@ int main ()
 AC_MSG_RESULT($glib_ssize_type)
 
 # Check for some functions
-AC_CHECK_FUNCS(lstat strsignal vsnprintf stpcpy strcasecmp strncasecmp poll vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk memmem)
+AC_CHECK_FUNCS(lstat strsignal vsnprintf stpcpy strcasecmp strncasecmp poll vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk)
 AC_CHECK_FUNCS(lchmod lchown fchmod fchown utimes getresuid)
 AC_CHECK_FUNCS(getmntent_r setmntent endmntent hasmntopt getfsstat getvfsstat fallocate)
 case $host_os in aix*) ac_cv_func_splice=no ;; esac # AIX splice() is something else
@@ -958,7 +959,7 @@ if $glib_failed ; then
   AC_MSG_ERROR([Could not determine values for MSG_* constants])
 fi
 
-AC_CHECK_FUNCS(getprotobyname_r endservent if_nametoindex if_indextoname sendmmsg recvmmsg)
+AC_CHECK_FUNCS(endservent if_nametoindex if_indextoname sendmmsg recvmmsg)
 
 AS_IF([test $glib_native_win32 = yes], [
   # <wspiapi.h> in the Windows SDK and in mingw-w64 has wrappers for
@@ -2242,7 +2243,7 @@ AC_CACHE_CHECK([for lock-free atomic intrinsics], glib_cv_g_atomic_lock_free, [
         AC_TRY_LINK([],
                        [volatile int atomic = 2;\
                         __sync_bool_compare_and_swap (&atomic, 2, 3);],
-                       [AC_MSG_ERROR([GLib must be build with -march=i486 or later.])],
+                       [AC_MSG_ERROR([GLib must be built with -march=i486 or later.])],
                        [])
         CFLAGS="${SAVE_CFLAGS}"
       fi
@@ -3466,6 +3467,7 @@ glib/tests/Makefile
 gmodule/Makefile
 gmodule/gmoduleconf.h
 gobject/Makefile
+gobject/glib-genmarshal
 gobject/glib-mkenums
 gobject/tests/Makefile
 gthread/Makefile
@@ -3501,6 +3503,7 @@ m4macros/Makefile
 AC_CONFIG_COMMANDS([chmod-scripts],
 [chmod 0755 glib-zip
 chmod 0755 glib-gettextize
+chmod 0755 gobject/glib-genmarshal
 chmod 0755 gobject/glib-mkenums])
 
 # we want to invoke this macro solely so that the config.status script
@@ -3512,16 +3515,11 @@ if false; then
     README
     config.h.win32
     glib/glibconfig.h.win32
-    glib/makefile.msc
     glib/glib.rc
-    gmodule/makefile.msc
     gmodule/gmodule.rc
-    gobject/makefile.msc
     gobject/gobject.rc
-    gthread/makefile.msc
     gthread/gthread.rc
     gio/gio.rc
-    tests/makefile.msc
   ])
 fi
 
index 4e2eb3a..0a809d2 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gapplication
 .\"    Author: Ryan Lortie
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index e2d9023..af0a1d9 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gdbus-codegen
 .\"    Author: David Zeuthen <zeuthen@gmail.com>
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index 4e34671..87904ec 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gdbus
 .\"    Author: David Zeuthen <zeuthen@gmail.com>
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index 92bab6f..eb2adff 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gio-querymodules
 .\"    Author: Alexander Larsson
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index c9ba0ae..c569808 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gio
 .\"    Author: Matthias Clasen <mclasen@redhat.com>
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index 7b64738..8c9c3f4 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: glib-compile-resources
 .\"    Author: Alexander Larsson
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index 96493c5..edc2465 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: glib-compile-schemas
 .\"    Author: Ryan Lortie
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index 207b952..1f0544b 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gresource
 .\"    Author: Matthias Clasen
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index 715bed8..6c5f8f2 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gsettings
 .\"    Author: Ryan Lortie
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GIO
 .\"  Language: English
index 15bb3f6..7410180 100644 (file)
@@ -4573,6 +4573,9 @@ existing <em class="parameter"><code>destination</code></em>
 will be copied as symlinks, otherwise the target of the
 <em class="parameter"><code>source</code></em>
  symlink will be copied.</p>
+<p>If the flag <a class="link" href="GFile.html#G-FILE-COPY-ALL-METADATA:CAPS"><span class="type">G_FILE_COPY_ALL_METADATA</span></a> is specified then all the metadata
+that is possible to copy is copied, not just the default subset (which,
+for instance, does not include the owner, see <a class="link" href="GFileInfo.html" title="GFileInfo"><span class="type">GFileInfo</span></a>).</p>
 <p>If <em class="parameter"><code>cancellable</code></em>
  is not <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then the operation can be cancelled by
 triggering the cancellable object from another thread. If the operation
index bbef36a..d055c47 100644 (file)
@@ -1066,8 +1066,8 @@ or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</
 </tr>
 <tr>
 <td class="parameter_name"><p>flags</p></td>
-<td class="parameter_description"><p> a location to place the flags about the file,
-or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the length is not needed. </p></td>
+<td class="parameter_description"><p> a location to place the <a class="link" href="GResource.html#GResourceFlags" title="enum GResourceFlags"><span class="type">GResourceFlags</span></a> about the file,
+or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the flags are not needed. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
 </tr>
 <tr>
index 78d4325..3713894 100644 (file)
@@ -351,7 +351,11 @@ g_dbus_gvariant_to_gvalue (<em class="parameter"><code><a href="../glib-GVariant
 <p>Converts a <a href="../glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> to a <a href="../gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>. If <em class="parameter"><code>value</code></em>
  is floating, it is consumed.</p>
 <p>The rules specified in the <a class="link" href="gio-D-Bus-Utilities.html#g-dbus-gvalue-to-gvariant" title="g_dbus_gvalue_to_gvariant ()"><code class="function">g_dbus_gvalue_to_gvariant()</code></a> function are
-used - this function is essentially its reverse form.</p>
+used - this function is essentially its reverse form. So, a <a href="../glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>
+containing any basic or string array type will be converted to a <a href="../gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
+containing a basic value or string array. Any other <a href="../glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> (handle,
+variant, tuple, dict entry) will be converted to a <a href="../gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing that
+<a href="../glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.</p>
 <p>The conversion never fails - a valid <a href="../gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> is always returned in
 <em class="parameter"><code>out_gvalue</code></em>
 .</p>
index 4ae352a..9a301b1 100644 (file)
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GIO Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GIO 2.53.3
+      for GIO 2.53.4
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://developer.gnome.org/gio/unstable/" target="_top">https://developer.gnome.org/gio/unstable/</a>.
index 186497f..3820862 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: glib-gettextize
 .\"    Author: Owen Taylor
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GLib
 .\"  Language: English
index 469cbc6..0ff05c7 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gtester-report
 .\"    Author: Tim Janik
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GLib
 .\"  Language: English
index 2fd0e68..6a66512 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gtester
 .\"    Author: Tim Janik
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GLib
 .\"  Language: English
index db12f63..ea3c85e 100644 (file)
@@ -1242,7 +1242,7 @@ child.</p>
 <a name="id-1.6.19.6.27"></a><h4>Summary</h4>
 <p>To put the entire example together, for our dictionary mapping
 strings to variants (with two entries, as given above), we are
-using 91 bytes of memory for type information, 29 byes of memory
+using 91 bytes of memory for type information, 29 bytes of memory
 for the serialised data, 16 bytes for buffer management and 24
 bytes for the <a class="link" href="glib-GVariant.html#GVariant" title="GVariant"><span class="type">GVariant</span></a> instance, or a total of 160 bytes, plus
 malloc overhead.  If we were to use <a class="link" href="glib-GVariant.html#g-variant-get-child-value" title="g_variant_get_child_value ()"><code class="function">g_variant_get_child_value()</code></a> to
index d0c3be3..9964519 100644 (file)
@@ -1122,7 +1122,8 @@ returned string, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" t
 <div class="refsect3">
 <a name="g-key-file-to-data.returns"></a><h4>Returns</h4>
 <p> a newly allocated string holding
-the contents of the <a class="link" href="glib-Key-value-file-parser.html#GKeyFile" title="GKeyFile"><span class="type">GKeyFile</span></a> </p>
+the contents of the <a class="link" href="glib-Key-value-file-parser.html#GKeyFile" title="GKeyFile"><span class="type">GKeyFile</span></a>. </p>
+<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p>
 </div>
 <p class="since">Since: <a class="link" href="api-index-2-6.html#api-index-2.6">2.6</a></p>
 </div>
@@ -1237,7 +1238,7 @@ The array of returned groups will be <a class="link" href="glib-Standard-Macros.
 <a name="g-key-file-get-groups.returns"></a><h4>Returns</h4>
 <p> a newly-allocated <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings.
 Use <a class="link" href="glib-String-Utility-Functions.html#g-strfreev" title="g_strfreev ()"><code class="function">g_strfreev()</code></a> to free it. </p>
-<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1 length=length][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 <p class="since">Since: <a class="link" href="api-index-2-6.html#api-index-2.6">2.6</a></p>
 </div>
@@ -1294,7 +1295,7 @@ be found, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL
 <a name="g-key-file-get-keys.returns"></a><h4>Returns</h4>
 <p> a newly-allocated <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>-terminated array of strings.
 Use <a class="link" href="glib-String-Utility-Functions.html#g-strfreev" title="g_strfreev ()"><code class="function">g_strfreev()</code></a> to free it. </p>
-<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1 length=length][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
 <p class="since">Since: <a class="link" href="api-index-2-6.html#api-index-2.6">2.6</a></p>
 </div>
index 873ee22..dcd6945 100644 (file)
@@ -1916,6 +1916,10 @@ g_utf8_get_char_validated (<em class="parameter"><code>const <a class="link" hre
 This function checks for incomplete characters, for invalid characters
 such as characters that are out of the range of Unicode, and for
 overlong encodings of valid characters.</p>
+<p>Note that <a class="link" href="glib-Unicode-Manipulation.html#g-utf8-get-char-validated" title="g_utf8_get_char_validated ()"><code class="function">g_utf8_get_char_validated()</code></a> returns (gunichar)-2 if
+<em class="parameter"><code>max_len</code></em>
+ is positive and any of the bytes in the first UTF-8 character
+sequence are nul.</p>
 <div class="refsect3">
 <a name="g-utf8-get-char-validated.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2085,6 +2089,12 @@ g_utf8_find_next_char (<em class="parameter"><code>const <a class="link" href="g
  does not have to be at the beginning of a UTF-8 character. No check
 is made to see if the character found is actually valid other than
 it starts with an appropriate byte.</p>
+<p>If <em class="parameter"><code>end</code></em>
+ is <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the return value will never be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>: if the end of the
+string is reached, a pointer to the terminating nul byte is returned. If
+<em class="parameter"><code>end</code></em>
+ is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the return value will be <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if the end of the string
+is reached.</p>
 <div class="refsect3">
 <a name="g-utf8-find-next-char.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2110,7 +2120,10 @@ or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code
 </div>
 <div class="refsect3">
 <a name="g-utf8-find-next-char.returns"></a><h4>Returns</h4>
-<p> a pointer to the found character or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a></p>
+<p> a pointer to the found character or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if <em class="parameter"><code>end</code></em>
+is
+set and is reached. </p>
+<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
 </div>
 </div>
 <hr>
@@ -4990,6 +5003,26 @@ See <a class="ulink" href="http://www.unicode.org/reports/tr24/" target="_top">U
 </td>
 <td class="enum_member_annotations"> </td>
 </tr>
+<tr>
+<td class="enum_member_name"><p><a name="G-UNICODE-SCRIPT-MASARAM-GONDI:CAPS"></a>G_UNICODE_SCRIPT_MASARAM_GONDI</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="G-UNICODE-SCRIPT-NUSHU:CAPS"></a>G_UNICODE_SCRIPT_NUSHU</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="G-UNICODE-SCRIPT-SOYOMBO:CAPS"></a>G_UNICODE_SCRIPT_SOYOMBO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="G-UNICODE-SCRIPT-ZANABAZAR-SQUARE:CAPS"></a>G_UNICODE_SCRIPT_ZANABAZAR_SQUARE</p></td>
+<td> </td>
+<td> </td>
+</tr>
 </tbody>
 </table></div>
 </div>
index c9c3690..700a55b 100644 (file)
@@ -355,7 +355,7 @@ linked against at application run time.</p>
 <hr>
 <div class="refsect2">
 <a name="GLIB-MICRO-VERSION:CAPS"></a><h3>GLIB_MICRO_VERSION</h3>
-<pre class="programlisting">#define GLIB_MICRO_VERSION 3
+<pre class="programlisting">#define GLIB_MICRO_VERSION 4
 </pre>
 <p>The micro version number of the GLib library.</p>
 <p>Like <span class="type">gtk_micro_version</span>, but from the headers used at
index 1c69d01..a74e487 100644 (file)
     <keyword type="constant" name="G_UNICODE_SCRIPT_NEWA" link="glib-Unicode-Manipulation.html#G-UNICODE-SCRIPT-NEWA:CAPS"/>
     <keyword type="constant" name="G_UNICODE_SCRIPT_OSAGE" link="glib-Unicode-Manipulation.html#G-UNICODE-SCRIPT-OSAGE:CAPS"/>
     <keyword type="constant" name="G_UNICODE_SCRIPT_TANGUT" link="glib-Unicode-Manipulation.html#G-UNICODE-SCRIPT-TANGUT:CAPS"/>
+    <keyword type="constant" name="G_UNICODE_SCRIPT_MASARAM_GONDI" link="glib-Unicode-Manipulation.html#G-UNICODE-SCRIPT-MASARAM-GONDI:CAPS"/>
+    <keyword type="constant" name="G_UNICODE_SCRIPT_NUSHU" link="glib-Unicode-Manipulation.html#G-UNICODE-SCRIPT-NUSHU:CAPS"/>
+    <keyword type="constant" name="G_UNICODE_SCRIPT_SOYOMBO" link="glib-Unicode-Manipulation.html#G-UNICODE-SCRIPT-SOYOMBO:CAPS"/>
+    <keyword type="constant" name="G_UNICODE_SCRIPT_ZANABAZAR_SQUARE" link="glib-Unicode-Manipulation.html#G-UNICODE-SCRIPT-ZANABAZAR-SQUARE:CAPS"/>
     <keyword type="constant" name="G_NORMALIZE_DEFAULT" link="glib-Unicode-Manipulation.html#G-NORMALIZE-DEFAULT:CAPS"/>
     <keyword type="constant" name="G_NORMALIZE_NFD" link="glib-Unicode-Manipulation.html#G-NORMALIZE-NFD:CAPS"/>
     <keyword type="constant" name="G_NORMALIZE_DEFAULT_COMPOSE" link="glib-Unicode-Manipulation.html#G-NORMALIZE-DEFAULT-COMPOSE:CAPS"/>
index 180801e..e4dac7a 100644 (file)
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GLib Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GLib 2.53.3
+      for GLib 2.53.4
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://developer.gnome.org/glib/unstable/" target="_top">https://developer.gnome.org/glib/unstable/</a>.
index f85532e..5336551 100644 (file)
@@ -1,8 +1,8 @@
 '\" t
 .\"     Title: glib-genmarshal
-.\"    Author: Tim Janik
+.\"    Author: Emmanuele Bassi
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GObject
 .\"  Language: English
@@ -38,7 +38,9 @@ glib-genmarshal \- C code marshaller generation utility for GLib closures
 is a small utility that generates C code marshallers for callback functions of the GClosure mechanism in the GObject sublibrary of GLib\&. The marshaller functions have a standard signature, they get passed in the invoking closure, an array of value structures holding the callback function parameters and a value structure for the return value of the callback\&. The marshaller is then responsible to call the respective C code function of the closure with all the parameters on the stack and to collect its return value\&.
 .PP
 \fBglib\-genmarshal\fR
-takes a list of marshallers to generate as input\&. The marshaller list is either read from standard input or from files passed as additional arguments on the command line\&.
+takes a list of marshallers to generate as input\&. The marshaller list is either read from files passed as additional arguments on the command line; or from standard input, by using
+\-
+as the input file\&.
 .SS "Marshaller list format"
 .PP
 The marshaller lists are processed line by line, a line can contain a comment in the form of
@@ -56,9 +58,6 @@ or a marshaller specification of the form
 .if n \{\
 .RE
 .\}
-.sp
-(up to 16
-\fIPTYPE\fRs may be present)\&.
 .PP
 The
 \fIRTYPE\fR
@@ -185,18 +184,22 @@ deprecated alias for
 .PP
 \fB\-\-header\fR
 .RS 4
-Generate header file contents of the marshallers\&.
+Generate header file contents of the marshallers\&. This option is mutually exclusive with the
+\fB\-\-body\fR
+option\&.
 .RE
 .PP
 \fB\-\-body\fR
 .RS 4
-Generate C code file contents of the marshallers\&.
+Generate C code file contents of the marshallers\&. This option is mutually exclusive with the
+\fB\-\-header\fR
+option\&.
 .RE
 .PP
 \fB\-\-prefix=\fR\fB\fIPREFIX\fR\fR
 .RS 4
 Specify marshaller prefix\&. The default prefix is
-`g_cclosure_marshal\*(Aq\&.
+`g_cclosure_user_marshal\*(Aq\&.
 .RE
 .PP
 \fB\-\-skip\-source\fR
@@ -207,25 +210,31 @@ Skip source location remarks in generated comments\&.
 \fB\-\-stdinc\fR
 .RS 4
 Use the standard marshallers of the GObject library, and include
-gmarshal\&.h
-in generated header files\&.
+glib\-object\&.h
+in generated header files\&. This option is mutually exclusive with the
+\fB\-\-nostdinc\fR
+option\&.
 .RE
 .PP
 \fB\-\-nostdinc\fR
 .RS 4
 Do not use the standard marshallers of the GObject library, and skip
-gmarshal\&.h
-include directive in generated header files\&.
+glib\-object\&.h
+include directive in generated header files\&. This option is mutually exclusive with the
+\fB\-\-stdinc\fR
+option\&.
 .RE
 .PP
 \fB\-\-internal\fR
 .RS 4
-Mark generated functions as internal, using G_GNUC_INTERNAL\&.
+Mark generated functions as internal, using
+G_GNUC_INTERNAL\&.
 .RE
 .PP
 \fB\-\-valist\-marshallers\fR
 .RS 4
-Generate valist marshallers, for use with g_signal_set_va_marshaller()\&.
+Generate valist marshallers, for use with
+\fBg_signal_set_va_marshaller()\fR\&.
 .RE
 .PP
 \fB\-v\fR, \fB\-\-version\fR
@@ -250,7 +259,78 @@ Print version and exit\&.
 .PP
 \fB\-\-output=FILE\fR
 .RS 4
-Write output to FILE instead of stdout\&.
+Write output to
+\fIFILE\fR
+instead of the standard output\&.
+.RE
+.PP
+\fB\-\-prototypes\fR
+.RS 4
+Generate function prototypes before the function definition in the C source file, in order to avoid a
+missing\-prototypes
+compiler warning\&. This option is only useful when using the
+\fB\-\-body\fR
+option\&.
+.RE
+.PP
+\fB\-\-pragma\-once\fR
+.RS 4
+Use the
+once
+pragma instead of an old style header guard when generating the C header file\&. This option is only useful when using the
+\fB\-\-header\fR
+option\&.
+.RE
+.PP
+\fB\-\-include\-header=\fR\fB\fIHEADER\fR\fR
+.RS 4
+Adds a
+#include
+directive for the given file in the C source file\&. This option is only useful when using the
+\fB\-\-body\fR
+option\&.
+.RE
+.PP
+\fB\-D \fR\fB\fISYMBOL[=VALUE]\fR\fR
+.RS 4
+Adds a
+#define
+C pre\-processor directive for
+\fISYMBOL\fR
+and its given
+\fIVALUE\fR, or "1" if the value is unset\&. You can use this option multiple times; if you do, all the symbols will be defined in the same order given on the command line, before the symbols undefined using the
+\fB\-U\fR
+option\&. This option is only useful when using the
+\fB\-\-body\fR
+option\&.
+.RE
+.PP
+\fB\-U \fR\fB\fISYMBOL\fR\fR
+.RS 4
+Adds a
+#undef
+C pre\-processor directive to undefine the given
+\fISYMBOL\fR\&. You can use this option multiple times; if you do, all the symbols will be undefined in the same order given on the command line, after the symbols defined using the
+\fB\-D\fR
+option\&. This option is only useful when using the
+\fB\-\-body\fR
+option\&.
+.RE
+.PP
+\fB\-\-quiet\fR
+.RS 4
+Minimizes the output of
+\fBglib\-genmarshal\fR, by printing only warnings and errors\&. This option is mutually exclusive with the
+\fB\-\-verbose\fR
+option\&.
+.RE
+.PP
+\fB\-\-verbose\fR
+.RS 4
+Increases the verbosity of
+\fBglib\-genmarshal\fR, by printing debugging information\&. This option is mutually exclusive with the
+\fB\-\-quiet\fR
+option\&.
 .RE
 .SH "EXAMPLE"
 .PP
@@ -309,9 +389,9 @@ The generated marshallers have the arguments encoded in their function name\&. F
 .RS 4
 .\}
 .nf
-g_cclosure_user_marshal_VOID__VOID(),
-g_cclosure_user_marshal_VOID__INT(),
-g_cclosure_user_marshal_FLOAT__BOOLEAN_UCHAR()\&.
+g_cclosure_user_marshal_VOID__VOID(\&.\&.\&.),
+g_cclosure_user_marshal_VOID__INT(\&.\&.\&.),
+g_cclosure_user_marshal_FLOAT__BOOLEAN_UCHAR(\&.\&.\&.)\&.
 .fi
 .if n \{\
 .RE
index 5ddbc34..61cfe77 100644 (file)
@@ -6,6 +6,11 @@
   <authorgroup>
     <author>
       <contrib>Developer</contrib>
+      <firstname>Emmanuele</firstname>
+      <surname>Bassi</surname>
+    </author>
+    <author>
+      <contrib>Original developer</contrib>
       <firstname>Tim</firstname>
       <surname>Janik</surname>
     </author>
@@ -43,8 +48,9 @@ collect its return value.
 </para>
 
 <para><command>glib-genmarshal</command> takes a list of marshallers to generate as
-input. The marshaller list is either read from standard input or from files
-passed as additional arguments on the command line.
+input. The marshaller list is either read from files passed as additional arguments
+on the command line; or from standard input, by using <literal>-</literal> as the
+input file.
 </para>
 
 <refsect2><title>Marshaller list format</title>
@@ -60,7 +66,6 @@ or a marshaller specification of the form
 <replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>
 <replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>
 </programlisting>
-(up to 16 <replaceable>PTYPE</replaceable>s may be present).
 </para>
 <para>
 The <replaceable>RTYPE</replaceable> part specifies the callback's return
@@ -239,21 +244,23 @@ deprecated alias for <replaceable>BOOLEAN</replaceable>
 <varlistentry>
 <term><option>--header</option></term>
 <listitem><para>
-Generate header file contents of the marshallers.
+Generate header file contents of the marshallers. This option is mutually
+exclusive with the <option>--body</option> option.
 </para></listitem>
 </varlistentry>
 
 <varlistentry>
 <term><option>--body</option></term>
 <listitem><para>
-Generate C code file contents of the marshallers.
+Generate C code file contents of the marshallers. This option is mutually
+exclusive with the <option>--header</option> option.
 </para></listitem>
 </varlistentry>
 
 <varlistentry>
 <term><option>--prefix=<replaceable>PREFIX</replaceable></option></term>
 <listitem><para>
-Specify marshaller prefix. The default prefix is <literal>`g_cclosure_marshal'</literal>.
+Specify marshaller prefix. The default prefix is <literal>`g_cclosure_user_marshal'</literal>.
 </para></listitem>
 </varlistentry>
 
@@ -268,7 +275,9 @@ Skip source location remarks in generated comments.
 <term><option>--stdinc</option></term>
 <listitem><para>
 Use the standard marshallers of the GObject library, and include
-<filename>gmarshal.h</filename> in generated header files.
+<filename>glib-object.h</filename> in generated header files. This
+option is mutually exclusive with the <option>--nostdinc</option>
+option.
 </para></listitem>
 </varlistentry>
 
@@ -276,21 +285,22 @@ Use the standard marshallers of the GObject library, and include
 <term><option>--nostdinc</option></term>
 <listitem><para>
 Do not use the standard marshallers of the GObject library, and skip
-<filename>gmarshal.h</filename> include directive in generated header files.
+<filename>glib-object.h</filename> include directive in generated header files.
+This option is mutually exclusive with the <option>--stdinc</option> option.
 </para></listitem>
 </varlistentry>
 
 <varlistentry>
 <term><option>--internal</option></term>
 <listitem><para>
-Mark generated functions as internal, using G_GNUC_INTERNAL.
+Mark generated functions as internal, using <literal>G_GNUC_INTERNAL</literal>.
 </para></listitem>
 </varlistentry>
 
 <varlistentry>
 <term><option>--valist-marshallers</option></term>
 <listitem><para>
-Generate valist marshallers, for use with g_signal_set_va_marshaller().
+Generate valist marshallers, for use with <function>g_signal_set_va_marshaller()</function>.
 </para></listitem>
 </varlistentry>
 
@@ -325,7 +335,76 @@ Print version and exit.
 <varlistentry>
 <term><option>--output=FILE</option></term>
 <listitem><para>
-Write output to FILE instead of stdout.
+Write output to <replaceable>FILE</replaceable> instead of the standard output.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--prototypes</option></term>
+<listitem><para>
+Generate function prototypes before the function definition in the C source
+file, in order to avoid a <literal>missing-prototypes</literal> compiler
+warning. This option is only useful when using the <option>--body</option>
+option.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--pragma-once</option></term>
+<listitem><para>
+Use the <literal>once</literal> pragma instead of an old style header guard
+when generating the C header file. This option is only useful when using the
+<option>--header</option> option.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--include-header=<replaceable>HEADER</replaceable></option></term>
+<listitem><para>
+Adds a <literal>#include</literal> directive for the given file in the C
+source file. This option is only useful when using the <option>--body</option>
+option.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-D <replaceable>SYMBOL[=VALUE]</replaceable></option></term>
+<listitem><para>
+Adds a <literal>#define</literal> C pre-processor directive for
+<replaceable>SYMBOL</replaceable> and its given <replaceable>VALUE</replaceable>,
+or "1" if the value is unset. You can use this option multiple times; if you do,
+all the symbols will be defined in the same order given on the command line, before
+the symbols undefined using the <option>-U</option> option. This option is only
+useful when using the <option>--body</option> option.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-U <replaceable>SYMBOL</replaceable></option></term>
+<listitem><para>
+Adds a <literal>#undef</literal> C pre-processor directive to undefine the
+given <replaceable>SYMBOL</replaceable>. You can use this option multiple times;
+if you do, all the symbols will be undefined in the same order given on the
+command line, after the symbols defined using the <option>-D</option> option.
+This option is only useful when using the <option>--body</option> option.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--quiet</option></term>
+<listitem><para>
+Minimizes the output of <command>glib-genmarshal</command>, by printing only
+warnings and errors. This option is mutually exclusive with the
+<option>--verbose</option> option.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--verbose</option></term>
+<listitem><para>
+Increases the verbosity of <command>glib-genmarshal</command>, by printing
+debugging information. This option is mutually exclusive with the
+<option>--quiet</option> option.
 </para></listitem>
 </varlistentry>
 
@@ -367,9 +446,9 @@ The generated marshallers have the arguments encoded in their function name.
 For this particular list, they are
 </para>
 <programlisting>
-g_cclosure_user_marshal_VOID__VOID(),
-g_cclosure_user_marshal_VOID__INT(),
-g_cclosure_user_marshal_FLOAT__BOOLEAN_UCHAR().
+g_cclosure_user_marshal_VOID__VOID(...),
+g_cclosure_user_marshal_VOID__INT(...),
+g_cclosure_user_marshal_FLOAT__BOOLEAN_UCHAR(...).
 </programlisting>
 <para>
 They can be used directly for GClosures or be passed in as the
index 626ce03..5a6a9e5 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: glib-mkenums
 .\"    Author: Owen Taylor
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GObject
 .\"  Language: English
index 2592776..f04526a 100644 (file)
@@ -2,7 +2,7 @@
 .\"     Title: gobject-query
 .\"    Author: Tim Janik
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 06/19/2017
+.\"      Date: 07/17/2017
 .\"    Manual: User Commands
 .\"    Source: GObject
 .\"  Language: English
index 77245bb..faa0fef 100644 (file)
@@ -44,8 +44,9 @@ code function of the closure with all the parameters on the stack and to
 collect its return value.
 </p>
 <p><span class="command"><strong>glib-genmarshal</strong></span> takes a list of marshallers to generate as
-input. The marshaller list is either read from standard input or from files
-passed as additional arguments on the command line.
+input. The marshaller list is either read from files passed as additional arguments
+on the command line; or from standard input, by using <code class="literal">-</code> as the
+input file.
 </p>
 <div class="refsect2">
 <a name="id-1.5.3.5.4"></a><h3>Marshaller list format</h3>
@@ -73,7 +74,6 @@ or a marshaller specification of the form
 <em class="replaceable"><code>RTYPE</code></em>:<em class="replaceable"><code>PTYPE</code></em>,<em class="replaceable"><code>PTYPE</code></em>,<em class="replaceable"><code>PTYPE</code></em>
 </pre>
 <p>
-(up to 16 <em class="replaceable"><code>PTYPE</code></em>s may be present).
 </p>
 <p>
 The <em class="replaceable"><code>RTYPE</code></em> part specifies the callback's return
@@ -245,19 +245,21 @@ deprecated alias for <em class="replaceable"><code>BOOLEAN</code></em>
 <tr>
 <td><p><span class="term"><code class="option">--header</code></span></p></td>
 <td><p>
-Generate header file contents of the marshallers.
+Generate header file contents of the marshallers. This option is mutually
+exclusive with the <code class="option">--body</code> option.
 </p></td>
 </tr>
 <tr>
 <td><p><span class="term"><code class="option">--body</code></span></p></td>
 <td><p>
-Generate C code file contents of the marshallers.
+Generate C code file contents of the marshallers. This option is mutually
+exclusive with the <code class="option">--header</code> option.
 </p></td>
 </tr>
 <tr>
 <td><p><span class="term"><code class="option">--prefix=<em class="replaceable"><code>PREFIX</code></em></code></span></p></td>
 <td><p>
-Specify marshaller prefix. The default prefix is <code class="literal">`g_cclosure_marshal'</code>.
+Specify marshaller prefix. The default prefix is <code class="literal">`g_cclosure_user_marshal'</code>.
 </p></td>
 </tr>
 <tr>
@@ -270,26 +272,29 @@ Skip source location remarks in generated comments.
 <td><p><span class="term"><code class="option">--stdinc</code></span></p></td>
 <td><p>
 Use the standard marshallers of the GObject library, and include
-<code class="filename">gmarshal.h</code> in generated header files.
+<code class="filename">glib-object.h</code> in generated header files. This
+option is mutually exclusive with the <code class="option">--nostdinc</code>
+option.
 </p></td>
 </tr>
 <tr>
 <td><p><span class="term"><code class="option">--nostdinc</code></span></p></td>
 <td><p>
 Do not use the standard marshallers of the GObject library, and skip
-<code class="filename">gmarshal.h</code> include directive in generated header files.
+<code class="filename">glib-object.h</code> include directive in generated header files.
+This option is mutually exclusive with the <code class="option">--stdinc</code> option.
 </p></td>
 </tr>
 <tr>
 <td><p><span class="term"><code class="option">--internal</code></span></p></td>
 <td><p>
-Mark generated functions as internal, using G_GNUC_INTERNAL.
+Mark generated functions as internal, using <code class="literal">G_GNUC_INTERNAL</code>.
 </p></td>
 </tr>
 <tr>
 <td><p><span class="term"><code class="option">--valist-marshallers</code></span></p></td>
 <td><p>
-Generate valist marshallers, for use with g_signal_set_va_marshaller().
+Generate valist marshallers, for use with <code class="function">g_signal_set_va_marshaller()</code>.
 </p></td>
 </tr>
 <tr>
@@ -319,7 +324,69 @@ Print version and exit.
 <tr>
 <td><p><span class="term"><code class="option">--output=FILE</code></span></p></td>
 <td><p>
-Write output to FILE instead of stdout.
+Write output to <em class="replaceable"><code>FILE</code></em> instead of the standard output.
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">--prototypes</code></span></p></td>
+<td><p>
+Generate function prototypes before the function definition in the C source
+file, in order to avoid a <code class="literal">missing-prototypes</code> compiler
+warning. This option is only useful when using the <code class="option">--body</code>
+option.
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">--pragma-once</code></span></p></td>
+<td><p>
+Use the <code class="literal">once</code> pragma instead of an old style header guard
+when generating the C header file. This option is only useful when using the
+<code class="option">--header</code> option.
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">--include-header=<em class="replaceable"><code>HEADER</code></em></code></span></p></td>
+<td><p>
+Adds a <code class="literal">#include</code> directive for the given file in the C
+source file. This option is only useful when using the <code class="option">--body</code>
+option.
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">-D <em class="replaceable"><code>SYMBOL[=VALUE]</code></em></code></span></p></td>
+<td><p>
+Adds a <code class="literal">#define</code> C pre-processor directive for
+<em class="replaceable"><code>SYMBOL</code></em> and its given <em class="replaceable"><code>VALUE</code></em>,
+or "1" if the value is unset. You can use this option multiple times; if you do,
+all the symbols will be defined in the same order given on the command line, before
+the symbols undefined using the <code class="option">-U</code> option. This option is only
+useful when using the <code class="option">--body</code> option.
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">-U <em class="replaceable"><code>SYMBOL</code></em></code></span></p></td>
+<td><p>
+Adds a <code class="literal">#undef</code> C pre-processor directive to undefine the
+given <em class="replaceable"><code>SYMBOL</code></em>. You can use this option multiple times;
+if you do, all the symbols will be undefined in the same order given on the
+command line, after the symbols defined using the <code class="option">-D</code> option.
+This option is only useful when using the <code class="option">--body</code> option.
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">--quiet</code></span></p></td>
+<td><p>
+Minimizes the output of <span class="command"><strong>glib-genmarshal</strong></span>, by printing only
+warnings and errors. This option is mutually exclusive with the
+<code class="option">--verbose</code> option.
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">--verbose</code></span></p></td>
+<td><p>
+Increases the verbosity of <span class="command"><strong>glib-genmarshal</strong></span>, by printing
+debugging information. This option is mutually exclusive with the
+<code class="option">--quiet</code> option.
 </p></td>
 </tr>
 </tbody>
@@ -377,9 +444,9 @@ The generated marshallers have the arguments encoded in their function name.
 For this particular list, they are
 </p>
 <pre class="programlisting">
-g_cclosure_user_marshal_VOID__VOID(),
-g_cclosure_user_marshal_VOID__INT(),
-g_cclosure_user_marshal_FLOAT__BOOLEAN_UCHAR().
+g_cclosure_user_marshal_VOID__VOID(...),
+g_cclosure_user_marshal_VOID__INT(...),
+g_cclosure_user_marshal_FLOAT__BOOLEAN_UCHAR(...).
 </pre>
 <p>
 They can be used directly for GClosures or be passed in as the
index a94ff8c..7de4f03 100644 (file)
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GObject Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GObject 2.53.3
+      for GObject 2.53.4
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://developer.gnome.org/gobject/unstable/" target="_top">https://developer.gnome.org/gobject/unstable/</a>.
index 45cc7b0..dc064e7 100644 (file)
                          closures.
                        </p></li>
 <li class="listitem"><p>
-                         <em class="parameter"><code>accumulator_data</code></em>: this pointer will be passed down to each invocation of the
+                         <em class="parameter"><code>accu_data</code></em>: this pointer will be passed down to each invocation of the
                          accumulator during emission.
                        </p></li>
 <li class="listitem"><p>
index 6a1420a..f990ab8 100644 (file)
@@ -250,7 +250,7 @@ guint g_signal_newv (const gchar        *signal_name,
                          closures.
                        </para></listitem>
                  <listitem><para>
-                         <parameter>accumulator_data</parameter>: this pointer will be passed down to each invocation of the
+                         <parameter>accu_data</parameter>: this pointer will be passed down to each invocation of the
                          accumulator during emission.
                        </para></listitem>
                  <listitem><para>
index f07c94a..b2db995 100644 (file)
@@ -757,7 +757,6 @@ EXTRA_DIST +=                       \
        data-to-c.pl            \
        gioenumtypes.h.template \
        gioenumtypes.c.template \
-       makefile.msc            \
        gio.rc.in               \
        gschema.dtd             \
        gconstructor_as_data.h  \
index dd4e458..dc0450e 100644 (file)
@@ -1234,9 +1234,9 @@ MAINTAINERCLEANFILES =
 EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
        gdbusdaemon.c gdbusdaemon.h dbus-daemon.xml \
        $(portal_interfaces) strinfo.c data-to-c.pl \
-       gioenumtypes.h.template gioenumtypes.c.template makefile.msc \
-       gio.rc.in gschema.dtd gconstructor_as_data.h \
-       gnetworking.h.win32 $(NULL) gio.stp.in $(completion_DATA)
+       gioenumtypes.h.template gioenumtypes.c.template gio.rc.in \
+       gschema.dtd gconstructor_as_data.h gnetworking.h.win32 $(NULL) \
+       gio.stp.in $(completion_DATA)
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
 # will belong in exactly one of the following variables.
index 15cf961..3a8347f 100644 (file)
@@ -50,7 +50,7 @@ class CodeGenerator:
             self.ns_upper = ''
             self.ns_lower = ''
         self.interface_prefix = interface_prefix
-        self.header_guard = header_name.upper().replace('.', '_').replace('-', '_').replace('/', '_')
+        self.header_guard = header_name.upper().replace('.', '_').replace('-', '_').replace('/', '_').replace(':', '_')
 
     # ----------------------------------------------------------------------------------------------------
 
index 04e3e5f..4abd04b 100644 (file)
@@ -19,7 +19,4 @@
 #
 # Author: David Zeuthen <davidz@redhat.com>
 
-DATADIR = "${prefix}/share"
-DATADIR = DATADIR.replace(
-    "${prefix}", "/home/mclasen/gnome")
-VERSION = "2.53.3"
+VERSION = "2.53.4"
index 80d20ee..a91178a 100644 (file)
@@ -19,7 +19,4 @@
 #
 # Author: David Zeuthen <davidz@redhat.com>
 
-DATADIR = "@datarootdir@"
-DATADIR = DATADIR.replace(
-    "${prefix}", "@prefix@")
 VERSION = "@VERSION@"
index 9c086fe..8050981 100644 (file)
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/env @PYTHON@
 
 # GDBus - GLib D-Bus Library
 #
@@ -24,14 +24,18 @@ import os
 import sys
 
 srcdir = os.getenv('UNINSTALLED_GLIB_SRCDIR', None)
+filedir = os.path.dirname(__file__)
 
 if srcdir is not None:
     path = os.path.join(srcdir, 'gio', 'gdbus-2.0')
-elif os.name == 'nt':
-    # Makes gdbus-codegen 'relocatable' at runtime on Windows.
-    path = os.path.join(os.path.dirname(__file__), '..', 'share', 'glib-2.0')
+elif os.path.basename(filedir) == 'bin':
+    # Make the prefix containing gdbus-codegen 'relocatable' at runtime by
+    # adding /some/prefix/bin/../share/glib-2.0 to the python path
+    path = os.path.join(filedir, '..', 'share', 'glib-2.0')
 else:
-    path = os.path.join('@datadir@', 'glib-2.0')
+    # Assume that the modules we need are in the current directory and add the
+    # parent directory to the python path.
+    path = os.path.join(filedir, '..')
 
 sys.path.insert(0, os.path.abspath(path))
 from codegen import codegen_main
index c1544f8..696919a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Generated by gdbus-codegen 2.53.3. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.53.4. DO NOT EDIT.
  *
  * The license of this code is the same as for the source it was derived from.
  */
index 07eb576..05732fc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Generated by gdbus-codegen 2.53.3. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.53.4. DO NOT EDIT.
  *
  * The license of this code is the same as for the source it was derived from.
  */
index d4ebe35..0b17b90 100644 (file)
@@ -260,7 +260,7 @@ ensure_keyring_directory (GError **error)
                            g_io_error_from_errno (errno),
                            _("Error when getting information for directory “%s”: %s"),
                            path,
-                           strerror (errno));
+                           g_strerror (errno));
               g_free (path);
               path = NULL;
               goto out;
@@ -293,7 +293,7 @@ ensure_keyring_directory (GError **error)
                    g_io_error_from_errno (errno),
                    _("Error creating directory “%s”: %s"),
                    path,
-                   strerror (errno));
+                   g_strerror (errno));
       g_free (path);
       path = NULL;
       goto out;
@@ -531,7 +531,7 @@ keyring_acquire_lock (const gchar  *path,
                            g_io_error_from_errno (errno),
                            _("Error deleting stale lock file “%s”: %s"),
                            lock,
-                           strerror (errno));
+                           g_strerror (errno));
               goto out;
             }
           _log ("Deleted stale lock file '%s'", lock);
@@ -563,7 +563,7 @@ keyring_acquire_lock (const gchar  *path,
                    g_io_error_from_errno (errno),
                    _("Error creating lock file “%s”: %s"),
                    lock,
-                   strerror (errno));
+                   g_strerror (errno));
       goto out;
     }
 
@@ -593,7 +593,7 @@ keyring_release_lock (const gchar  *path,
                    g_io_error_from_errno (errno),
                    _("Error closing (unlinked) lock file “%s”: %s"),
                    lock,
-                   strerror (errno));
+                   g_strerror (errno));
       goto out;
     }
   if (g_unlink (lock) != 0)
@@ -603,7 +603,7 @@ keyring_release_lock (const gchar  *path,
                    g_io_error_from_errno (errno),
                    _("Error unlinking lock file “%s”: %s"),
                    lock,
-                   strerror (errno));
+                   g_strerror (errno));
       goto out;
     }
 
index 15146dc..b56c5a8 100644 (file)
@@ -4901,7 +4901,7 @@ schedule_method_call (GDBusConnection            *connection,
                          call_in_idle_cb,
                          invocation,
                          g_object_unref);
-  g_source_set_name (idle_source, "[gio] call_in_idle_cb");
+  g_source_set_name (idle_source, "[gio, " __FILE__ "] call_in_idle_cb");
   g_source_attach (idle_source, main_context);
   g_source_unref (idle_source);
 }
index ce655ed..9158858 100644 (file)
@@ -3504,7 +3504,7 @@ g_dbus_message_print (GDBusMessage *message,
                 }
               else
                 {
-                  g_string_append_printf (fs, "(fstat failed: %s)", strerror (errno));
+                  g_string_append_printf (fs, "(fstat failed: %s)", g_strerror (errno));
                 }
               g_string_append_printf (str, "%*s  fd %d: %s\n", indent, "", fds[n], fs->str);
               g_string_free (fs, TRUE);
index d40f934..fcfc2f4 100644 (file)
@@ -197,7 +197,7 @@ schedule_call_in_idle (Client *client, CallType  call_type)
                          call_in_idle_cb,
                          data,
                          (GDestroyNotify) call_handler_data_free);
-  g_source_set_name (idle_source, "[gio] call_in_idle_cb");
+  g_source_set_name (idle_source, "[gio, gdbusnameowning.c] call_in_idle_cb");
   g_source_attach (idle_source, client->main_context);
   g_source_unref (idle_source);
 }
index 9fb6dd1..dad8e75 100644 (file)
@@ -201,7 +201,7 @@ schedule_call_in_idle (Client *client, CallType call_type)
                          call_in_idle_cb,
                          data,
                          (GDestroyNotify) call_handler_data_free);
-  g_source_set_name (idle_source, "[gio] call_in_idle_cb");
+  g_source_set_name (idle_source, "[gio, gdbusnamewatching.c] call_in_idle_cb");
   g_source_attach (idle_source, client->main_context);
   g_source_unref (idle_source);
 }
index bb1b9e2..20df4e2 100644 (file)
@@ -872,7 +872,7 @@ try_tcp (GDBusServer  *server,
                            g_io_error_from_errno (errno),
                            _("Error writing nonce file at “%s”: %s"),
                            server->nonce_file,
-                           strerror (errno));
+                           g_strerror (errno));
               goto out;
             }
           bytes_written += ret;
index df0b3f5..ff036c7 100644 (file)
@@ -358,7 +358,11 @@ g_dbus_is_guid (const gchar *string)
  * Converts a #GVariant to a #GValue. If @value is floating, it is consumed.
  *
  * The rules specified in the g_dbus_gvalue_to_gvariant() function are
- * used - this function is essentially its reverse form.
+ * used - this function is essentially its reverse form. So, a #GVariant
+ * containing any basic or string array type will be converted to a #GValue
+ * containing a basic value or string array. Any other #GVariant (handle,
+ * variant, tuple, dict entry) will be converted to a #GValue containing that
+ * #GVariant.
  *
  * The conversion never fails - a valid #GValue is always returned in
  * @out_gvalue.
index 212d3e0..dd518df 100644 (file)
@@ -3299,6 +3299,10 @@ file_copy_fallback (GFile                  *source,
  * will be copied as symlinks, otherwise the target of the
  * @source symlink will be copied.
  *
+ * If the flag #G_FILE_COPY_ALL_METADATA is specified then all the metadata
+ * that is possible to copy is copied, not just the default subset (which,
+ * for instance, does not include the owner, see #GFileInfo).
+ *
  * If @cancellable is not %NULL, then the operation can be cancelled by
  * triggering the cancellable object from another thread. If the operation
  * was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
index 4f8ec7e..6755840 100644 (file)
@@ -1,8 +1,8 @@
 #include <winver.h>
 
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION 2,53,3,0
-  PRODUCTVERSION 2,53,3,0
+  FILEVERSION 2,53,4,0
+  PRODUCTVERSION 2,53,4,0
   FILEFLAGSMASK 0
   FILEFLAGS 0
   FILEOS VOS__WINDOWS32
@@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
       BEGIN
        VALUE "CompanyName", "The GLib developer community"
        VALUE "FileDescription", "Gio"
-       VALUE "FileVersion", "2.53.3.0"
+       VALUE "FileVersion", "2.53.4.0"
        VALUE "InternalName", "libgio-2.0-0"
        VALUE "LegalCopyright", "Copyright © 2006-2011 Red Hat, Inc. and others."
        VALUE "OriginalFilename", "libgio-2.0-0.dll"
        VALUE "ProductName", "GLib"
-       VALUE "ProductVersion", "2.53.3"
+       VALUE "ProductVersion", "2.53.4"
       END
     END
     BLOCK "VarFileInfo"
index f2cb9f8..0da3176 100644 (file)
@@ -4,7 +4,6 @@
 #include "config.h"
 #include "gioenumtypes.h"
 #include <gio.h>
-
 /* enumerations from "gioenums.h" */
 GType
 g_app_info_create_flags_get_type (void)
@@ -27,7 +26,6 @@ g_app_info_create_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_converter_flags_get_type (void)
 {
@@ -48,7 +46,6 @@ g_converter_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_converter_result_get_type (void)
 {
@@ -70,7 +67,6 @@ g_converter_result_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_data_stream_byte_order_get_type (void)
 {
@@ -91,7 +87,6 @@ g_data_stream_byte_order_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_data_stream_newline_type_get_type (void)
 {
@@ -113,7 +108,6 @@ g_data_stream_newline_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_attribute_type_get_type (void)
 {
@@ -141,7 +135,6 @@ g_file_attribute_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_attribute_info_flags_get_type (void)
 {
@@ -162,7 +155,6 @@ g_file_attribute_info_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_attribute_status_get_type (void)
 {
@@ -183,7 +175,6 @@ g_file_attribute_status_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_query_info_flags_get_type (void)
 {
@@ -203,7 +194,6 @@ g_file_query_info_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_create_flags_get_type (void)
 {
@@ -224,7 +214,6 @@ g_file_create_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_measure_flags_get_type (void)
 {
@@ -246,7 +235,6 @@ g_file_measure_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_mount_mount_flags_get_type (void)
 {
@@ -265,7 +253,6 @@ g_mount_mount_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_mount_unmount_flags_get_type (void)
 {
@@ -285,7 +272,6 @@ g_mount_unmount_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_drive_start_flags_get_type (void)
 {
@@ -304,7 +290,6 @@ g_drive_start_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_drive_start_stop_type_get_type (void)
 {
@@ -327,7 +312,6 @@ g_drive_start_stop_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_copy_flags_get_type (void)
 {
@@ -352,7 +336,6 @@ g_file_copy_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_monitor_flags_get_type (void)
 {
@@ -375,7 +358,6 @@ g_file_monitor_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_type_get_type (void)
 {
@@ -400,7 +382,6 @@ g_file_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_filesystem_preview_type_get_type (void)
 {
@@ -421,7 +402,6 @@ g_filesystem_preview_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_file_monitor_event_get_type (void)
 {
@@ -450,7 +430,6 @@ g_file_monitor_event_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_io_error_enum_get_type (void)
 {
@@ -516,7 +495,6 @@ g_io_error_enum_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_ask_password_flags_get_type (void)
 {
@@ -539,7 +517,6 @@ g_ask_password_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_password_save_get_type (void)
 {
@@ -560,7 +537,6 @@ g_password_save_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_mount_operation_result_get_type (void)
 {
@@ -581,7 +557,6 @@ g_mount_operation_result_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_output_stream_splice_flags_get_type (void)
 {
@@ -602,7 +577,6 @@ g_output_stream_splice_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_io_stream_splice_flags_get_type (void)
 {
@@ -624,7 +598,6 @@ g_io_stream_splice_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_emblem_origin_get_type (void)
 {
@@ -646,7 +619,6 @@ g_emblem_origin_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_resolver_error_get_type (void)
 {
@@ -667,7 +639,6 @@ g_resolver_error_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_resolver_record_type_get_type (void)
 {
@@ -690,7 +661,6 @@ g_resolver_record_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_resource_error_get_type (void)
 {
@@ -710,7 +680,6 @@ g_resource_error_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_resource_flags_get_type (void)
 {
@@ -730,7 +699,6 @@ g_resource_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_resource_lookup_flags_get_type (void)
 {
@@ -749,7 +717,6 @@ g_resource_lookup_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_socket_family_get_type (void)
 {
@@ -771,7 +738,6 @@ g_socket_family_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_socket_type_get_type (void)
 {
@@ -793,7 +759,6 @@ g_socket_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_socket_msg_flags_get_type (void)
 {
@@ -815,7 +780,6 @@ g_socket_msg_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_socket_protocol_get_type (void)
 {
@@ -838,7 +802,6 @@ g_socket_protocol_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_zlib_compressor_format_get_type (void)
 {
@@ -859,7 +822,6 @@ g_zlib_compressor_format_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_unix_socket_address_type_get_type (void)
 {
@@ -882,7 +844,6 @@ g_unix_socket_address_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_bus_type_get_type (void)
 {
@@ -904,7 +865,6 @@ g_bus_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_bus_name_owner_flags_get_type (void)
 {
@@ -925,7 +885,6 @@ g_bus_name_owner_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_bus_name_watcher_flags_get_type (void)
 {
@@ -945,7 +904,6 @@ g_bus_name_watcher_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_proxy_flags_get_type (void)
 {
@@ -969,7 +927,6 @@ g_dbus_proxy_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_error_get_type (void)
 {
@@ -1032,7 +989,6 @@ g_dbus_error_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_connection_flags_get_type (void)
 {
@@ -1056,7 +1012,6 @@ g_dbus_connection_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_capability_flags_get_type (void)
 {
@@ -1076,7 +1031,6 @@ g_dbus_capability_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_call_flags_get_type (void)
 {
@@ -1097,7 +1051,6 @@ g_dbus_call_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_message_type_get_type (void)
 {
@@ -1120,7 +1073,6 @@ g_dbus_message_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_message_flags_get_type (void)
 {
@@ -1142,7 +1094,6 @@ g_dbus_message_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_message_header_field_get_type (void)
 {
@@ -1170,7 +1121,6 @@ g_dbus_message_header_field_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_property_info_flags_get_type (void)
 {
@@ -1191,7 +1141,6 @@ g_dbus_property_info_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_subtree_flags_get_type (void)
 {
@@ -1211,7 +1160,6 @@ g_dbus_subtree_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_server_flags_get_type (void)
 {
@@ -1232,7 +1180,6 @@ g_dbus_server_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_signal_flags_get_type (void)
 {
@@ -1254,7 +1201,6 @@ g_dbus_signal_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_send_message_flags_get_type (void)
 {
@@ -1274,7 +1220,6 @@ g_dbus_send_message_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_credentials_type_get_type (void)
 {
@@ -1298,7 +1243,6 @@ g_credentials_type_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_message_byte_order_get_type (void)
 {
@@ -1318,7 +1262,6 @@ g_dbus_message_byte_order_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_application_flags_get_type (void)
 {
@@ -1344,7 +1287,6 @@ g_application_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_error_get_type (void)
 {
@@ -1369,7 +1311,6 @@ g_tls_error_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_certificate_flags_get_type (void)
 {
@@ -1395,7 +1336,6 @@ g_tls_certificate_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_authentication_mode_get_type (void)
 {
@@ -1416,7 +1356,6 @@ g_tls_authentication_mode_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_rehandshake_mode_get_type (void)
 {
@@ -1437,7 +1376,6 @@ g_tls_rehandshake_mode_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_password_flags_get_type (void)
 {
@@ -1459,7 +1397,6 @@ g_tls_password_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_interaction_result_get_type (void)
 {
@@ -1480,7 +1417,6 @@ g_tls_interaction_result_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_interface_skeleton_flags_get_type (void)
 {
@@ -1500,7 +1436,6 @@ g_dbus_interface_skeleton_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_dbus_object_manager_client_flags_get_type (void)
 {
@@ -1520,7 +1455,6 @@ g_dbus_object_manager_client_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_database_verify_flags_get_type (void)
 {
@@ -1539,7 +1473,6 @@ g_tls_database_verify_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_database_lookup_flags_get_type (void)
 {
@@ -1559,7 +1492,6 @@ g_tls_database_lookup_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_tls_certificate_request_flags_get_type (void)
 {
@@ -1578,7 +1510,6 @@ g_tls_certificate_request_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_io_module_scope_flags_get_type (void)
 {
@@ -1598,7 +1529,6 @@ g_io_module_scope_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_socket_client_event_get_type (void)
 {
@@ -1625,7 +1555,6 @@ g_socket_client_event_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_socket_listener_event_get_type (void)
 {
@@ -1647,7 +1576,6 @@ g_socket_listener_event_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_test_dbus_flags_get_type (void)
 {
@@ -1666,7 +1594,6 @@ g_test_dbus_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_subprocess_flags_get_type (void)
 {
@@ -1693,7 +1620,6 @@ g_subprocess_flags_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_notification_priority_get_type (void)
 {
@@ -1715,7 +1641,6 @@ g_notification_priority_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 GType
 g_network_connectivity_get_type (void)
 {
@@ -1737,7 +1662,6 @@ g_network_connectivity_get_type (void)
 
   return g_define_type_id__volatile;
 }
-
 /* enumerations from "gsettings.h" */
 GType
 g_settings_bind_flags_get_type (void)
@@ -1763,6 +1687,5 @@ g_settings_bind_flags_get_type (void)
   return g_define_type_id__volatile;
 }
 
-
 /* Generated data ends here */
 
index 1a68cf9..b06da84 100644 (file)
@@ -21,6 +21,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <errno.h>
+#include <string.h>
 
 #include "gopenuriportal.h"
 #include "xdp-dbus.h"
@@ -201,6 +202,7 @@ open_call_done (GObject      *source,
   gboolean open_file;
   gboolean res;
   char *path;
+  const char *handle;
   guint signal_id;
 
   open_file = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (task), "open-file"));
@@ -218,17 +220,24 @@ open_call_done (GObject      *source,
       return;
     }
 
-  signal_id = g_dbus_connection_signal_subscribe (connection,
-                                                  "org.freedesktop.portal.Desktop",
-                                                  "org.freedesktop.portal.Request",
-                                                  "Response",
-                                                  path,
-                                                  NULL,
-                                                  G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE,
-                                                  response_received,
-                                                  task,
-                                                  NULL);
-  g_object_set_data (G_OBJECT (task), "signal-id", GINT_TO_POINTER (signal_id));
+  handle = (const char *)g_object_get_data (G_OBJECT (task), "handle");
+  if (strcmp (handle, path) != 0)
+    {
+      signal_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (task), "signal-id"));
+      g_dbus_connection_signal_unsubscribe (connection, signal_id);
+
+      signal_id = g_dbus_connection_signal_subscribe (connection,
+                                                      "org.freedesktop.portal.Desktop",
+                                                      "org.freedesktop.portal.Request",
+                                                      "Response",
+                                                      path,
+                                                      NULL,
+                                                      G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE,
+                                                      response_received,
+                                                      task,
+                                                      NULL);
+      g_object_set_data (G_OBJECT (task), "signal-id", GINT_TO_POINTER (signal_id));
+    }
 }
 
 void
@@ -238,9 +247,15 @@ g_openuri_portal_open_uri_async (const char          *uri,
                                  GAsyncReadyCallback  callback,
                                  gpointer             user_data)
 {
+  GDBusConnection *connection;
   GTask *task;
   GFile *file;
   GVariantBuilder opt_builder;
+  char *token;
+  char *sender;
+  char *handle;
+  int i;
+  guint signal_id;
 
   if (!init_openuri_portal ())
     {
@@ -250,12 +265,40 @@ g_openuri_portal_open_uri_async (const char          *uri,
       return;
     }
 
+  connection = g_dbus_proxy_get_connection (G_DBUS_PROXY (openuri));
+
   if (callback)
-    task = g_task_new (NULL, cancellable, callback, user_data);
+    {
+      task = g_task_new (NULL, cancellable, callback, user_data);
+
+      token = g_strdup_printf ("gio%d", g_random_int_range (0, G_MAXINT));
+      sender = g_strdup (g_dbus_connection_get_unique_name (connection) + 1);
+      for (i = 0; sender[i]; i++)
+        if (sender[i] == '.')
+          sender[i] = '_';
+
+      handle = g_strdup_printf ("/org/fredesktop/portal/desktop/request/%s/%s", sender, token);
+      g_object_set_data_full (G_OBJECT (task), "handle", handle, g_free);
+      g_free (sender);
+
+      signal_id = g_dbus_connection_signal_subscribe (connection,
+                                                      "org.freedesktop.portal.Desktop",
+                                                      "org.freedesktop.portal.Request",
+                                                      "Response",
+                                                      handle,
+                                                      NULL,
+                                                      G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE,
+                                                      response_received,
+                                                      task,
+                                                      NULL);
+      g_object_set_data (G_OBJECT (task), "signal-id", GINT_TO_POINTER (signal_id));
+    }
   else
     task = NULL;
 
   g_variant_builder_init (&opt_builder, G_VARIANT_TYPE_VARDICT);
+  g_variant_builder_add (&opt_builder, "{sv}", "handle_token", g_variant_new_string (token));
+  g_free (token);
 
   file = g_file_new_for_uri (uri);
   if (g_file_is_native (file))
index 9e1d481..0d11d68 100644 (file)
@@ -1160,8 +1160,8 @@ g_resources_enumerate_children (const gchar           *path,
  * @lookup_flags: A #GResourceLookupFlags
  * @size:  (out) (optional): a location to place the length of the contents of the file,
  *    or %NULL if the length is not needed
- * @flags:  (out) (optional): a location to place the flags about the file,
- *    or %NULL if the length is not needed
+ * @flags:  (out) (optional): a location to place the #GResourceFlags about the file,
+ *    or %NULL if the flags are not needed
  * @error: return location for a #GError, or %NULL
  *
  * Looks for a file at the specified @path in the set of
index 63c5a44..d74b6dd 100644 (file)
@@ -275,6 +275,8 @@ gsettings_description (void)
 {
   const gchar *description;
   description = g_settings_schema_key_get_description (global_schema_key);
+  if (description == NULL)
+    description = g_settings_schema_key_get_summary (global_schema_key);
   g_print ("%s\n", description);
 }
 
index dc55864..bc7a4ac 100644 (file)
@@ -324,7 +324,7 @@ try_prepend_dir (const gchar *directory)
 static void
 try_prepend_data_dir (const gchar *directory)
 {
-  const gchar *dirname = g_build_filename (directory, "glib-2.0", "schemas", NULL);
+  gchar *dirname = g_build_filename (directory, "glib-2.0", "schemas", NULL);
   try_prepend_dir (dirname);
   g_free (dirname);
 }
index 6096052..f10d33c 100644 (file)
@@ -245,14 +245,14 @@ watcher_init (void)
       /* fork a child to clean up when we are killed */
       if (pipe (pipe_fds) != 0)
         {
-          g_warning ("pipe() failed: %s", strerror (errno));
+          g_warning ("pipe() failed: %s", g_strerror (errno));
           g_assert_not_reached ();
         }
 
       switch (fork ())
         {
         case -1:
-          g_warning ("fork() failed: %s", strerror (errno));
+          g_warning ("fork() failed: %s", g_strerror (errno));
           g_assert_not_reached ();
           break;
 
index 1647d36..5f969fd 100644 (file)
@@ -501,7 +501,7 @@ g_unix_connection_receive_credentials (GUnixConnection      *connection,
                      G_IO_ERROR,
                      g_io_error_from_errno (errno),
                      _("Error checking if SO_PASSCRED is enabled for socket: %s"),
-                     strerror (errno));
+                     g_strerror (errno));
         goto out;
       }
     if (opt_val == 0)
@@ -516,7 +516,7 @@ g_unix_connection_receive_credentials (GUnixConnection      *connection,
                          G_IO_ERROR,
                          g_io_error_from_errno (errno),
                          _("Error enabling SO_PASSCRED: %s"),
-                         strerror (errno));
+                         g_strerror (errno));
             goto out;
           }
         turn_off_so_passcreds = TRUE;
@@ -609,7 +609,7 @@ g_unix_connection_receive_credentials (GUnixConnection      *connection,
                        G_IO_ERROR,
                        g_io_error_from_errno (errno),
                        _("Error while disabling SO_PASSCRED: %s"),
-                       strerror (errno));
+                       g_strerror (errno));
           goto out;
         }
     }
diff --git a/gio/makefile.msc b/gio/makefile.msc
deleted file mode 100644 (file)
index 41a1f89..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-# autogenerated from automake.am with automake.py
-TOP = ..\..
-PRJ_TOP = ..
-PACKAGE = gio
-PKG_VER = 2.0
-!INCLUDE $(TOP)\glib\build\win32\make.msc
-
-SUBDIRS = win32
-
-sub-all: 
-       for %d in ($(SUBDIRS)) do nmake -nologo -f makefile.msc sub-one THIS=%d
-
-sub-one:
-       cd $(THIS)
-       nmake -nologo -f makefile.msc
-       cd ..
-
-INCLUDES = \
-       -FImsvc_recommended_pragmas.h \
-       -I .. -I ..\glib -I ..\gmodule -I . \
-       $(INTL_CFLAGS)
-
-DEFINES = \
-       -DG_LOG_DOMAIN=\"GLib-GIO\" \
-       -DGIO_MODULE_DIR=\"$(libdir)/gio/modules\" \
-       -DGIO_COMPILATION
-
-appinfo_sources = \
-       gwin32appinfo.c gwin32appinfo.h
-
-gio_headers =                  \
-       gappinfo.h              \
-       gasyncresult.h          \
-       gbufferedinputstream.h  \
-       gbufferedoutputstream.h \
-       gcancellable.h          \
-       gcontenttype.h          \
-       gdatainputstream.h      \
-       gdataoutputstream.h     \
-       gdrive.h                \
-       gemblem.h               \
-       gemblemedicon.h         \
-       gfile.h                 \
-       gfileattribute.h        \
-       gfileenumerator.h       \
-       gfileicon.h             \
-       gfileinfo.h             \
-       gfileinputstream.h      \
-       gfilemonitor.h          \
-       gfilenamecompleter.h    \
-       gfileoutputstream.h     \
-       gfilterinputstream.h    \
-       gfilteroutputstream.h   \
-       gicon.h                 \
-       ginputstream.h          \
-       gio.h                   \
-       giotypes.h              \
-       gioenums.h              \
-       gioerror.h              \
-       giomodule.h             \
-       gioscheduler.h          \
-       gloadableicon.h         \
-       gmount.h                \
-       gmemoryinputstream.h    \
-       gmemoryoutputstream.h   \
-       gmountoperation.h       \
-       gnativevolumemonitor.h  \
-       goutputstream.h         \
-       gseekable.h             \
-       gsimpleasyncresult.h    \
-       gthemedicon.h           \
-       gvfs.h                  \
-       gvolume.h               \
-       gvolumemonitor.h        \
-       $(NULL)
-
-OBJECTS = \
-       gappinfo.obj \
-       gasynchelper.obj \
-       gasyncinitable.obj \
-       gasyncresult.obj \
-       gbufferedinputstream.obj \
-       gbufferedoutputstream.obj \
-       gcancellable.obj \
-       gcontenttype.obj \
-       gdatagrambased.obj \
-       gdatainputstream.obj \
-       gdataoutputstream.obj \
-#      gdesktopappinfo.obj \
-       gdrive.obj \
-       gdummyfile.obj \
-       gemblem.obj \
-       gemblemedicon.obj \
-       gfile.obj \
-       gfileattribute.obj \
-       gfileenumerator.obj \
-       gfileicon.obj \
-       gfileinfo.obj \
-       gfileinputstream.obj \
-       gfileiostream.obj \
-       gfilemonitor.obj \
-       gfilenamecompleter.obj \
-       gfileoutputstream.obj \
-       gfilterinputstream.obj \
-       gfilteroutputstream.obj \
-       gicon.obj \
-       ginetaddress.obj \
-       ginetsocketaddress.obj \
-       ginitable.obj \
-       ginputstream.obj \
-       gioenumtypes.obj \
-       gioerror.obj \
-       giomodule.obj \
-       gioscheduler.obj \
-       giostream.obj \
-       gloadableicon.obj \
-       glocalfileiostream.obj \
-       gmemoryinputstream.obj \
-       gmemoryoutputstream.obj \
-       gmount.obj \
-       gmountoperation.obj \
-       gnativevolumemonitor.obj \
-       gnetworkaddress.obj \
-       gnetworkservice.obj \
-       goutputstream.obj \
-       gpollfilemonitor.obj \
-       gresolver.obj \
-       gseekable.obj \
-       gsimpleasyncresult.obj \
-       gsocket.obj \
-       gsocketaddress.obj \
-       gsocketaddressenumerator.obj \
-       gsocketclient.obj \
-       gsocketconnectable.obj \
-       gsocketconnection.obj \
-       gsocketcontrolmessage.obj \
-       gsocketlistener.obj \
-       gsocketservice.obj \
-       gsocketinputstream.obj \
-       gsocketoutputstream.obj \
-       gsrvtarget.obj \
-       gtcpconnection.obj \
-       gthreadedresolver.obj \
-       gthreadedsocketservice.obj \
-       gthemedicon.obj \
-       gunionvolumemonitor.obj \
-       gvfs.obj \
-       gvolume.obj \
-       gvolumemonitor.obj \
-       \
-       glocalvfs.obj \
-       glocalfile.obj \
-       glocalfileenumerator.obj \
-       glocalfileinfo.obj \
-       glocalfileinputstream.obj \
-       glocalfileoutputstream.obj \
-       glocalfilemonitor.obj \
-       glocaldirectorymonitor.obj \
-       gwin32appinfo.obj \
-       \
-       gio-marshal.obj \
-       gwin32mount.obj \
-       gwin32volumemonitor.obj \
-       gwin32resolver.obj 
-
-libgio_2_0_la_LIBADD = \
-       $(top_builddir)/glib/libglib-2.0.la \
-       $(top_builddir)/gobject/libgobject-2.0.la \
-       $(top_builddir)/gmodule/libgmodule-2.0.la \
-       $(platform_libadd) \
-       $(SELINUX_LIBS) \
-       $(GLIB_LIBS) \
-       $(XATTR_LIBS) \
-       $(NULL)
-
-unix_sources = \
-       gunixdrive.c \
-       gunixdrive.h \
-       gunixmounts.c \
-       gunixmounts.h \
-       gunixvolume.c \
-       gunixvolume.h \
-       gunixvolumemonitor.c \
-       gunixvolumemonitor.h \
-       $(NULL)
-
-marshal_sources = \
-       gio-marshal.h gio-marshal.c $(NULL)
-
-GLIB_GEN_MARSHAL = ..\gobject\glib-genmarshal.exe 
-
-gio-marshal.h: gio-marshal.list
-       $(GLIB_GEN_MARSHAL) --prefix=_gio_marshal gio-marshal.list --header >> xgen-gwmh \
-       && copy /y xgen-gwmh gio-marshal.h \
-       && del xgen-gwmh xgen-gwmh~
-
-gio-marshal.c: gio-marshal.h
-       echo #include "gio-marshal.h" >> xgen-gwmc \
-       && $(GLIB_GEN_MARSHAL) --prefix=_gio_marshal gio-marshal.list --body >> xgen-gwmc \
-       && copy xgen-gwmc gio-marshal.c \
-       && del xgen-gwmc xgen-gwmc~
-
-local_sources = \
-       glocaldirectorymonitor.c \
-       glocaldirectorymonitor.h \
-       glocalfile.c \
-       glocalfile.h \
-       glocalfileenumerator.c \
-       glocalfileenumerator.h \
-       glocalfileinfo.c \
-       glocalfileinfo.h \
-       glocalfileinputstream.c \
-       glocalfileinputstream.h \
-       glocalfilemonitor.c \
-       glocalfilemonitor.h \
-       glocalfileoutputstream.c \
-       glocalfileoutputstream.h \
-       glocalvfs.c \
-       glocalvfs.h \
-       $(NULL)
-
-all : \
-       $(PRJ_TOP)\config.h \
-       sub-all \
-       gio-marshal.c \
-       gioenumtypes.h          \
-       gioenumtypes.c          \
-       libgio-$(PKG_VER)-0.dll
-
-
-$(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32
-       copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h
-
-gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
-       $(PERL) ..\gobject\glib-mkenums --template gioenumtypes.h.template $(gio_headers) > gioenumtypes.h
-       
-gioenumtypes.c: $(gio_headers) gioenumtypes.c.template
-       $(PERL) ..\gobject\glib-mkenums --template gioenumtypes.c.template $(gio_headers) > gioenumtypes.c
-
-gio.def: gio.symbols
-       echo EXPORTS > gio.def
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \
-               -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-               -DG_GNUC_PRINTF=;G_GNUC_PRINTF gio.symbols >> gio.def
-
-RESOURCE = $(PACKAGE).res
-
-$(PACKAGE).res : $(PACKAGE).rc
-       rc -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc
-
-libgio-$(PKG_VER)-0.dll : $(OBJECTS) win32\giowin32.lib $(PACKAGE).def $(RESOURCE)
-       $(CC) $(CFLAGS) -LD -Felibgio-$(PKG_VER)-0.dll $(OBJECTS) $(RESOURCE) \
-       ..\glib\glib-2.0.lib ..\gobject\gobject-2.0.lib ..\gmodule\gmodule-2.0.lib \
-       win32\giowin32.lib \
-       $(INTL_LIBS) \
-       kernel32.lib user32.lib advapi32.lib shell32.lib wsock32.lib ws2_32.lib dnsapi.lib mpr.lib $(LDFLAGS) \
-       /implib:gio-2.0.lib /def:$(PACKAGE).def
-
-.c.obj :
-       $(CC) $(CFLAGS) -c $(PKG_CFLAGS) $<
index 8ba7626..acc1da4 100644 (file)
@@ -566,9 +566,9 @@ EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.g
 CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource
 endif # !CROSS_COMPILING
 
-BUILT_SOURCES += giotypefuncs.c
+BUILT_SOURCES += giotypefuncs.inc
 
-giotypefuncs.c: Makefile
+giotypefuncs.inc: Makefile
        $(AM_V_GEN) echo '#include <gio/gio.h>' > xgen-giosrc.c && \
          echo "G_GNUC_BEGIN_IGNORE_DEPRECATIONS" > xgen-gio && \
          ${CPP} $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-giosrc.c | \
@@ -578,7 +578,7 @@ giotypefuncs.c: Makefile
          $(SED) -e 's/^/*tp++ = /' -e 's/$$/ ();/' >> xgen-gio && \
          cp xgen-gio $@ # && rm -f xgen-gio xgen-giosrc.c
 
-CLEANFILES += xgen-giosrc.c xgen-gio giotypefuncs.c
+CLEANFILES += xgen-giosrc.c xgen-gio giotypefuncs.inc
 
 if ENABLE_INSTALLED_TESTS
 if OS_UNIX
index 2f0a55e..1732c70 100644 (file)
@@ -2135,11 +2135,11 @@ LOG_COMPILER = $(top_srcdir)/tap-test
 NULL = 
 
 # initialize variables for unconditional += appending
-BUILT_SOURCES = $(am__append_29) giotypefuncs.c
+BUILT_SOURCES = $(am__append_29) giotypefuncs.inc
 BUILT_EXTRA_DIST = 
 CLEANFILES = *.log *.trs $(am__append_13) $(am__append_22) \
        $(am__append_31) $(am__append_40) xgen-giosrc.c xgen-gio \
-       giotypefuncs.c
+       giotypefuncs.inc
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = 
 EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
@@ -4709,7 +4709,7 @@ uninstall-am: uninstall-installed_testLTLIBRARIES \
 @CROSS_COMPILING_FALSE@test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=. --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test.gresource.xml)
 @CROSS_COMPILING_FALSE@        $(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=. --sourcedir=$(srcdir) $<
 
-giotypefuncs.c: Makefile
+giotypefuncs.inc: Makefile
        $(AM_V_GEN) echo '#include <gio/gio.h>' > xgen-giosrc.c && \
          echo "G_GNUC_BEGIN_IGNORE_DEPRECATIONS" > xgen-gio && \
          ${CPP} $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-giosrc.c | \
index b1a60f0..1902053 100644 (file)
@@ -2,6 +2,7 @@
 #include <locale.h>
 #include <string.h>
 
+#include <glib/gstdio.h>
 #include <gio/gio.h>
 #include <gio/gdesktopappinfo.h>
 
@@ -474,10 +475,18 @@ test_from_keyfile (void)
 int
 main (int argc, char *argv[])
 {
+  const gchar *build_dir;
+
   g_setenv ("XDG_CURRENT_DESKTOP", "GNOME", TRUE);
 
   g_test_init (&argc, &argv, NULL);
 
+  /* With Meson build we need to change into right directory, so that the
+   * appinfo-test binary can be found. */
+  build_dir = g_getenv ("G_TEST_BUILDDIR");
+  if (build_dir)
+    g_chdir (build_dir);
+
   g_test_add_func ("/appinfo/basic", test_basic);
   g_test_add_func ("/appinfo/text", test_text);
   g_test_add_func ("/appinfo/launch", test_launch);
index 3225dbb..84a8635 100644 (file)
@@ -174,7 +174,7 @@ list_all_types (void)
       GType *tp;
       all_registered_types = g_new0 (GType, 1000);
       tp = all_registered_types;
-#include "giotypefuncs.c"
+#include "giotypefuncs.inc"
       *tp = 0;
     }
 
index 5fcb5c2..3086da4 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <glib/glib.h>
+#include <glib/gstdio.h>
 #include <gio/gio.h>
 #include <gio/gdesktopappinfo.h>
 #include <stdlib.h>
@@ -759,8 +760,15 @@ int
 main (int   argc,
       char *argv[])
 {
+  const gchar *build_dir;
   gint result;
 
+  /* With Meson build we need to change into right directory, so that the
+   * appinfo-test binary can be found. */
+  build_dir = g_getenv ("G_TEST_BUILDDIR");
+  if (build_dir)
+    g_chdir (build_dir);
+
   g_test_init (&argc, &argv, NULL);
 
   basedir = g_get_current_dir ();
index 845eb36..8737ee8 100644 (file)
@@ -626,7 +626,7 @@ read_all_from_fd (gint fd, gsize *out_len, GError **error)
                        "Failed reading %d bytes into offset %d: %s",
                        (gint) sizeof (buf),
                        (gint) str->len,
-                       strerror (errno));
+                       g_strerror (errno));
           goto error;
         }
       else if (num_read > 0)
index a215a84..79eab97 100644 (file)
@@ -11,6 +11,11 @@ typedef struct {
   const gchar *err;
 } SchemaTest;
 
+/* Meson build defines this, autotools build does not */
+#ifndef GLIB_COMPILE_SCHEMAS
+#define GLIB_COMPILE_SCHEMAS "../glib-compile-schemas"
+#endif
+
 static void
 test_schema_do_compile (gpointer data)
 {
@@ -18,7 +23,7 @@ test_schema_do_compile (gpointer data)
   gchar *filename = g_strconcat (test->name, ".gschema.xml", NULL);
   gchar *path = g_test_build_filename (G_TEST_DIST, "schema-tests", filename, NULL);
   gchar *argv[] = {
-    "../glib-compile-schemas",
+    GLIB_COMPILE_SCHEMAS,
     "--strict",
     "--dry-run",
     "--schema-file", path,
index 18db388..2be4122 100644 (file)
@@ -8,6 +8,8 @@
 
 #include "testenum.h"
 
+static const gchar *locale_dir = ".";
+
 static gboolean backend_set;
 
 /* These tests rely on the schemas in org.gtk.test.gschema.xml
@@ -732,7 +734,7 @@ test_l10n (void)
   gchar *str;
   gchar *locale;
 
-  bindtextdomain ("test", ".");
+  bindtextdomain ("test", locale_dir);
   bind_textdomain_codeset ("test", "UTF-8");
 
   locale = g_strdup (setlocale (LC_MESSAGES, NULL));
@@ -779,7 +781,7 @@ test_l10n_context (void)
   gchar *str;
   gchar *locale;
 
-  bindtextdomain ("test", ".");
+  bindtextdomain ("test", locale_dir);
   bind_textdomain_codeset ("test", "UTF-8");
 
   locale = g_strdup (setlocale (LC_MESSAGES, NULL));
@@ -2604,6 +2606,14 @@ main (int argc, char *argv[])
   gchar *enums;
   gint result;
 
+/* Meson build sets this */
+#ifdef TEST_LOCALE_PATH
+  if (g_str_has_suffix (TEST_LOCALE_PATH, "LC_MESSAGES"))
+    {
+      locale_dir = TEST_LOCALE_PATH G_DIR_SEPARATOR_S ".." G_DIR_SEPARATOR_S "..";
+    }
+#endif
+
   setlocale (LC_ALL, "");
 
   g_test_init (&argc, &argv, NULL);
@@ -2619,8 +2629,13 @@ main (int argc, char *argv[])
       if (!backend_set)
         g_setenv ("GSETTINGS_BACKEND", "memory", TRUE);
 
+/* Meson build defines this, autotools build does not */
+#ifndef GLIB_MKENUMS
+#define GLIB_MKENUMS "../../gobject/glib-mkenums"
+#endif
+
       g_remove ("org.gtk.test.enums.xml");
-      g_assert (g_spawn_command_line_sync ("../../gobject/glib-mkenums "
+      g_assert (g_spawn_command_line_sync (GLIB_MKENUMS " "
                                            "--template " SRCDIR "/enums.xml.template "
                                            SRCDIR "/testenum.h",
                                            &enums, NULL, &result, NULL));
@@ -2632,8 +2647,13 @@ main (int argc, char *argv[])
       g_assert (g_file_set_contents ("org.gtk.test.gschema.xml", schema_text, -1, NULL));
       g_free (schema_text);
 
+/* Meson build defines this, autotools build does not */
+#ifndef GLIB_COMPILE_SCHEMAS
+#define GLIB_COMPILE_SCHEMAS "../glib-compile-schemas"
+#endif
+
       g_remove ("gschemas.compiled");
-      g_assert (g_spawn_command_line_sync ("../glib-compile-schemas --targetdir=. "
+      g_assert (g_spawn_command_line_sync (GLIB_COMPILE_SCHEMAS " --targetdir=. "
                                            "--schema-file=org.gtk.test.enums.xml "
                                            "--schema-file=org.gtk.test.gschema.xml",
                                            NULL, NULL, &result, NULL));
@@ -2641,7 +2661,7 @@ main (int argc, char *argv[])
 
       g_remove ("schema-source/gschemas.compiled");
       g_mkdir ("schema-source", 0777);
-      g_assert (g_spawn_command_line_sync ("../glib-compile-schemas --targetdir=schema-source "
+      g_assert (g_spawn_command_line_sync (GLIB_COMPILE_SCHEMAS " --targetdir=schema-source "
                                            "--schema-file=" SRCDIR "/org.gtk.schemasourcecheck.gschema.xml",
                                            NULL, NULL, &result, NULL));
       g_assert (result == 0);
index 7457246..ca2a6ba 100644 (file)
@@ -25,7 +25,7 @@ write_all (int           fd,
       gssize bytes_written = write (fd, buf, len);
       if (bytes_written < 0)
        g_error ("Failed to write to fd %d: %s",
-                fd, strerror (errno));
+                fd, g_strerror (errno));
       buf += bytes_written;
       len -= bytes_written;
     }
index d24357a..4ca45f4 100644 (file)
@@ -32,10 +32,10 @@ else
 rpath_hack = -rpath /
 endif
 
-libtestmodulea_la_SOURCES = test-module-a.c
+libtestmodulea_la_SOURCES = test-module-a.c symbol-visibility.h
 libtestmodulea_la_LIBADD = $(LDADD)
 libtestmodulea_la_LDFLAGS = $(LDFLAGS) -no-undefined -avoid-version $(rpath_hack)
 
-libtestmoduleb_la_SOURCES = test-module-b.c
+libtestmoduleb_la_SOURCES = test-module-b.c symbol-visibility.h
 libtestmoduleb_la_LIBADD = $(LDADD)
 libtestmoduleb_la_LDFLAGS =$(LDFLAGS) -no-undefined -avoid-version $(rpath_hack)
index 49b6a3c..88b85be 100644 (file)
@@ -503,10 +503,10 @@ modules = \
 @ENABLE_INSTALLED_TESTS_TRUE@testmodule_LTLIBRARIES = $(modules)
 # See comment in Makefile.am one level up
 @ENABLE_INSTALLED_TESTS_FALSE@rpath_hack = -rpath /
-libtestmodulea_la_SOURCES = test-module-a.c
+libtestmodulea_la_SOURCES = test-module-a.c symbol-visibility.h
 libtestmodulea_la_LIBADD = $(LDADD)
 libtestmodulea_la_LDFLAGS = $(LDFLAGS) -no-undefined -avoid-version $(rpath_hack)
-libtestmoduleb_la_SOURCES = test-module-b.c
+libtestmoduleb_la_SOURCES = test-module-b.c symbol-visibility.h
 libtestmoduleb_la_LIBADD = $(LDADD)
 libtestmoduleb_la_LDFLAGS = $(LDFLAGS) -no-undefined -avoid-version $(rpath_hack)
 all: all-am
diff --git a/gio/tests/modules/symbol-visibility.h b/gio/tests/modules/symbol-visibility.h
new file mode 100644 (file)
index 0000000..f9f8826
--- /dev/null
@@ -0,0 +1,16 @@
+#ifndef GLIB_TEST_SYMBOL_VISIBILITY
+#define GLIB_TEST_SYMBOL_VISIBILITY
+
+/* This is the same check that's done in configure to create config.h */
+#ifdef _WIN32
+# ifdef _MSC_VER
+#  define GLIB_TEST_EXPORT_SYMBOL __declspec(dllexport) extern
+# else
+#  define GLIB_TEST_EXPORT_SYMBOL __attribute__((visibility("default"))) __declspec(dllexport) extern
+# endif
+/* Matches GCC and Clang */
+#elif defined(__GNUC__) && (__GNUC__ >= 4)
+# define GLIB_TEST_EXPORT_SYMBOL __attribute__((visibility("default"))) extern
+#endif
+
+#endif /* GLIB_TEST_SYMBOL_VISIBILITY */
index ffe7ae3..0644fdc 100644 (file)
@@ -22,6 +22,8 @@
 
 #include <gio/gio.h>
 
+#include "symbol-visibility.h"
+
 typedef struct _TestA {
   GObject parent;
 } TestA;
@@ -42,7 +44,7 @@ test_a_init (TestA *self)
 {
 }
 
-void
+GLIB_TEST_EXPORT_SYMBOL void
 g_io_module_load (GIOModule *module)
 {
   g_io_extension_point_implement ("test-extension-point",
@@ -51,7 +53,7 @@ g_io_module_load (GIOModule *module)
                                   30);
 }
 
-void
+GLIB_TEST_EXPORT_SYMBOL void
 g_io_module_unload (GIOModule *module)
 {
 }
index aaf15d6..5ec9208 100644 (file)
@@ -22,6 +22,8 @@
 
 #include <gio/gio.h>
 
+#include "symbol-visibility.h"
+
 typedef struct _TestB {
   GObject parent;
 } TestB;
@@ -42,7 +44,7 @@ test_b_init (TestB *self)
 {
 }
 
-void
+GLIB_TEST_EXPORT_SYMBOL void
 g_io_module_load (GIOModule *module)
 {
   g_io_extension_point_implement ("test-extension-point",
@@ -51,7 +53,7 @@ g_io_module_load (GIOModule *module)
                                   40);
 }
 
-void
+GLIB_TEST_EXPORT_SYMBOL void
 g_io_module_unload (GIOModule *module)
 {
 }
index 0cd7668..506c9cc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Generated by gdbus-codegen 2.53.3. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.53.4. DO NOT EDIT.
  *
  * The license of this code is the same as for the source it was derived from.
  */
index 3d8753f..af905bd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Generated by gdbus-codegen 2.53.3. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.53.4. DO NOT EDIT.
  *
  * The license of this code is the same as for the source it was derived from.
  */
index d755853..5478edb 100644 (file)
@@ -55,7 +55,6 @@ MIRRORING_TAB_SOURCE =                                \
 # The compilation of GRegex can be disabled, but the source files must
 # be distributed.
 EXTRA_DIST +=                  \
-       makefile.msc.in         \
        glib.rc.in              \
        gen-unicode-tables.pl   \
        glibconfig.h.win32.in   \
@@ -71,7 +70,6 @@ CLEANFILES += libglib-gdb.py
 
 # These may be in the builddir too
 BUILT_EXTRA_DIST +=            \
-       makefile.msc            \
        glibconfig.h.win32      \
        glib.rc
 
index 11ddb42..6322033 100644 (file)
@@ -195,7 +195,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(dist_gdb_DATA) \
        $(glibsubinclude_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = glibconfig.h.win32 makefile.msc glib.rc
+CONFIG_CLEAN_FILES = glibconfig.h.win32 glib.rc
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -624,9 +624,8 @@ am__set_b = \
       b='$*';; \
   esac
 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/glib.rc.in \
-       $(srcdir)/glibconfig.h.win32.in $(srcdir)/makefile.msc.in \
-       $(top_srcdir)/depcomp $(top_srcdir)/glib.mk \
-       $(top_srcdir)/test-driver \
+       $(srcdir)/glibconfig.h.win32.in $(top_srcdir)/depcomp \
+       $(top_srcdir)/glib.mk $(top_srcdir)/test-driver \
        $(top_srcdir)/win32/Makefile.msvcproj
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
@@ -910,7 +909,7 @@ NULL =
 BUILT_SOURCES = glibconfig-stamp $(am__append_19)
 
 # These may be in the builddir too
-BUILT_EXTRA_DIST = makefile.msc glibconfig.h.win32 glib.rc
+BUILT_EXTRA_DIST = glibconfig.h.win32 glib.rc
 CLEANFILES = *.log *.trs $(am__append_14) libglib-gdb.py \
        glib-public-headers.txt $(am__append_20) $(am__append_22)
 
@@ -927,10 +926,9 @@ MAINTAINERCLEANFILES =
 
 # The compilation of GRegex can be disabled, but the source files must
 # be distributed.
-EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
-       makefile.msc.in glib.rc.in gen-unicode-tables.pl \
-       glibconfig.h.win32.in gregex.c gregex.h win_iconv.c \
-       libglib-gdb.py.in docs.c gconstructor.h \
+EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) glib.rc.in \
+       gen-unicode-tables.pl glibconfig.h.win32.in gregex.c gregex.h \
+       win_iconv.c libglib-gdb.py.in docs.c gconstructor.h \
        $(MIRRORING_TAB_SOURCE) glib.stp.in $(am__append_26)
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
@@ -1264,8 +1262,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 glibconfig.h.win32: $(top_builddir)/config.status $(srcdir)/glibconfig.h.win32.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-makefile.msc: $(top_builddir)/config.status $(srcdir)/makefile.msc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 glib.rc: $(top_builddir)/config.status $(srcdir)/glib.rc.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
index 7695adf..745a32a 100644 (file)
@@ -128,7 +128,7 @@ struct _GDateTime
 #define INSTANT_TO_UNIX(instant) \
   ((instant)/USEC_PER_SECOND - UNIX_EPOCH_START * SEC_PER_DAY)
 #define UNIX_TO_INSTANT(unix) \
-  (((unix) + UNIX_EPOCH_START * SEC_PER_DAY) * USEC_PER_SECOND)
+  (((gint64) (unix) + UNIX_EPOCH_START * SEC_PER_DAY) * USEC_PER_SECOND)
 #define UNIX_TO_INSTANT_IS_VALID(unix) \
   ((gint64) (unix) <= INSTANT_TO_UNIX (G_MAXINT64))
 
index 9831fbe..4ac7c08 100644 (file)
@@ -1489,7 +1489,7 @@ g_key_file_flush_parse_buffer (GKeyFile  *key_file,
  * Note that this function never reports an error,
  * so it is safe to pass %NULL as @error.
  *
- * Returns: a newly allocated string holding
+ * Returns: (array length=length): a newly allocated string holding
  *   the contents of the #GKeyFile 
  *
  * Since: 2.6
@@ -1559,7 +1559,7 @@ g_key_file_to_data (GKeyFile  *key_file,
  * be found, %NULL is returned and @error is set to
  * #G_KEY_FILE_ERROR_GROUP_NOT_FOUND.
  *
- * Returns: (array zero-terminated=1) (transfer full): a newly-allocated %NULL-terminated array of strings.
+ * Returns: (array zero-terminated=1 length=length) (transfer full): a newly-allocated %NULL-terminated array of strings.
  *     Use g_strfreev() to free it.
  *
  * Since: 2.6
@@ -1654,7 +1654,7 @@ g_key_file_get_start_group (GKeyFile *key_file)
  * The array of returned groups will be %NULL-terminated, so 
  * @length may optionally be %NULL.
  *
- * Returns: (array zero-terminated=1) (transfer full): a newly-allocated %NULL-terminated array of strings.
+ * Returns: (array zero-terminated=1 length=length) (transfer full): a newly-allocated %NULL-terminated array of strings.
  *   Use g_strfreev() to free it.
  * Since: 2.6
  **/
index 0d4b18a..ed48b8d 100644 (file)
@@ -1,8 +1,8 @@
 #include <winver.h>
 
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION 2,53,3,0
-  PRODUCTVERSION 2,53,3,0
+  FILEVERSION 2,53,4,0
+  PRODUCTVERSION 2,53,4,0
   FILEFLAGSMASK 0
   FILEFLAGS 0
   FILEOS VOS__WINDOWS32
@@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
       BEGIN
        VALUE "CompanyName", "The GLib developer community"
        VALUE "FileDescription", "GLib"
-       VALUE "FileVersion", "2.53.3.0"
+       VALUE "FileVersion", "2.53.4.0"
        VALUE "InternalName", "libglib-2.0-0"
        VALUE "LegalCopyright", "Copyright © 1995-2011 Peter Mattis, Spencer Kimball, Josh MacDonald and others."
        VALUE "OriginalFilename", "libglib-2.0-0.dll"
        VALUE "ProductName", "GLib"
-       VALUE "ProductVersion", "2.53.3"
+       VALUE "ProductVersion", "2.53.4"
       END
     END
     BLOCK "VarFileInfo"
index 578db42..c335e2b 100644 (file)
@@ -162,7 +162,7 @@ typedef unsigned __int64 guintptr;
 
 #define GLIB_MAJOR_VERSION 2
 #define GLIB_MINOR_VERSION 53
-#define GLIB_MICRO_VERSION 3
+#define GLIB_MICRO_VERSION 4
 
 #define G_OS_WIN32
 #define G_PLATFORM_WIN32
index 41dd0f6..6566571 100644 (file)
@@ -2714,7 +2714,7 @@ g_get_monotonic_time (void)
       if (QueryPerformanceCounter (&ticks))
         return (gint64)(ticks.QuadPart * g_monotonic_usec_per_tick);
 
-      g_warning ("QueryPerformanceCounter Failed (%d)", GetLastError ());
+      g_warning ("QueryPerformanceCounter Failed (%lu)", GetLastError ());
       g_monotonic_usec_per_tick = 0;
     }
 
index 3182af5..4dc1bec 100644 (file)
@@ -24,6 +24,3 @@ libgnulib_la_SOURCES =        \
        verify.h \
        xsize.h \
        g-gnulib.h
-
-
-EXTRA_DIST += makefile.msc
index d3d21b8..a38cfe4 100644 (file)
@@ -695,8 +695,7 @@ BUILT_EXTRA_DIST =
 CLEANFILES = *.log *.trs $(am__append_14)
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = 
-EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
-       makefile.msc
+EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data)
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
 # will belong in exactly one of the following variables.
diff --git a/glib/gnulib/makefile.msc b/glib/gnulib/makefile.msc
deleted file mode 100644 (file)
index da2b4cf..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-TOP = ..\..\..
-!INCLUDE ..\..\build\win32\make.msc
-
-INCLUDES = -I ..\.. -I ..
-DEFINES = -DHAVE_CONFIG_H -DHAVE_LONG_LONG_FORMAT
-
-OBJECTS = \
-       asnprintf.obj \
-       printf.obj \
-       printf-args.obj \
-       printf-parse.obj \
-       vasnprintf.obj
-
-all : gnulib.lib
-
-gnulib.lib : $(OBJECTS)
-       lib -out:gnulib.lib $(OBJECTS)
-
index 78a4a28..c30d317 100644 (file)
@@ -529,7 +529,7 @@ static const guchar g_script_easy_table[8192] = {
   G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC,
   G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC,
   G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC,
-  G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_UNKNOWN,
+  G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_ARABIC,
   G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC,
   G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC, G_UNICODE_SCRIPT_ARABIC,
@@ -722,11 +722,11 @@ static const guchar g_script_easy_table[8192] = {
   G_UNICODE_SCRIPT_MANDAIC, G_UNICODE_SCRIPT_MANDAIC, G_UNICODE_SCRIPT_MANDAIC,
   G_UNICODE_SCRIPT_MANDAIC, G_UNICODE_SCRIPT_MANDAIC, G_UNICODE_SCRIPT_MANDAIC,
   G_UNICODE_SCRIPT_MANDAIC, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_MANDAIC, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
+  G_UNICODE_SCRIPT_MANDAIC, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_SYRIAC,
+  G_UNICODE_SCRIPT_SYRIAC, G_UNICODE_SCRIPT_SYRIAC, G_UNICODE_SCRIPT_SYRIAC,
+  G_UNICODE_SCRIPT_SYRIAC, G_UNICODE_SCRIPT_SYRIAC, G_UNICODE_SCRIPT_SYRIAC,
+  G_UNICODE_SCRIPT_SYRIAC, G_UNICODE_SCRIPT_SYRIAC, G_UNICODE_SCRIPT_SYRIAC,
+  G_UNICODE_SCRIPT_SYRIAC, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
@@ -860,7 +860,7 @@ static const guchar g_script_easy_table[8192] = {
   G_UNICODE_SCRIPT_BENGALI, G_UNICODE_SCRIPT_BENGALI, G_UNICODE_SCRIPT_BENGALI,
   G_UNICODE_SCRIPT_BENGALI, G_UNICODE_SCRIPT_BENGALI, G_UNICODE_SCRIPT_BENGALI,
   G_UNICODE_SCRIPT_BENGALI, G_UNICODE_SCRIPT_BENGALI, G_UNICODE_SCRIPT_BENGALI,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
+  G_UNICODE_SCRIPT_BENGALI, G_UNICODE_SCRIPT_BENGALI, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_GURMUKHI,
   G_UNICODE_SCRIPT_GURMUKHI, G_UNICODE_SCRIPT_GURMUKHI, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_GURMUKHI, G_UNICODE_SCRIPT_GURMUKHI, G_UNICODE_SCRIPT_GURMUKHI,
@@ -944,9 +944,9 @@ static const guchar g_script_easy_table[8192] = {
   G_UNICODE_SCRIPT_GUJARATI, G_UNICODE_SCRIPT_GUJARATI, G_UNICODE_SCRIPT_GUJARATI,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_GUJARATI, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
+  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_GUJARATI, G_UNICODE_SCRIPT_GUJARATI,
+  G_UNICODE_SCRIPT_GUJARATI, G_UNICODE_SCRIPT_GUJARATI, G_UNICODE_SCRIPT_GUJARATI,
+  G_UNICODE_SCRIPT_GUJARATI, G_UNICODE_SCRIPT_GUJARATI, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_ORIYA, G_UNICODE_SCRIPT_ORIYA, G_UNICODE_SCRIPT_ORIYA,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_ORIYA, G_UNICODE_SCRIPT_ORIYA,
   G_UNICODE_SCRIPT_ORIYA, G_UNICODE_SCRIPT_ORIYA, G_UNICODE_SCRIPT_ORIYA,
@@ -1117,7 +1117,7 @@ static const guchar g_script_easy_table[8192] = {
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_MALAYALAM,
+  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
@@ -1137,7 +1137,7 @@ static const guchar g_script_easy_table[8192] = {
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_MALAYALAM,
+  G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_MALAYALAM,
   G_UNICODE_SCRIPT_MALAYALAM, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_MALAYALAM,
@@ -2479,7 +2479,7 @@ static const guchar g_script_easy_table[8192] = {
   G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_COMMON,
   G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_COMMON,
   G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_INHERITED,
-  G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_UNKNOWN,
+  G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_COMMON, G_UNICODE_SCRIPT_COMMON,
   G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_LATIN,
@@ -2564,8 +2564,8 @@ static const guchar g_script_easy_table[8192] = {
   G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED,
   G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED,
   G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED,
-  G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_UNKNOWN,
-  G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_UNKNOWN,
+  G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED,
+  G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED,
   G_UNICODE_SCRIPT_UNKNOWN, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED,
   G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED, G_UNICODE_SCRIPT_INHERITED,
   G_UNICODE_SCRIPT_LATIN, G_UNICODE_SCRIPT_LATIN, G_UNICODE_SCRIPT_LATIN,
@@ -2755,7 +2755,7 @@ static const struct {
  { 0x207f,     1, G_UNICODE_SCRIPT_LATIN },
  { 0x2080,    15, G_UNICODE_SCRIPT_COMMON },
  { 0x2090,    13, G_UNICODE_SCRIPT_LATIN },
- { 0x20a0,    31, G_UNICODE_SCRIPT_COMMON },
+ { 0x20a0,    32, G_UNICODE_SCRIPT_COMMON },
  { 0x20d0,    33, G_UNICODE_SCRIPT_INHERITED },
  { 0x2100,    38, G_UNICODE_SCRIPT_COMMON },
  { 0x2126,     1, G_UNICODE_SCRIPT_GREEK },
@@ -2768,8 +2768,7 @@ static const struct {
  { 0x214f,    17, G_UNICODE_SCRIPT_COMMON },
  { 0x2160,    41, G_UNICODE_SCRIPT_LATIN },
  { 0x2189,     3, G_UNICODE_SCRIPT_COMMON },
- { 0x2190,   623, G_UNICODE_SCRIPT_COMMON },
- { 0x2400,    39, G_UNICODE_SCRIPT_COMMON },
+ { 0x2190,   663, G_UNICODE_SCRIPT_COMMON },
  { 0x2440,    11, G_UNICODE_SCRIPT_COMMON },
  { 0x2460,   928, G_UNICODE_SCRIPT_COMMON },
  { 0x2800,   256, G_UNICODE_SCRIPT_BRAILLE },
@@ -2777,7 +2776,7 @@ static const struct {
  { 0x2b76,    32, G_UNICODE_SCRIPT_COMMON },
  { 0x2b98,    34, G_UNICODE_SCRIPT_COMMON },
  { 0x2bbd,    12, G_UNICODE_SCRIPT_COMMON },
- { 0x2bca,     8, G_UNICODE_SCRIPT_COMMON },
+ { 0x2bca,     9, G_UNICODE_SCRIPT_COMMON },
  { 0x2bec,     4, G_UNICODE_SCRIPT_COMMON },
  { 0x2c00,    47, G_UNICODE_SCRIPT_GLAGOLITIC },
  { 0x2c30,    47, G_UNICODE_SCRIPT_GLAGOLITIC },
@@ -2800,7 +2799,7 @@ static const struct {
  { 0x2dd0,     7, G_UNICODE_SCRIPT_ETHIOPIC },
  { 0x2dd8,     7, G_UNICODE_SCRIPT_ETHIOPIC },
  { 0x2de0,    32, G_UNICODE_SCRIPT_CYRILLIC },
- { 0x2e00,    69, G_UNICODE_SCRIPT_COMMON },
+ { 0x2e00,    74, G_UNICODE_SCRIPT_COMMON },
  { 0x2e80,    26, G_UNICODE_SCRIPT_HAN },
  { 0x2e9b,    89, G_UNICODE_SCRIPT_HAN },
  { 0x2f00,   214, G_UNICODE_SCRIPT_HAN },
@@ -2824,7 +2823,7 @@ static const struct {
  { 0x30a1,    90, G_UNICODE_SCRIPT_KATAKANA },
  { 0x30fb,     2, G_UNICODE_SCRIPT_COMMON },
  { 0x30fd,     3, G_UNICODE_SCRIPT_KATAKANA },
- { 0x3105,    41, G_UNICODE_SCRIPT_BOPOMOFO },
+ { 0x3105,    42, G_UNICODE_SCRIPT_BOPOMOFO },
  { 0x3131,    94, G_UNICODE_SCRIPT_HANGUL },
  { 0x3190,    16, G_UNICODE_SCRIPT_COMMON },
  { 0x31a0,    27, G_UNICODE_SCRIPT_BOPOMOFO },
@@ -2839,7 +2838,7 @@ static const struct {
  { 0x3358,   168, G_UNICODE_SCRIPT_COMMON },
  { 0x3400,  6582, G_UNICODE_SCRIPT_HAN },
  { 0x4dc0,    64, G_UNICODE_SCRIPT_COMMON },
- { 0x4e00, 20950, G_UNICODE_SCRIPT_HAN },
+ { 0x4e00, 20971, G_UNICODE_SCRIPT_HAN },
  { 0xa000,  1165, G_UNICODE_SCRIPT_YI },
  { 0xa490,    55, G_UNICODE_SCRIPT_YI },
  { 0xa4d0,    48, G_UNICODE_SCRIPT_LISU },
@@ -2955,6 +2954,7 @@ static const struct {
  { 0x102e0,     1, G_UNICODE_SCRIPT_INHERITED },
  { 0x102e1,    27, G_UNICODE_SCRIPT_COMMON },
  { 0x10300,    36, G_UNICODE_SCRIPT_OLD_ITALIC },
+ { 0x1032d,     3, G_UNICODE_SCRIPT_OLD_ITALIC },
  { 0x10330,    27, G_UNICODE_SCRIPT_GOTHIC },
  { 0x10350,    43, G_UNICODE_SCRIPT_OLD_PERMIC },
  { 0x10380,    30, G_UNICODE_SCRIPT_UGARITIC },
@@ -3074,6 +3074,10 @@ static const struct {
  { 0x11730,    16, G_UNICODE_SCRIPT_AHOM },
  { 0x118a0,    83, G_UNICODE_SCRIPT_WARANG_CITI },
  { 0x118ff,     1, G_UNICODE_SCRIPT_WARANG_CITI },
+ { 0x11a00,    72, G_UNICODE_SCRIPT_ZANABAZAR_SQUARE },
+ { 0x11a50,    52, G_UNICODE_SCRIPT_SOYOMBO },
+ { 0x11a86,    23, G_UNICODE_SCRIPT_SOYOMBO },
+ { 0x11a9e,     5, G_UNICODE_SCRIPT_SOYOMBO },
  { 0x11ac0,    57, G_UNICODE_SCRIPT_PAU_CIN_HAU },
  { 0x11c00,     9, G_UNICODE_SCRIPT_BHAIKSUKI },
  { 0x11c0a,    45, G_UNICODE_SCRIPT_BHAIKSUKI },
@@ -3082,6 +3086,13 @@ static const struct {
  { 0x11c70,    32, G_UNICODE_SCRIPT_MARCHEN },
  { 0x11c92,    22, G_UNICODE_SCRIPT_MARCHEN },
  { 0x11ca9,    14, G_UNICODE_SCRIPT_MARCHEN },
+ { 0x11d00,     7, G_UNICODE_SCRIPT_MASARAM_GONDI },
+ { 0x11d08,     2, G_UNICODE_SCRIPT_MASARAM_GONDI },
+ { 0x11d0b,    44, G_UNICODE_SCRIPT_MASARAM_GONDI },
+ { 0x11d3a,     1, G_UNICODE_SCRIPT_MASARAM_GONDI },
+ { 0x11d3c,     2, G_UNICODE_SCRIPT_MASARAM_GONDI },
+ { 0x11d3f,     9, G_UNICODE_SCRIPT_MASARAM_GONDI },
+ { 0x11d50,    10, G_UNICODE_SCRIPT_MASARAM_GONDI },
  { 0x12000,   922, G_UNICODE_SCRIPT_CUNEIFORM },
  { 0x12400,   111, G_UNICODE_SCRIPT_CUNEIFORM },
  { 0x12470,     5, G_UNICODE_SCRIPT_CUNEIFORM },
@@ -3103,10 +3114,12 @@ static const struct {
  { 0x16f50,    47, G_UNICODE_SCRIPT_MIAO },
  { 0x16f8f,    17, G_UNICODE_SCRIPT_MIAO },
  { 0x16fe0,     1, G_UNICODE_SCRIPT_TANGUT },
+ { 0x16fe1,     1, G_UNICODE_SCRIPT_NUSHU },
  { 0x17000,  6125, G_UNICODE_SCRIPT_TANGUT },
  { 0x18800,   755, G_UNICODE_SCRIPT_TANGUT },
  { 0x1b000,     1, G_UNICODE_SCRIPT_KATAKANA },
- { 0x1b001,     1, G_UNICODE_SCRIPT_HIRAGANA },
+ { 0x1b001,   286, G_UNICODE_SCRIPT_HIRAGANA },
+ { 0x1b170,   396, G_UNICODE_SCRIPT_NUSHU },
  { 0x1bc00,   107, G_UNICODE_SCRIPT_DUPLOYAN },
  { 0x1bc70,    13, G_UNICODE_SCRIPT_DUPLOYAN },
  { 0x1bc80,     9, G_UNICODE_SCRIPT_DUPLOYAN },
@@ -3211,9 +3224,10 @@ static const struct {
  { 0x1f210,    44, G_UNICODE_SCRIPT_COMMON },
  { 0x1f240,     9, G_UNICODE_SCRIPT_COMMON },
  { 0x1f250,     2, G_UNICODE_SCRIPT_COMMON },
- { 0x1f300,   979, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f260,     6, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f300,   981, G_UNICODE_SCRIPT_COMMON },
  { 0x1f6e0,    13, G_UNICODE_SCRIPT_COMMON },
- { 0x1f6f0,     7, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f6f0,     9, G_UNICODE_SCRIPT_COMMON },
  { 0x1f700,   116, G_UNICODE_SCRIPT_COMMON },
  { 0x1f780,    85, G_UNICODE_SCRIPT_COMMON },
  { 0x1f800,    12, G_UNICODE_SCRIPT_COMMON },
@@ -3221,18 +3235,18 @@ static const struct {
  { 0x1f850,    10, G_UNICODE_SCRIPT_COMMON },
  { 0x1f860,    40, G_UNICODE_SCRIPT_COMMON },
  { 0x1f890,    30, G_UNICODE_SCRIPT_COMMON },
- { 0x1f910,    15, G_UNICODE_SCRIPT_COMMON },
- { 0x1f920,     8, G_UNICODE_SCRIPT_COMMON },
- { 0x1f930,     1, G_UNICODE_SCRIPT_COMMON },
- { 0x1f933,    12, G_UNICODE_SCRIPT_COMMON },
- { 0x1f940,    12, G_UNICODE_SCRIPT_COMMON },
- { 0x1f950,    15, G_UNICODE_SCRIPT_COMMON },
- { 0x1f980,    18, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f900,    12, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f910,    47, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f940,    13, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f950,    28, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f980,    24, G_UNICODE_SCRIPT_COMMON },
  { 0x1f9c0,     1, G_UNICODE_SCRIPT_COMMON },
+ { 0x1f9d0,    23, G_UNICODE_SCRIPT_COMMON },
  { 0x20000, 42711, G_UNICODE_SCRIPT_HAN },
  { 0x2a700,  4149, G_UNICODE_SCRIPT_HAN },
  { 0x2b740,   222, G_UNICODE_SCRIPT_HAN },
  { 0x2b820,  5762, G_UNICODE_SCRIPT_HAN },
+ { 0x2ceb0,  7473, G_UNICODE_SCRIPT_HAN },
  { 0x2f800,   542, G_UNICODE_SCRIPT_HAN },
  { 0xe0001,     1, G_UNICODE_SCRIPT_COMMON },
  { 0xe0020,    96, G_UNICODE_SCRIPT_COMMON },
index 2dfb4e8..8ed10d6 100644 (file)
@@ -1238,8 +1238,6 @@ g_spawn_check_exit_status (gint      exit_status,
   return ret;
 }
 
-#endif /* !GSPAWN_HELPER */
-
 #ifdef G_OS_WIN32
 
 /* Binary compatibility versions. Not for newly compiled code. */
@@ -1372,4 +1370,6 @@ g_spawn_command_line_async_utf8 (const gchar *command_line,
   return g_spawn_command_line_async (command_line, error);
 }
 
-#endif
+#endif /* G_OS_WIN32 */
+
+#endif /* !GSPAWN_HELPER */
index fcf4927..cf89bf5 100644 (file)
@@ -1277,10 +1277,10 @@ g_strerror (gint errnum)
       msg = buf;
 #elif defined(HAVE_STRERROR_R)
       /* Match the condition in strerror_r(3) for glibc */
-#  if defined(__GLIBC__) && !((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE)
+#  if defined(STRERROR_R_CHAR_P)
       msg = strerror_r (errnum, buf, sizeof (buf));
 #  else
-      strerror_r (errnum, buf, sizeof (buf));
+      (void) strerror_r (errnum, buf, sizeof (buf));
       msg = buf;
 #  endif /* HAVE_STRERROR_R */
 #else
index 3c5181d..659e8cc 100644 (file)
@@ -7,7 +7,7 @@
 #include <glib/gtypes.h>
 #include <glib/gunicode.h>
 
-#define G_UNICODE_DATA_VERSION "9.0.0"
+#define G_UNICODE_DATA_VERSION "10.0.0"
 
 #define G_UNICODE_LAST_CHAR 0x10FFFF
 
@@ -976,12 +976,12 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
@@ -1183,8 +1183,9 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_POSTFIX, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_PREFIX, G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_PREFIX, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN
   },
   { /* page 10, index 9 */
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_COMBINING_MARK, 
@@ -1312,9 +1313,9 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK
   },
   { /* page 11, index 10 */
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_COMBINING_MARK, 
@@ -1577,7 +1578,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
   { /* page 13, index 12 */
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -1606,8 +1607,8 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
@@ -3515,7 +3516,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
@@ -3645,8 +3646,8 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK
@@ -4288,7 +4289,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
   },
   { /* page 36, index 33 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -5046,7 +5047,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
@@ -5361,8 +5362,8 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, 
     G_UNICODE_BREAK_OPEN_PUNCTUATION, G_UNICODE_BREAK_AFTER, 
-    G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER
+    G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
@@ -5390,7 +5391,6 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -5403,7 +5403,8 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -5448,13 +5449,12 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
   { /* page 47, index 42 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -5761,7 +5761,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -13830,8 +13830,8 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_ALPHABETIC
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -16266,11 +16266,85 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_ALPHABETIC
   },
   { /* page 282, index 125 */
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_BEFORE, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, 
+    G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_BEFORE, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_BEFORE, G_UNICODE_BREAK_BEFORE, 
+    G_UNICODE_BREAK_BEFORE, G_UNICODE_BREAK_AFTER, G_UNICODE_BREAK_AFTER, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
@@ -16285,83 +16359,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -16390,10 +16388,10 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN
   },
   { /* page 284, index 126 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -16524,52 +16522,182 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 291, index 127 */
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+  { /* page 285, index 127 */
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_COMBINING_MARK, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_NUMERIC, G_UNICODE_BREAK_NUMERIC, 
+    G_UNICODE_BREAK_NUMERIC, G_UNICODE_BREAK_NUMERIC, 
+    G_UNICODE_BREAK_NUMERIC, G_UNICODE_BREAK_NUMERIC, 
+    G_UNICODE_BREAK_NUMERIC, G_UNICODE_BREAK_NUMERIC, 
+    G_UNICODE_BREAK_NUMERIC, G_UNICODE_BREAK_NUMERIC, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+  },
+  { /* page 291, index 128 */
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -16654,7 +16782,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 292, index 128 */
+  { /* page 292, index 129 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -16783,7 +16911,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
   },
-  { /* page 293, index 129 */
+  { /* page 293, index 130 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -16913,7 +17041,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 306, index 130 */
+  { /* page 306, index 131 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -17043,7 +17171,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
   },
-  { /* page 307, index 131 */
+  { /* page 307, index 132 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -17173,7 +17301,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
   },
-  { /* page 308, index 132 */
+  { /* page 308, index 133 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -17303,7 +17431,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 325, index 133 */
+  { /* page 325, index 134 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -17433,7 +17561,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
   },
-  { /* page 326, index 134 */
+  { /* page 326, index 135 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -17563,7 +17691,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 362, index 135 */
+  { /* page 362, index 136 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -17692,7 +17820,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 363, index 136 */
+  { /* page 363, index 137 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -17822,7 +17950,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 367, index 137 */
+  { /* page 367, index 138 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -17935,7 +18063,13 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_NON_STARTER, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_NON_STARTER, G_UNICODE_BREAK_NON_STARTER, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
@@ -17944,6 +18078,130 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+  },
+  { /* page 391, index 139 */
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
@@ -17952,7 +18210,85 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 391, index 138 */
+  { /* page 394, index 140 */
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -17996,6 +18332,15 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+  },
+  { /* page 433, index 141 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -18011,6 +18356,52 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -18071,18 +18462,19 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC
   },
-  { /* page 394, index 139 */
+  { /* page 434, index 142 */
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -18204,145 +18596,11 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
-  },
-  { /* page 432, index 140 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
-    G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 444, index 141 */
+  { /* page 444, index 143 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -18472,7 +18730,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 464, index 142 */
+  { /* page 464, index 144 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -18602,7 +18860,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 465, index 143 */
+  { /* page 465, index 145 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -18732,7 +18990,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 466, index 144 */
+  { /* page 466, index 146 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -18862,7 +19120,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 467, index 145 */
+  { /* page 467, index 147 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -18992,7 +19250,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 468, index 146 */
+  { /* page 468, index 148 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -19122,7 +19380,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
   },
-  { /* page 469, index 147 */
+  { /* page 469, index 149 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -19252,7 +19510,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
   },
-  { /* page 470, index 148 */
+  { /* page 470, index 150 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -19382,7 +19640,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC
   },
-  { /* page 471, index 149 */
+  { /* page 471, index 151 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -19512,7 +19770,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_NUMERIC, G_UNICODE_BREAK_NUMERIC, 
     G_UNICODE_BREAK_NUMERIC, G_UNICODE_BREAK_NUMERIC
   },
-  { /* page 474, index 150 */
+  { /* page 474, index 152 */
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
@@ -19641,7 +19899,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 480, index 151 */
+  { /* page 480, index 153 */
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
@@ -19771,7 +20029,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 488, index 152 */
+  { /* page 488, index 154 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -19901,7 +20159,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 489, index 153 */
+  { /* page 489, index 155 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -20031,7 +20289,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 494, index 154 */
+  { /* page 494, index 156 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_ALPHABETIC, 
@@ -20161,7 +20419,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 497, index 155 */
+  { /* page 497, index 157 */
     G_UNICODE_BREAK_AMBIGUOUS, G_UNICODE_BREAK_AMBIGUOUS, 
     G_UNICODE_BREAK_AMBIGUOUS, G_UNICODE_BREAK_AMBIGUOUS, 
     G_UNICODE_BREAK_AMBIGUOUS, G_UNICODE_BREAK_AMBIGUOUS, 
@@ -20291,7 +20549,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_REGIONAL_INDICATOR, G_UNICODE_BREAK_REGIONAL_INDICATOR, 
     G_UNICODE_BREAK_REGIONAL_INDICATOR, G_UNICODE_BREAK_REGIONAL_INDICATOR
   },
-  { /* page 499, index 156 */
+  { /* page 499, index 158 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -20389,12 +20647,12 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_EMOJI_BASE
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -20421,7 +20679,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_EMOJI_MODIFIER, G_UNICODE_BREAK_EMOJI_MODIFIER, 
     G_UNICODE_BREAK_EMOJI_MODIFIER, G_UNICODE_BREAK_EMOJI_MODIFIER
   },
-  { /* page 500, index 157 */
+  { /* page 500, index 159 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -20551,7 +20809,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC
   },
-  { /* page 501, index 158 */
+  { /* page 501, index 160 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -20610,7 +20868,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -20681,7 +20939,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC
   },
-  { /* page 502, index 159 */
+  { /* page 502, index 161 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -20784,7 +21042,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -20811,7 +21069,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC
   },
-  { /* page 503, index 160 */
+  { /* page 503, index 162 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -20941,7 +21199,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC
   },
-  { /* page 504, index 161 */
+  { /* page 504, index 163 */
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
@@ -21071,13 +21329,13 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC
   },
-  { /* page 505, index 162 */
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+  { /* page 505, index 164 */
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
+    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_ALPHABETIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -21086,8 +21344,8 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
-    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -21096,21 +21354,14 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
-    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -21183,6 +21434,13 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
+    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
+    G_UNICODE_BREAK_EMOJI_BASE, G_UNICODE_BREAK_EMOJI_BASE, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -21201,7 +21459,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC
   },
-  { /* page 511, index 163 */
+  { /* page 511, index 165 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -21331,7 +21589,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 767, index 164 */
+  { /* page 767, index 166 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -21461,7 +21719,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 1023, index 165 */
+  { /* page 1023, index 167 */
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
@@ -21591,7 +21849,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_IDEOGRAPHIC, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 3584, index 166 */
+  { /* page 3584, index 168 */
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
@@ -21721,7 +21979,7 @@ static const gint8 break_property_data[][256] = {
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN, 
     G_UNICODE_BREAK_UNKNOWN, G_UNICODE_BREAK_UNKNOWN
   },
-  { /* page 3585, index 167 */
+  { /* page 3585, index 169 */
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
     G_UNICODE_BREAK_COMBINING_MARK, G_UNICODE_BREAK_COMBINING_MARK, 
@@ -22140,15 +22398,15 @@ static const gint16 break_property_table_part1[763] = {
   125 /* page 282 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   126 /* page 284 */,
-  G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
+  127 /* page 285 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
-  127 /* page 291 */,
-  128 /* page 292 */,
-  129 /* page 293 */,
+  128 /* page 291 */,
+  129 /* page 292 */,
+  130 /* page 293 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
@@ -22161,9 +22419,9 @@ static const gint16 break_property_table_part1[763] = {
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
-  130 /* page 306 */,
-  131 /* page 307 */,
-  132 /* page 308 */,
+  131 /* page 306 */,
+  132 /* page 307 */,
+  133 /* page 308 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
@@ -22180,8 +22438,8 @@ static const gint16 break_property_table_part1[763] = {
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
-  133 /* page 325 */,
-  134 /* page 326 */,
+  134 /* page 325 */,
+  135 /* page 326 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
@@ -22217,12 +22475,12 @@ static const gint16 break_property_table_part1[763] = {
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
-  135 /* page 362 */,
-  136 /* page 363 */,
+  136 /* page 362 */,
+  137 /* page 363 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
-  137 /* page 367 */,
+  138 /* page 367 */,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
@@ -22246,11 +22504,10 @@ static const gint16 break_property_table_part1[763] = {
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
-  138 /* page 391 */,
+  139 /* page 391 */,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
-  139 /* page 394 */,
-  G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
+  140 /* page 394 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
@@ -22287,9 +22544,10 @@ static const gint16 break_property_table_part1[763] = {
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
-  140 /* page 432 */,
-  G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
+  141 /* page 433 */,
+  142 /* page 434 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
@@ -22299,7 +22557,7 @@ static const gint16 break_property_table_part1[763] = {
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
-  141 /* page 444 */,
+  143 /* page 444 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
@@ -22319,23 +22577,23 @@ static const gint16 break_property_table_part1[763] = {
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
-  142 /* page 464 */,
-  143 /* page 465 */,
-  144 /* page 466 */,
-  145 /* page 467 */,
-  146 /* page 468 */,
-  147 /* page 469 */,
-  148 /* page 470 */,
-  149 /* page 471 */,
+  144 /* page 464 */,
+  145 /* page 465 */,
+  146 /* page 466 */,
+  147 /* page 467 */,
+  148 /* page 468 */,
+  149 /* page 469 */,
+  150 /* page 470 */,
+  151 /* page 471 */,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_ALPHABETIC + G_UNICODE_MAX_TABLE_INDEX,
-  150 /* page 474 */,
+  152 /* page 474 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
-  151 /* page 480 */,
+  153 /* page 480 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
@@ -22343,30 +22601,30 @@ static const gint16 break_property_table_part1[763] = {
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
-  152 /* page 488 */,
-  153 /* page 489 */,
+  154 /* page 488 */,
+  155 /* page 489 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
-  154 /* page 494 */,
+  156 /* page 494 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
-  155 /* page 497 */,
+  157 /* page 497 */,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
-  156 /* page 499 */,
-  157 /* page 500 */,
-  158 /* page 501 */,
-  159 /* page 502 */,
-  160 /* page 503 */,
-  161 /* page 504 */,
-  162 /* page 505 */,
+  158 /* page 499 */,
+  159 /* page 500 */,
+  160 /* page 501 */,
+  161 /* page 502 */,
+  162 /* page 503 */,
+  163 /* page 504 */,
+  164 /* page 505 */,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
-  163 /* page 511 */,
+  165 /* page 511 */,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_IDEOGRAPHIC + G_UNICODE_MAX_TABLE_INDEX,
@@ -22622,8 +22880,8 @@ static const gint16 break_property_table_part1[763] = {
 
 /* U+E0000 through U+10FFFF */
 static const gint16 break_property_table_part2[768] = {
-  166 /* page 3584 */,
-  167 /* page 3585 */,
+  168 /* page 3584 */,
+  169 /* page 3585 */,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_BREAK_UNKNOWN + G_UNICODE_MAX_TABLE_INDEX,
index 52d188c..c3332af 100644 (file)
@@ -4,7 +4,7 @@
 #ifndef CHARTABLES_H
 #define CHARTABLES_H
 
-#define G_UNICODE_DATA_VERSION "9.0.0"
+#define G_UNICODE_DATA_VERSION "10.0.0"
 
 #define G_UNICODE_LAST_CHAR 0x10ffff
 
@@ -1016,10 +1016,10 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_PUNCTUATION, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -1173,8 +1173,9 @@ static const char type_data[][256] = {
     G_UNICODE_CURRENCY_SYMBOL, G_UNICODE_CURRENCY_SYMBOL, 
     G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, 
     G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_CURRENCY_SYMBOL, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_CURRENCY_SYMBOL, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
   { /* page 10, index 10 */
     G_UNICODE_UNASSIGNED, G_UNICODE_NON_SPACING_MARK, 
@@ -1267,9 +1268,10 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_CURRENCY_SYMBOL, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK
   },
   { /* page 11, index 11 */
     G_UNICODE_UNASSIGNED, G_UNICODE_NON_SPACING_MARK, G_UNICODE_SPACING_MARK, 
@@ -1460,13 +1462,14 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
   { /* page 13, index 13 */
-    G_UNICODE_UNASSIGNED, G_UNICODE_NON_SPACING_MARK, G_UNICODE_SPACING_MARK, 
-    G_UNICODE_SPACING_MARK, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, G_UNICODE_UNASSIGNED
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -1479,14 +1482,13 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, G_UNICODE_SPACING_MARK, 
-    G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, 
+    G_UNICODE_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, 
-    G_UNICODE_SPACING_MARK, G_UNICODE_UNASSIGNED, G_UNICODE_SPACING_MARK
-    G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_UNASSIGNED, G_UNICODE_SPACING_MARK, 
+    G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, G_UNICODE_UNASSIGNED
+    G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, 
@@ -2818,10 +2820,10 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_SPACING_MARK, G_UNICODE_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_NON_SPACING_MARK, 
-    G_UNICODE_NON_SPACING_MARK, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_OTHER_LETTER, G_UNICODE_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
   { /* page 29, index 27 */
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
@@ -2947,8 +2949,9 @@ static const char type_data[][256] = {
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK
   },
@@ -3294,7 +3297,7 @@ static const char type_data[][256] = {
     G_UNICODE_CURRENCY_SYMBOL, G_UNICODE_CURRENCY_SYMBOL, 
     G_UNICODE_CURRENCY_SYMBOL, G_UNICODE_CURRENCY_SYMBOL, 
     G_UNICODE_CURRENCY_SYMBOL, G_UNICODE_CURRENCY_SYMBOL, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_CURRENCY_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -3513,7 +3516,7 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
   },
   { /* page 36, index 33 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -4036,7 +4039,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -4317,8 +4320,9 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
     G_UNICODE_DASH_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
     G_UNICODE_OPEN_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
-    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -4585,7 +4589,7 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -4905,6 +4909,13 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -4912,13 +4923,6 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
   { /* page 160, index 48 */
@@ -6594,7 +6598,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -8376,8 +8380,72 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER
   },
   { /* page 282, index 84 */
+    G_UNICODE_OTHER_LETTER, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_SPACING_MARK, 
+    G_UNICODE_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_SPACING_MARK, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_SPACING_MARK, 
+    G_UNICODE_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
+    G_UNICODE_OTHER_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -8387,60 +8455,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -8459,9 +8474,9 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
   { /* page 284, index 85 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -8562,46 +8577,11 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 291, index 86 */
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+  { /* page 285, index 86 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -8614,9 +8594,24 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
-    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_NON_SPACING_MARK, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_NON_SPACING_MARK, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_DECIMAL_NUMBER, G_UNICODE_DECIMAL_NUMBER, 
+    G_UNICODE_DECIMAL_NUMBER, G_UNICODE_DECIMAL_NUMBER, 
+    G_UNICODE_DECIMAL_NUMBER, G_UNICODE_DECIMAL_NUMBER, 
+    G_UNICODE_DECIMAL_NUMBER, G_UNICODE_DECIMAL_NUMBER, 
+    G_UNICODE_DECIMAL_NUMBER, G_UNICODE_DECIMAL_NUMBER, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -8648,13 +8643,124 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED
-  },
-  { /* page 292, index 87 */
-    G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
-    G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
-    G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
-    G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+  },
+  { /* page 291, index 87 */
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED
+  },
+  { /* page 292, index 88 */
+    G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
+    G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
+    G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
+    G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
     G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
     G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
     G_UNICODE_LETTER_NUMBER, G_UNICODE_LETTER_NUMBER, 
@@ -8757,7 +8863,7 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER
   },
-  { /* page 293, index 88 */
+  { /* page 293, index 89 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -8845,7 +8951,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 308, index 89 */
+  { /* page 308, index 90 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -8933,7 +9039,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 326, index 90 */
+  { /* page 326, index 91 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -9021,7 +9127,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 362, index 91 */
+  { /* page 362, index 92 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -9111,7 +9217,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 363, index 92 */
+  { /* page 363, index 93 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -9203,7 +9309,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 367, index 93 */
+  { /* page 367, index 94 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -9281,7 +9387,8 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_MODIFIER_LETTER, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_MODIFIER_LETTER, 
+    G_UNICODE_MODIFIER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -9291,9 +9398,9 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_UNASSIGNED
   },
-  { /* page 391, index 94 */
+  { /* page 391, index 95 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -9381,7 +9488,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 394, index 95 */
+  { /* page 394, index 96 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -9469,65 +9576,18 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 432, index 96 */
-    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+  { /* page 433, index 97 */
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -9554,10 +9614,145 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER
+  },
+  { /* page 434, index 98 */
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 444, index 97 */
+  { /* page 444, index 99 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -9645,7 +9840,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 464, index 98 */
+  { /* page 464, index 100 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -9733,7 +9928,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 465, index 99 */
+  { /* page 465, index 101 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -9825,7 +10020,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 466, index 100 */
+  { /* page 466, index 102 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -9913,7 +10108,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 467, index 101 */
+  { /* page 467, index 103 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -10001,7 +10196,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 468, index 102 */
+  { /* page 468, index 104 */
     G_UNICODE_UPPERCASE_LETTER, G_UNICODE_UPPERCASE_LETTER, 
     G_UNICODE_UPPERCASE_LETTER, G_UNICODE_UPPERCASE_LETTER, 
     G_UNICODE_UPPERCASE_LETTER, G_UNICODE_UPPERCASE_LETTER, 
@@ -10130,7 +10325,7 @@ static const char type_data[][256] = {
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_LOWERCASE_LETTER
   },
-  { /* page 469, index 103 */
+  { /* page 469, index 105 */
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_UPPERCASE_LETTER, G_UNICODE_UPPERCASE_LETTER, 
@@ -10259,7 +10454,7 @@ static const char type_data[][256] = {
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_LOWERCASE_LETTER
   },
-  { /* page 470, index 104 */
+  { /* page 470, index 106 */
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
@@ -10389,7 +10584,7 @@ static const char type_data[][256] = {
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_LOWERCASE_LETTER
   },
-  { /* page 471, index 105 */
+  { /* page 471, index 107 */
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
     G_UNICODE_LOWERCASE_LETTER, G_UNICODE_LOWERCASE_LETTER, 
@@ -10519,7 +10714,7 @@ static const char type_data[][256] = {
     G_UNICODE_DECIMAL_NUMBER, G_UNICODE_DECIMAL_NUMBER, 
     G_UNICODE_DECIMAL_NUMBER
   },
-  { /* page 474, index 106 */
+  { /* page 474, index 108 */
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
@@ -10630,7 +10825,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 480, index 107 */
+  { /* page 480, index 109 */
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
@@ -10724,7 +10919,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 488, index 108 */
+  { /* page 488, index 110 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -10813,7 +11008,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 489, index 109 */
+  { /* page 489, index 111 */
     G_UNICODE_UPPERCASE_LETTER, G_UNICODE_UPPERCASE_LETTER, 
     G_UNICODE_UPPERCASE_LETTER, G_UNICODE_UPPERCASE_LETTER, 
     G_UNICODE_UPPERCASE_LETTER, G_UNICODE_UPPERCASE_LETTER, 
@@ -10915,7 +11110,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 494, index 110 */
+  { /* page 494, index 112 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -11003,7 +11198,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 496, index 111 */
+  { /* page 496, index 113 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -11091,7 +11286,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 497, index 112 */
+  { /* page 497, index 114 */
     G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, 
     G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, 
     G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, G_UNICODE_OTHER_NUMBER, 
@@ -11179,7 +11374,7 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL
   },
-  { /* page 498, index 113 */
+  { /* page 498, index 115 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -11212,8 +11407,8 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -11267,7 +11462,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 499, index 114 */
+  { /* page 499, index 116 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -11356,7 +11551,8 @@ static const char type_data[][256] = {
     G_UNICODE_MODIFIER_SYMBOL, G_UNICODE_MODIFIER_SYMBOL, 
     G_UNICODE_MODIFIER_SYMBOL
   },
-  { /* page 502, index 115 */
+  { /* page 502, index 117 */
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -11427,7 +11623,6 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -11439,12 +11634,12 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 503, index 116 */
+  { /* page 503, index 118 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -11532,7 +11727,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 504, index 117 */
+  { /* page 504, index 119 */
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -11620,24 +11815,24 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 505, index 118 */
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+  { /* page 505, index 120 */
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
@@ -11646,17 +11841,17 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
-    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -11669,6 +11864,8 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -11683,21 +11880,19 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_OTHER_SYMBOL, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
+    G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
+    G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL, G_UNICODE_OTHER_SYMBOL
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -11708,7 +11903,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 678, index 119 */
+  { /* page 678, index 121 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -11796,7 +11991,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 695, index 120 */
+  { /* page 695, index 122 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -11884,7 +12079,7 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER
   },
-  { /* page 696, index 121 */
+  { /* page 696, index 123 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -11972,7 +12167,7 @@ static const char type_data[][256] = {
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER
   },
-  { /* page 718, index 122 */
+  { /* page 718, index 124 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -12031,23 +12226,111 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
-    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
+    G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER
+  },
+  { /* page 747, index 125 */
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
+    G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -12060,7 +12343,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 762, index 123 */
+  { /* page 762, index 126 */
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
     G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, G_UNICODE_OTHER_LETTER, 
@@ -12148,7 +12431,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 3584, index 124 */
+  { /* page 3584, index 127 */
     G_UNICODE_UNASSIGNED, G_UNICODE_FORMAT, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
@@ -12228,7 +12511,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED
   },
-  { /* page 3585, index 125 */
+  { /* page 3585, index 128 */
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
     G_UNICODE_NON_SPACING_MARK, G_UNICODE_NON_SPACING_MARK, 
@@ -12356,7 +12639,7 @@ static const char type_data[][256] = {
     G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 4095, index 126 */
+  { /* page 4095, index 129 */
     G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, 
     G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, 
     G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, 
@@ -12444,7 +12727,7 @@ static const char type_data[][256] = {
     G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, G_UNICODE_UNASSIGNED, 
     G_UNICODE_UNASSIGNED
   },
-  { /* page 4351, index 127 */
+  { /* page 4351, index 130 */
     G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, 
     G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, 
     G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, G_UNICODE_PRIVATE_USE, 
@@ -12821,15 +13104,15 @@ static const gint16 type_table_part1[763] = {
   84 /* page 282 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   85 /* page 284 */,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
+  86 /* page 285 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  86 /* page 291 */,
-  87 /* page 292 */,
-  88 /* page 293 */,
+  87 /* page 291 */,
+  88 /* page 292 */,
+  89 /* page 293 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -12844,7 +13127,7 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  89 /* page 308 */,
+  90 /* page 308 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -12862,7 +13145,7 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  90 /* page 326 */,
+  91 /* page 326 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -12898,12 +13181,12 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  91 /* page 362 */,
-  92 /* page 363 */,
+  92 /* page 362 */,
+  93 /* page 363 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  93 /* page 367 */,
+  94 /* page 367 */,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
@@ -12927,11 +13210,10 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  94 /* page 391 */,
+  95 /* page 391 */,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  95 /* page 394 */,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
+  96 /* page 394 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -12968,9 +13250,10 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  96 /* page 432 */,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  97 /* page 433 */,
+  98 /* page 434 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -12980,7 +13263,7 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  97 /* page 444 */,
+  99 /* page 444 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -13000,23 +13283,23 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  98 /* page 464 */,
-  99 /* page 465 */,
-  100 /* page 466 */,
-  101 /* page 467 */,
-  102 /* page 468 */,
-  103 /* page 469 */,
-  104 /* page 470 */,
-  105 /* page 471 */,
+  100 /* page 464 */,
+  101 /* page 465 */,
+  102 /* page 466 */,
+  103 /* page 467 */,
+  104 /* page 468 */,
+  105 /* page 469 */,
+  106 /* page 470 */,
+  107 /* page 471 */,
   G_UNICODE_OTHER_SYMBOL + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_SYMBOL + G_UNICODE_MAX_TABLE_INDEX,
-  106 /* page 474 */,
+  108 /* page 474 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  107 /* page 480 */,
+  109 /* page 480 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -13024,24 +13307,24 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  108 /* page 488 */,
-  109 /* page 489 */,
+  110 /* page 488 */,
+  111 /* page 489 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  110 /* page 494 */,
+  112 /* page 494 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  111 /* page 496 */,
-  112 /* page 497 */,
-  113 /* page 498 */,
-  114 /* page 499 */,
+  113 /* page 496 */,
+  114 /* page 497 */,
+  115 /* page 498 */,
+  116 /* page 499 */,
   G_UNICODE_OTHER_SYMBOL + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_SYMBOL + G_UNICODE_MAX_TABLE_INDEX,
-  115 /* page 502 */,
-  116 /* page 503 */,
-  117 /* page 504 */,
-  118 /* page 505 */,
+  117 /* page 502 */,
+  118 /* page 503 */,
+  119 /* page 504 */,
+  120 /* page 505 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -13214,7 +13497,7 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  119 /* page 678 */,
+  121 /* page 678 */,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
@@ -13231,8 +13514,8 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  120 /* page 695 */,
-  121 /* page 696 */,
+  122 /* page 695 */,
+  123 /* page 696 */,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
@@ -13254,36 +13537,36 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  122 /* page 718 */,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
-  G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
+  124 /* page 718 */,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
+  125 /* page 747 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -13298,13 +13581,13 @@ static const gint16 type_table_part1[763] = {
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_OTHER_LETTER + G_UNICODE_MAX_TABLE_INDEX,
-  123 /* page 762 */
+  126 /* page 762 */
 };
 
 /* U+E0000 through U+10FFFF */
 static const gint16 type_table_part2[768] = {
-  124 /* page 3584 */,
-  125 /* page 3585 */,
+  127 /* page 3584 */,
+  128 /* page 3585 */,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_UNASSIGNED + G_UNICODE_MAX_TABLE_INDEX,
@@ -13814,7 +14097,7 @@ static const gint16 type_table_part2[768] = {
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
-  126 /* page 4095 */,
+  129 /* page 4095 */,
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
@@ -14070,7 +14353,7 @@ static const gint16 type_table_part2[768] = {
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
   G_UNICODE_PRIVATE_USE + G_UNICODE_MAX_TABLE_INDEX,
-  127 /* page 4351 */
+  130 /* page 4351 */
 };
 
 static const gunichar attr_data[][256] = {
@@ -15540,7 +15823,38 @@ static const gunichar attr_data[][256] = {
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000
   },
-  { /* page 362, index 47 */
+  { /* page 285, index 47 */
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
+    0x0000, 0x0000, 0x0000, 0x0000
+  },
+  { /* page 362, index 48 */
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
@@ -15571,7 +15885,7 @@ static const gunichar attr_data[][256] = {
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000
   },
-  { /* page 363, index 48 */
+  { /* page 363, index 49 */
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
@@ -15602,7 +15916,7 @@ static const gunichar attr_data[][256] = {
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000
   },
-  { /* page 471, index 49 */
+  { /* page 471, index 50 */
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
@@ -15633,7 +15947,7 @@ static const gunichar attr_data[][256] = {
     0x0007, 0x0008, 0x0009, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 
     0x0006, 0x0007, 0x0008, 0x0009
   },
-  { /* page 489, index 50 */
+  { /* page 489, index 51 */
     0x1e922, 0x1e923, 0x1e924, 0x1e925, 0x1e926, 0x1e927, 0x1e928, 0x1e929, 
     0x1e92a, 0x1e92b, 0x1e92c, 0x1e92d, 0x1e92e, 0x1e92f, 0x1e930, 0x1e931, 
     0x1e932, 0x1e933, 0x1e934, 0x1e935, 0x1e936, 0x1e937, 0x1e938, 0x1e939, 
@@ -15954,6 +16268,7 @@ static const gint16 attr_table_part1[763] = {
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   46 /* page 284 */,
+  47 /* page 285 */,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
@@ -16030,9 +16345,8 @@ static const gint16 attr_table_part1[763] = {
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
-  0x0000 + G_UNICODE_MAX_TABLE_INDEX,
-  47 /* page 362 */,
-  48 /* page 363 */,
+  48 /* page 362 */,
+  49 /* page 363 */,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
@@ -16140,7 +16454,7 @@ static const gint16 attr_table_part1[763] = {
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
-  49 /* page 471 */,
+  50 /* page 471 */,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
@@ -16158,7 +16472,7 @@ static const gint16 attr_table_part1[763] = {
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
-  50 /* page 489 */,
+  51 /* page 489 */,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
   0x0000 + G_UNICODE_MAX_TABLE_INDEX,
@@ -17665,7 +17979,7 @@ static const struct Interval g_unicode_width_table_wide[] = {
 {0x3000, 0x303E},
 {0x3041, 0x3096},
 {0x3099, 0x30FF},
-{0x3105, 0x312D},
+{0x3105, 0x312E},
 {0x3131, 0x318E},
 {0x3190, 0x31BA},
 {0x31C0, 0x31E3},
@@ -17684,10 +17998,11 @@ static const struct Interval g_unicode_width_table_wide[] = {
 {0xFE68, 0xFE6B},
 {0xFF01, 0xFF60},
 {0xFFE0, 0xFFE6},
-{0x16FE0, 0x16FE0},
+{0x16FE0, 0x16FE1},
 {0x17000, 0x187EC},
 {0x18800, 0x18AF2},
-{0x1B000, 0x1B001},
+{0x1B000, 0x1B11E},
+{0x1B170, 0x1B2FB},
 {0x1F004, 0x1F004},
 {0x1F0CF, 0x1F0CF},
 {0x1F18E, 0x1F18E},
@@ -17696,6 +18011,7 @@ static const struct Interval g_unicode_width_table_wide[] = {
 {0x1F210, 0x1F23B},
 {0x1F240, 0x1F248},
 {0x1F250, 0x1F251},
+{0x1F260, 0x1F265},
 {0x1F300, 0x1F320},
 {0x1F32D, 0x1F335},
 {0x1F337, 0x1F37C},
@@ -17718,15 +18034,13 @@ static const struct Interval g_unicode_width_table_wide[] = {
 {0x1F6CC, 0x1F6CC},
 {0x1F6D0, 0x1F6D2},
 {0x1F6EB, 0x1F6EC},
-{0x1F6F4, 0x1F6F6},
-{0x1F910, 0x1F91E},
-{0x1F920, 0x1F927},
-{0x1F930, 0x1F930},
-{0x1F933, 0x1F93E},
-{0x1F940, 0x1F94B},
-{0x1F950, 0x1F95E},
-{0x1F980, 0x1F991},
+{0x1F6F4, 0x1F6F8},
+{0x1F910, 0x1F93E},
+{0x1F940, 0x1F94C},
+{0x1F950, 0x1F96B},
+{0x1F980, 0x1F997},
 {0x1F9C0, 0x1F9C0},
+{0x1F9D0, 0x1F9E6},
 {0x20000, 0x2FFFD},
 {0x30000, 0x3FFFD},
 };
index ff4392e..e817677 100644 (file)
@@ -411,6 +411,10 @@ typedef enum
  * @G_UNICODE_SCRIPT_NEWA:                 Newa. Since: 2.50
  * @G_UNICODE_SCRIPT_OSAGE:                Osage. Since: 2.50
  * @G_UNICODE_SCRIPT_TANGUT:               Tangut. Since: 2.50
+ * @G_UNICODE_SCRIPT_MASARAM_GONDI,        Masaram Gondi. Since: 2.54
+ * @G_UNICODE_SCRIPT_NUSHU,                Nushu. Since: 2.54
+ * @G_UNICODE_SCRIPT_SOYOMBO,              Soyombo. Since: 2.54
+ * @G_UNICODE_SCRIPT_ZANABAZAR_SQUARE      Zanabazar Square. Since: 2.54
  *
  * The #GUnicodeScript enumeration identifies different writing
  * systems. The values correspond to the names as defined in the
@@ -581,7 +585,13 @@ typedef enum
   G_UNICODE_SCRIPT_MARCHEN,                /* Marc */
   G_UNICODE_SCRIPT_NEWA,                   /* Newa */
   G_UNICODE_SCRIPT_OSAGE,                  /* Osge */
-  G_UNICODE_SCRIPT_TANGUT                  /* Tang */
+  G_UNICODE_SCRIPT_TANGUT,                 /* Tang */
+
+  /* Unicode 10.0 additions */
+  G_UNICODE_SCRIPT_MASARAM_GONDI,          /* Gonm */
+  G_UNICODE_SCRIPT_NUSHU,                  /* Nshu */
+  G_UNICODE_SCRIPT_SOYOMBO,                /* Soyo */
+  G_UNICODE_SCRIPT_ZANABAZAR_SQUARE        /* Zanb */
 } GUnicodeScript;
 
 GLIB_AVAILABLE_IN_ALL
index a3b4223..ab9f63d 100644 (file)
@@ -155,7 +155,7 @@ static const guchar cclass_data[][256] = {
   { /* page 13, index 10 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -310,8 +310,8 @@ static const guchar cclass_data[][256] = {
     230, 230, 220, 230, 230, 230, 230, 230, 230, 230, 220, 230, 230, 234, 
     214, 220, 202, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 
     230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 
-    230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 0, 0, 0, 0
-    0, 230, 233, 220, 230, 220
+    230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 232, 228
+    228, 220, 0, 230, 233, 220, 230, 220
   },
   { /* page 32, index 22 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -617,7 +617,20 @@ static const guchar cclass_data[][256] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 284, index 45 */
+  { /* page 282, index 45 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 284, index 46 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -630,7 +643,20 @@ static const guchar cclass_data[][256] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 362, index 46 */
+  { /* page 285, index 47 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 9, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 362, index 48 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -643,7 +669,7 @@ static const guchar cclass_data[][256] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 363, index 47 */
+  { /* page 363, index 49 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     230, 230, 230, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -656,7 +682,7 @@ static const guchar cclass_data[][256] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 444, index 48 */
+  { /* page 444, index 50 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -669,7 +695,7 @@ static const guchar cclass_data[][256] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 465, index 49 */
+  { /* page 465, index 51 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -683,7 +709,7 @@ static const guchar cclass_data[][256] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 466, index 50 */
+  { /* page 466, index 52 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 0, 
@@ -696,7 +722,7 @@ static const guchar cclass_data[][256] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 480, index 51 */
+  { /* page 480, index 53 */
     230, 230, 230, 230, 230, 230, 230, 0, 230, 230, 230, 230, 230, 230, 230, 
     230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 0, 0, 230, 230, 230, 
     230, 230, 230, 230, 0, 230, 230, 0, 230, 230, 230, 230, 230, 0, 0, 0, 0, 
@@ -710,7 +736,7 @@ static const guchar cclass_data[][256] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 488, index 52 */
+  { /* page 488, index 54 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -723,7 +749,7 @@ static const guchar cclass_data[][256] = {
     220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
   },
-  { /* page 489, index 53 */
+  { /* page 489, index 55 */
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 
@@ -1021,10 +1047,10 @@ static const gint16 combining_class_table_part1[763] = {
   44 /* page 279 */,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
+  45 /* page 282 */,
   0 + G_UNICODE_MAX_TABLE_INDEX,
-  0 + G_UNICODE_MAX_TABLE_INDEX,
-  45 /* page 284 */,
-  0 + G_UNICODE_MAX_TABLE_INDEX,
+  46 /* page 284 */,
+  47 /* page 285 */,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
@@ -1101,8 +1127,8 @@ static const gint16 combining_class_table_part1[763] = {
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
-  46 /* page 362 */,
-  47 /* page 363 */,
+  48 /* page 362 */,
+  49 /* page 363 */,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
@@ -1183,7 +1209,7 @@ static const gint16 combining_class_table_part1[763] = {
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
-  48 /* page 444 */,
+  50 /* page 444 */,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
@@ -1204,8 +1230,8 @@ static const gint16 combining_class_table_part1[763] = {
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
-  49 /* page 465 */,
-  50 /* page 466 */,
+  51 /* page 465 */,
+  52 /* page 466 */,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
@@ -1219,7 +1245,7 @@ static const gint16 combining_class_table_part1[763] = {
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
-  51 /* page 480 */,
+  53 /* page 480 */,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
@@ -1227,8 +1253,8 @@ static const gint16 combining_class_table_part1[763] = {
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
-  52 /* page 488 */,
-  53 /* page 489 */,
+  54 /* page 488 */,
+  55 /* page 489 */,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
   0 + G_UNICODE_MAX_TABLE_INDEX,
index 4ce9474..63e7ba5 100644 (file)
@@ -1434,6 +1434,12 @@ static const guint32 iso15924_tags[] =
     PACK ('N','e','w','a'), /* G_UNICODE_SCRIPT_NEWA */
     PACK ('O','s','g','e'), /* G_UNICODE_SCRIPT_OSAGE */
     PACK ('T','a','n','g'), /* G_UNICODE_SCRIPT_TANGUT */
+
+  /* Unicode 10.0 additions */
+    PACK ('G','o','n','m'), /* G_UNICODE_SCRIPT_MASARAM_GONDI */
+    PACK ('N','s','h','u'), /* G_UNICODE_SCRIPT_NUSHU */
+    PACK ('S','o','y','o'), /* G_UNICODE_SCRIPT_SOYOMBO */
+    PACK ('Z','a','n','b'), /* G_UNICODE_SCRIPT_ZANABAZAR_SQUARE */
 #undef PACK
 };
 
index e66e061..e0d0850 100644 (file)
@@ -162,7 +162,13 @@ g_utf8_find_prev_char (const char *str,
  * is made to see if the character found is actually valid other than
  * it starts with an appropriate byte.
  * 
- * Returns: a pointer to the found character or %NULL
+ * If @end is %NULL, the return value will never be %NULL: if the end of the
+ * string is reached, a pointer to the terminating nul byte is returned. If
+ * @end is non-%NULL, the return value will be %NULL if the end of the string
+ * is reached.
+ *
+ * Returns: (nullable): a pointer to the found character or %NULL if @end is
+ *    set and is reached
  */
 gchar *
 g_utf8_find_next_char (const gchar *p,
@@ -654,6 +660,10 @@ g_utf8_get_char_extended (const  gchar *p,
  * This function checks for incomplete characters, for invalid characters
  * such as characters that are out of the range of Unicode, and for
  * overlong encodings of valid characters.
+ *
+ * Note that g_utf8_get_char_validated() returns (gunichar)-2 if
+ * @max_len is positive and any of the bytes in the first UTF-8 character
+ * sequence are nul.
  * 
  * Returns: the resulting character. If @p points to a partial
  *     sequence at the end of a string that could begin a valid 
index e117d07..6c4f817 100644 (file)
  *
  * To put the entire example together, for our dictionary mapping
  * strings to variants (with two entries, as given above), we are
- * using 91 bytes of memory for type information, 29 byes of memory
+ * using 91 bytes of memory for type information, 29 bytes of memory
  * for the serialised data, 16 bytes for buffer management and 24
  * bytes for the #GVariant instance, or a total of 160 bytes, plus
  * malloc overhead.  If we were to use g_variant_get_child_value() to
index f54d65f..cc6da5f 100644 (file)
@@ -616,6 +616,49 @@ g_win32_get_windows_version (void)
   return windows_version;
 }
 
+/*
+ * Doesn't use gettext (and gconv), preventing recursive calls when
+ * g_win32_locale_filename_from_utf8() is called during
+ * gettext initialization.
+ */
+static gchar *
+special_wchar_to_locale_enoding (wchar_t *wstring)
+{
+  int sizeof_output;
+  int wctmb_result;
+  char *result;
+  BOOL not_representable = FALSE;
+
+  sizeof_output = WideCharToMultiByte (CP_ACP,
+                                       WC_NO_BEST_FIT_CHARS,
+                                       wstring, -1,
+                                       NULL, 0,
+                                       NULL,
+                                       &not_representable);
+
+  if (not_representable ||
+      sizeof_output == 0 ||
+      sizeof_output > MAX_PATH)
+    return NULL;
+
+  result = g_malloc0 (sizeof_output + 1);
+
+  wctmb_result = WideCharToMultiByte (CP_ACP,
+                                      WC_NO_BEST_FIT_CHARS,
+                                      wstring, -1,
+                                      result, sizeof_output + 1,
+                                      NULL,
+                                      &not_representable);
+
+  if (wctmb_result == sizeof_output &&
+      not_representable == FALSE)
+    return result;
+
+  g_free (result);
+
+  return NULL;
+}
+
 /**
  * g_win32_locale_filename_from_utf8:
  * @utf8filename: a UTF-8 encoded filename.
@@ -648,26 +691,27 @@ g_win32_get_windows_version (void)
 gchar *
 g_win32_locale_filename_from_utf8 (const gchar *utf8filename)
 {
-  gchar *retval = g_locale_from_utf8 (utf8filename, -1, NULL, NULL, NULL);
+  gchar *retval;
+  wchar_t *wname;
+
+  wname = g_utf8_to_utf16 (utf8filename, -1, NULL, NULL, NULL);
+
+  if (wname == NULL)
+    return NULL;
+
+  retval = special_wchar_to_locale_enoding (wname);
 
   if (retval == NULL)
     {
-      /* Conversion failed, so convert to wide chars, check if there
-       * is a 8.3 version, and use that.
-       */
-      wchar_t *wname = g_utf8_to_utf16 (utf8filename, -1, NULL, NULL, NULL);
-      if (wname != NULL)
-       {
-         wchar_t wshortname[MAX_PATH + 1];
-         if (GetShortPathNameW (wname, wshortname, G_N_ELEMENTS (wshortname)))
-           {
-             gchar *tem = g_utf16_to_utf8 (wshortname, -1, NULL, NULL, NULL);
-             retval = g_locale_from_utf8 (tem, -1, NULL, NULL, NULL);
-             g_free (tem);
-           }
-         g_free (wname);
-       }
+      /* Conversion failed, so check if there is a 8.3 version, and use that. */
+      wchar_t wshortname[MAX_PATH + 1];
+
+      if (GetShortPathNameW (wname, wshortname, G_N_ELEMENTS (wshortname)))
+        retval = special_wchar_to_locale_enoding (wshortname);
     }
+
+  g_free (wname);
+
   return retval;
 }
 
index 7dc8d93..6696afa 100644 (file)
@@ -84,7 +84,6 @@ gchar*                g_win32_getlocale  (void);
 GLIB_AVAILABLE_IN_ALL
 gchar*          g_win32_error_message (gint error);
 
-#ifndef _WIN64
 GLIB_DEPRECATED
 gchar*          g_win32_get_package_installation_directory (const gchar *package,
                                                            const gchar *dll_name);
@@ -93,7 +92,6 @@ GLIB_DEPRECATED
 gchar*          g_win32_get_package_installation_subdirectory (const gchar *package,
                                                               const gchar *dll_name,
                                                               const gchar *subdir);
-#endif
 
 GLIB_AVAILABLE_IN_ALL
 gchar*          g_win32_get_package_installation_directory_of_module (gpointer hmodule);
diff --git a/glib/makefile.msc b/glib/makefile.msc
deleted file mode 100644 (file)
index 13a250d..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-## Makefile for building the GLib dlls with Microsoft C
-## Use: nmake -f makefile.msc
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I . -I ..
-DEFINES = \
-       -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=\"GLib\" \
-       -DG_ENABLE_DEBUG -DPCRE_STATIC -DG_DISABLE_DEPRECATED \
-       -DDLL_EXPORT=1
-
-DEPCFLAGS = -Zm400 $(INTL_CFLAGS) $(DIRENT_CFLAGS)
-
-all :                          \
-       ..\config.h             \
-       ..\glibconfig.h \
-       gnulib\gnulib.lib       \
-       pcre\pcre.lib           \
-       libglib-2.0-0.dll \
-       glib-2.53s.lib \
-       gspawn-win32-helper.exe \
-       gspawn-win32-helper-console.exe \
-
-
-gnulib\gnulib.lib :
-       cd gnulib
-       nmake -f makefile.msc
-       cd ..
-
-pcre\pcre.lib :
-       cd pcre
-       nmake -f makefile.msc
-       cd ..
-
-glib_OBJECTS =                 \
-       garray.obj              \
-       gasyncqueue.obj         \
-       gatomic.obj     \
-       gbacktrace.obj          \
-       gbase64.obj     \
-       gbookmarkfile.obj \
-       gcache.obj \
-       gchecksum.obj   \
-       gcompletion.obj \
-       gconvert.obj \
-       gdataset.obj \
-       gdate.obj \
-       gdir.obj \
-       gerror.obj \
-       gfileutils.obj \
-       ghash.obj \
-       ghostutils.obj \
-       ghook.obj \
-       giochannel.obj \
-       giowin32.obj \
-       gpoll.obj \
-       gkeyfile.obj \
-       glist.obj \
-       gmain.obj \
-       gmappedfile.obj \
-       gmarkup.obj \
-       gmem.obj \
-       gmessages.obj \
-       gnode.obj \
-       goption.obj \
-       gpattern.obj \
-       gprimes.obj \
-       gprintf.obj \
-       gqsort.obj \
-       gqueue.obj \
-       grand.obj \
-       gregex.obj \
-       grel.obj \
-       gscanner.obj \
-       gsequence.obj \
-       gshell.obj \
-       gslice.obj \
-       gslist.obj \
-       gspawn-win32.obj \
-       gstdio.obj \
-       gstrfuncs.obj \
-       gstring.obj \
-       gtestutils.obj \
-       gthread.obj \
-       gthreadpool.obj \
-       gtimer.obj \
-       gtree.obj \
-       gunibreak.obj \
-       gunicollate.obj \
-       gunidecomp.obj \
-       guniprop.obj \
-       gurifuncs.obj \
-       gutf8.obj               \
-       gutils.obj              \
-       gwin32.obj              \
-       localcharset.obj
-
-..\glibconfig.h: ..\glibconfig.h.win32
-       copy ..\glibconfig.h.win32 ..\glibconfig.h
-
-..\config.h: ..\config.h.win32
-       copy ..\config.h.win32 ..\config.h
-
-localcharset.obj : libcharset\localcharset.c
-       $(CC) $(CFLAGS) -DLIBDIR=\".\" -c libcharset\localcharset.c
-
-glib.def: glib.symbols
-       echo EXPORTS > glib.def
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \
-               -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-               -DG_GNUC_PRINTF=;G_GNUC_PRINTF -DG_GNUC_FORMAT=;G_GNUC_FORMAT glib.symbols >> glib.def
-
-glib.res : glib.rc
-       rc -DBUILDNUMBER=0 -r -fo glib.res glib.rc
-
-################ glib
-
-# create a static libary
-# static library can well have the real version number in the name
-glib-2.53s.lib : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib
-       lib /out:glib-2.53s.lib $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib
-
-libglib-2.0-0.dll : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib glib.def glib.res
-       $(CC) $(CFLAGS) -LD -Fe$@ $(glib_OBJECTS) glib.res $(INTL_LIBS) \
-       gnulib\gnulib.lib pcre\pcre.lib $(DIRENT_LIBS) user32.lib advapi32.lib shell32.lib wsock32.lib ole32.lib ws2_32.lib winmm.lib \
-       $(LDFLAGS) /implib:glib-2.0.lib /def:glib.def
-
-gspawn-win32-helper.exe : gspawn-win32-helper.c libglib-2.0-0.dll
-       $(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-2.0.lib $(LDFLAGS) /subsystem:windows user32.lib
-
-gspawn-win32-helper-console.exe : gspawn-win32-helper.c libglib-2.0-0.dll
-       $(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-2.0.lib $(LDFLAGS) /subsystem:console user32.lib
-
-################ other stuff
-
-clean::
-       del ..\config.h
-       del ..\glibconfig.h
-
diff --git a/glib/makefile.msc.in b/glib/makefile.msc.in
deleted file mode 100644 (file)
index e45b1e5..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-## Makefile for building the GLib dlls with Microsoft C
-## Use: nmake -f makefile.msc
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I . -I ..
-DEFINES = \
-       -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=\"GLib\" \
-       -DG_ENABLE_DEBUG -DPCRE_STATIC -DG_DISABLE_DEPRECATED \
-       -DDLL_EXPORT=1
-
-DEPCFLAGS = -Zm400 $(INTL_CFLAGS) $(DIRENT_CFLAGS)
-
-all :                          \
-       ..\config.h             \
-       ..\glibconfig.h \
-       gnulib\gnulib.lib       \
-       pcre\pcre.lib           \
-       libglib-2.0-0.dll \
-       glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib \
-       gspawn-win32-helper.exe \
-       gspawn-win32-helper-console.exe \
-
-
-gnulib\gnulib.lib :
-       cd gnulib
-       nmake -f makefile.msc
-       cd ..
-
-pcre\pcre.lib :
-       cd pcre
-       nmake -f makefile.msc
-       cd ..
-
-glib_OBJECTS =                 \
-       garray.obj              \
-       gasyncqueue.obj         \
-       gatomic.obj     \
-       gbacktrace.obj          \
-       gbase64.obj     \
-       gbookmarkfile.obj \
-       gcache.obj \
-       gchecksum.obj   \
-       gcompletion.obj \
-       gconvert.obj \
-       gdataset.obj \
-       gdate.obj \
-       gdir.obj \
-       gerror.obj \
-       gfileutils.obj \
-       ghash.obj \
-       ghostutils.obj \
-       ghook.obj \
-       giochannel.obj \
-       giowin32.obj \
-       gpoll.obj \
-       gkeyfile.obj \
-       glist.obj \
-       gmain.obj \
-       gmappedfile.obj \
-       gmarkup.obj \
-       gmem.obj \
-       gmessages.obj \
-       gnode.obj \
-       goption.obj \
-       gpattern.obj \
-       gprimes.obj \
-       gprintf.obj \
-       gqsort.obj \
-       gqueue.obj \
-       grand.obj \
-       gregex.obj \
-       grel.obj \
-       gscanner.obj \
-       gsequence.obj \
-       gshell.obj \
-       gslice.obj \
-       gslist.obj \
-       gspawn-win32.obj \
-       gstdio.obj \
-       gstrfuncs.obj \
-       gstring.obj \
-       gtestutils.obj \
-       gthread.obj \
-       gthreadpool.obj \
-       gtimer.obj \
-       gtree.obj \
-       gunibreak.obj \
-       gunicollate.obj \
-       gunidecomp.obj \
-       guniprop.obj \
-       gurifuncs.obj \
-       gutf8.obj               \
-       gutils.obj              \
-       gwin32.obj              \
-       localcharset.obj
-
-..\glibconfig.h: ..\glibconfig.h.win32
-       copy ..\glibconfig.h.win32 ..\glibconfig.h
-
-..\config.h: ..\config.h.win32
-       copy ..\config.h.win32 ..\config.h
-
-localcharset.obj : libcharset\localcharset.c
-       $(CC) $(CFLAGS) -DLIBDIR=\".\" -c libcharset\localcharset.c
-
-glib.def: glib.symbols
-       echo EXPORTS > glib.def
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \
-               -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-               -DG_GNUC_PRINTF=;G_GNUC_PRINTF -DG_GNUC_FORMAT=;G_GNUC_FORMAT glib.symbols >> glib.def
-
-glib.res : glib.rc
-       rc -DBUILDNUMBER=0 -r -fo glib.res glib.rc
-
-################ glib
-
-# create a static libary
-# static library can well have the real version number in the name
-glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib
-       lib /out:glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib
-
-libglib-2.0-0.dll : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib glib.def glib.res
-       $(CC) $(CFLAGS) -LD -Fe$@ $(glib_OBJECTS) glib.res $(INTL_LIBS) \
-       gnulib\gnulib.lib pcre\pcre.lib $(DIRENT_LIBS) user32.lib advapi32.lib shell32.lib wsock32.lib ole32.lib ws2_32.lib winmm.lib \
-       $(LDFLAGS) /implib:glib-2.0.lib /def:glib.def
-
-gspawn-win32-helper.exe : gspawn-win32-helper.c libglib-2.0-@LT_CURRENT_MINUS_AGE@.dll
-       $(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-2.0.lib $(LDFLAGS) /subsystem:windows user32.lib
-
-gspawn-win32-helper-console.exe : gspawn-win32-helper.c libglib-2.0-@LT_CURRENT_MINUS_AGE@.dll
-       $(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-2.0.lib $(LDFLAGS) /subsystem:console user32.lib
-
-################ other stuff
-
-clean::
-       del ..\config.h
-       del ..\glibconfig.h
-
index 5e1e98d..0787f92 100644 (file)
@@ -60,6 +60,4 @@ libpcre_la_SOURCES = \
 
 libpcre_la_LIBADD = $(DEP_LIBS)
 
-EXTRA_DIST +=                          \
-               COPYING                 \
-               makefile.msc
+EXTRA_DIST += COPYING
index 5cafd6d..4807416 100644 (file)
@@ -702,8 +702,7 @@ BUILT_EXTRA_DIST =
 CLEANFILES = *.log *.trs $(am__append_14)
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = 
-EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) COPYING \
-       makefile.msc
+EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) COPYING
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
 # will belong in exactly one of the following variables.
diff --git a/glib/pcre/makefile.msc b/glib/pcre/makefile.msc
deleted file mode 100644 (file)
index 1ec1d72..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-TOP = ..\..\..
-!INCLUDE ..\..\build\win32\make.msc
-
-INCLUDES = \
-        -I ..\.. \
-        -I ..
-        
-DEFINES = \
-        -DPCRE_STATIC \
-        -DHAVE_CONFIG_H \
-        -DHAVE_LONG_LONG_FORMAT \
-        -DSUPPORT_UCP \
-        -DSUPPORT_UTF8 \
-        -DNEWLINE=-1 \
-        -DMATCH_LIMIT=10000000 \
-        -DMATCH_LIMIT_RECURSION=10000000 \
-        -DMAX_NAME_SIZE=32 \
-        -DMAX_NAME_COUNT=10000 \
-        -DMAX_DUPLENGTH=30000 \
-        -DLINK_SIZE=2 \
-        -DEBCDIC=0 \
-        -DPOSIX_MALLOC_THRESHOLD=10
-
-OBJECTS = \
-
-
-all : pcre.lib
-
-pcre.lib : $(OBJECTS)
-        lib -out:pcre.lib $(OBJECTS)
index 43b11f0..1adc50d 100644 (file)
@@ -180,6 +180,7 @@ atomic_CFLAGS += -Wstrict-aliasing=2
 endif
 
 overflow_fallback_SOURCES = overflow.c
+# FIXME: FLAGS?
 overflow_fallback_FALGS = $(AM_CFLAGS) -D_GLIB_TEST_OVERFLOW_FALLBACK
 
 test_programs += 642026-ec
index 8bc2924..cc6028f 100644 (file)
@@ -1270,6 +1270,7 @@ all_markup_data = \
 
 atomic_CFLAGS = $(AM_CFLAGS) $(am__append_14)
 overflow_fallback_SOURCES = overflow.c
+# FIXME: FLAGS?
 overflow_fallback_FALGS = $(AM_CFLAGS) -D_GLIB_TEST_OVERFLOW_FALLBACK
 642026_ec_SOURCES = 642026.c
 642026_ec_CFLAGS = -DG_ERRORCHECK_MUTEXES
index db04870..6ddad3a 100644 (file)
@@ -370,19 +370,27 @@ test_GDateTime_new_from_timeval (void)
   g_date_time_unref (dt);
 }
 
-static gint64
+static glong
 find_maximum_supported_tv_sec (void)
 {
   glong highest_success = 0, lowest_failure = G_MAXLONG;
   GTimeVal tv;
+  GDateTime *dt = NULL;
 
   tv.tv_usec = 0;
 
-  while (highest_success < lowest_failure - 1)
+  /* Corner case of all glong values being valid. */
+  tv.tv_sec = G_MAXLONG;
+  dt = g_date_time_new_from_timeval_utc (&tv);
+  if (dt != NULL)
     {
-      GDateTime *dt;
+      highest_success = tv.tv_sec;
+      g_date_time_unref (dt);
+    }
 
-      tv.tv_sec = (highest_success + lowest_failure) / 2;
+  while (highest_success < lowest_failure - 1)
+    {
+      tv.tv_sec = highest_success + (lowest_failure - highest_success) / 2;
       dt = g_date_time_new_from_timeval_utc (&tv);
 
       if (dt != NULL)
@@ -401,7 +409,10 @@ find_maximum_supported_tv_sec (void)
 
 /* Check that trying to create a #GDateTime too far in the future reliably
  * fails. With a #GTimeVal, this is subtle, as the tv_usec are added into the
- * calculation part-way through. */
+ * calculation part-way through.
+ *
+ * This varies a bit between 32- and 64-bit architectures, due to the
+ * differences in the size of glong (tv.tv_sec). */
 static void
 test_GDateTime_new_from_timeval_overflow (void)
 {
@@ -410,29 +421,26 @@ test_GDateTime_new_from_timeval_overflow (void)
 
   g_test_bug ("782089");
 
-  tv.tv_sec = G_MAXLONG;
-  tv.tv_usec = 0;
-
-  dt = g_date_time_new_from_timeval_utc (&tv);
-  g_assert_null (dt);
-
-  dt = g_date_time_new_from_timeval_local (&tv);
-  g_assert_null (dt);
-
   tv.tv_sec = find_maximum_supported_tv_sec ();
   tv.tv_usec = G_USEC_PER_SEC - 1;
 
   g_test_message ("Maximum supported GTimeVal.tv_sec = %lu", tv.tv_sec);
 
+  /* Sanity check: do we support the year 2000? */
+  g_assert_cmpint (tv.tv_sec, >=, 946684800);
+
   dt = g_date_time_new_from_timeval_utc (&tv);
   g_assert_nonnull (dt);
   g_date_time_unref (dt);
 
-  tv.tv_sec++;
-  tv.tv_usec = 0;
+  if (tv.tv_sec < G_MAXLONG)
+    {
+      tv.tv_sec++;
+      tv.tv_usec = 0;
 
-  dt = g_date_time_new_from_timeval_utc (&tv);
-  g_assert_null (dt);
+      dt = g_date_time_new_from_timeval_utc (&tv);
+      g_assert_null (dt);
+    }
 }
 
 static void
index 36b732a..c81c9b8 100644 (file)
@@ -293,6 +293,10 @@ test_unichar_script (void)
     { G_UNICODE_SCRIPT_NEWA,                   0x11400 },
     { G_UNICODE_SCRIPT_OSAGE,                  0x104B0 },
     { G_UNICODE_SCRIPT_TANGUT,                 0x16FE0 },
+    { G_UNICODE_SCRIPT_MASARAM_GONDI,          0x11D00 },
+    { G_UNICODE_SCRIPT_NUSHU,                  0x1B170 },
+    { G_UNICODE_SCRIPT_SOYOMBO,                0x11A50 },
+    { G_UNICODE_SCRIPT_ZANABAZAR_SQUARE,       0x11A00 },
   };
   for (i = 0; i < G_N_ELEMENTS (examples); i++)
     g_assert_cmpint (g_unichar_get_script (examples[i].c), ==, examples[i].script);
@@ -885,6 +889,12 @@ test_iso15924 (void)
     { G_UNICODE_SCRIPT_NEWA,                   "Newa" },
     { G_UNICODE_SCRIPT_OSAGE,                  "Osge" },
     { G_UNICODE_SCRIPT_TANGUT,                 "Tang" },
+
+    /* Unicode 10.0 additions */
+    { G_UNICODE_SCRIPT_MASARAM_GONDI,          "Gonm" },
+    { G_UNICODE_SCRIPT_NUSHU,                  "Nshu" },
+    { G_UNICODE_SCRIPT_SOYOMBO,                "Soyo" },
+    { G_UNICODE_SCRIPT_ZANABAZAR_SQUARE,       "Zanb" },
   };
   guint i;
 
index df1f442..c29ea3e 100644 (file)
@@ -128,6 +128,15 @@ test_find (void)
 
   q = g_utf8_find_next_char (str + strlen (str), NULL);
   g_assert (q == str + strlen (str) + 1);
+
+  /* Check return values when reaching the end of the string,
+   * with @end set and unset. */
+  q = g_utf8_find_next_char (str + 10, NULL);
+  g_assert_nonnull (q);
+  g_assert (*q == '\0');
+
+  q = g_utf8_find_next_char (str + 10, str + 11);
+  g_assert_null (q);
 }
 
 int main (int argc, char *argv[])
index 122aa76..1609bde 100644 (file)
@@ -292,6 +292,57 @@ do_test (gconstpointer d)
     }
 }
 
+/* Test the behaviour of g_utf8_get_char_validated() with various inputs and
+ * length restrictions. */
+static void
+test_utf8_get_char_validated (void)
+{
+  const struct {
+    const gchar *buf;
+    gssize max_len;
+    gunichar expected_result;
+  } test_vectors[] = {
+    /* Bug #780095: */
+    { "\xC0\x00_45678", 8, (gunichar) -2 },
+    { "\xC0\x00_45678", -1, (gunichar) -2 },
+    /* It seems odd that the return value differs with the length input, but
+     * that’s how it’s documented: */
+    { "", 0, (gunichar) -2 },
+    { "", -1, (gunichar) 0 },
+    /* Normal inputs: */
+    { "hello", 5, (gunichar) 'h' },
+    { "hello", -1, (gunichar) 'h' },
+    { "\xD8\x9F", 2, 0x061F },
+    { "\xD8\x9F", -1, 0x061F },
+    { "\xD8\x9Fmore", 6, 0x061F },
+    { "\xD8\x9Fmore", -1, 0x061F },
+    { "\xE2\x96\xB3", 3, 0x25B3 },
+    { "\xE2\x96\xB3", -1, 0x25B3 },
+    { "\xE2\x96\xB3more", 7, 0x25B3 },
+    { "\xE2\x96\xB3more", -1, 0x25B3 },
+    { "\xF0\x9F\x92\xA9", 4, 0x1F4A9 },
+    { "\xF0\x9F\x92\xA9", -1, 0x1F4A9 },
+    { "\xF0\x9F\x92\xA9more", 8, 0x1F4A9 },
+    { "\xF0\x9F\x92\xA9more", -1, 0x1F4A9 },
+    /* Partial unichars: */
+    { "\xD8", -1, (gunichar) -2 },
+    { "\xD8\x9F", 1, (gunichar) -2 },
+    { "\xCE", -1, (gunichar) -2 },
+    { "\xCE", 1, (gunichar) -2 },
+  };
+  gsize i;
+
+  for (i = 0; i < G_N_ELEMENTS (test_vectors); i++)
+    {
+      gunichar actual_result;
+
+      g_test_message ("Vector %" G_GSIZE_FORMAT, i);
+      actual_result = g_utf8_get_char_validated (test_vectors[i].buf,
+                                                 test_vectors[i].max_len);
+      g_assert_cmpint (actual_result, ==, test_vectors[i].expected_result);
+    }
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -307,5 +358,7 @@ main (int argc, char *argv[])
       g_free (path);
     }
 
+  g_test_add_func ("/utf8/get-char-validated", test_utf8_get_char_validated);
+
   return g_test_run ();
 }
index 960b4d2..a108d83 100644 (file)
@@ -82,44 +82,6 @@ for f in $included_files; do
 done
 cat $IN/Makefile.am-2 >> Makefile.am
 
-# Generate makefile.msc
-cat > makefile.msc << EOF
-TOP = ..\..\..
-!INCLUDE ..\..\build\win32\make.msc
-
-INCLUDES = \\
-       -I ..\.. \\
-       -I ..
-       
-DEFINES = \\
-       -DPCRE_STATIC \\
-       -DHAVE_CONFIG_H \\
-       -DHAVE_LONG_LONG_FORMAT \\
-       -DSUPPORT_UCP \\
-       -DSUPPORT_UTF8 \\
-       -DNEWLINE=-1 \\
-       -DMATCH_LIMIT=10000000 \\
-       -DMATCH_LIMIT_RECURSION=10000000 \\
-       -DMAX_NAME_SIZE=32 \\
-       -DMAX_NAME_COUNT=10000 \\
-       -DMAX_DUPLENGTH=30000 \\
-       -DLINK_SIZE=2 \\
-       -DEBCDIC=0 \\
-       -DPOSIX_MALLOC_THRESHOLD=10
-
-OBJECTS = \\
-`
-for f in $all_files; do
-    echo "     $f.obj \\\\"
-done
-`
-
-all : pcre.lib
-
-pcre.lib : \$(OBJECTS)
-       lib -out:pcre.lib \$(OBJECTS)
-EOF
-
 echo "Patching PCRE"
 
 # Copy the license.
index 95c7f09..00e0e68 100644 (file)
@@ -10,7 +10,6 @@ AM_CPPFLAGS =                                 \
 AM_CFLAGS = $(GLIB_WARN_CFLAGS)
 
 EXTRA_DIST +=                          \
-               makefile.msc.in         \
                gmoduleconf.h.in        \
                gmodule-dl.c            \
                gmodule-dyld.c          \
@@ -20,7 +19,6 @@ EXTRA_DIST +=                         \
                gmodule.rc.in
 
 BUILT_EXTRA_DIST += \
-               makefile.msc    \
                gmodule.rc
 
 BUILT_SOURCES += gmoduleconf.h
index e5ac467..13083c3 100644 (file)
@@ -148,7 +148,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(glibinclude_HEADERS) \
        $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = gmoduleconf.h makefile.msc gmodule.rc
+CONFIG_CLEAN_FILES = gmoduleconf.h gmodule.rc
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -439,9 +439,9 @@ am__set_b = \
       b='$*';; \
   esac
 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gmodule.rc.in \
-       $(srcdir)/gmoduleconf.h.in $(srcdir)/makefile.msc.in \
-       $(top_srcdir)/depcomp $(top_srcdir)/glib.mk \
-       $(top_srcdir)/test-driver AUTHORS COPYING ChangeLog
+       $(srcdir)/gmoduleconf.h.in $(top_srcdir)/depcomp \
+       $(top_srcdir)/glib.mk $(top_srcdir)/test-driver AUTHORS \
+       COPYING ChangeLog
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ABS_TAPSET_DIR = @ABS_TAPSET_DIR@
 ACLOCAL = @ACLOCAL@
@@ -697,13 +697,13 @@ NULL =
 
 # initialize variables for unconditional += appending
 BUILT_SOURCES = gmoduleconf.h
-BUILT_EXTRA_DIST = makefile.msc gmodule.rc
+BUILT_EXTRA_DIST = gmodule.rc
 CLEANFILES = *.log *.trs $(am__append_14)
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = 
 EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
-       makefile.msc.in gmoduleconf.h.in gmodule-dl.c gmodule-dyld.c \
-       gmodule-win32.c gmodule-ar.c gmoduleconf.h.win32 gmodule.rc.in
+       gmoduleconf.h.in gmodule-dl.c gmodule-dyld.c gmodule-win32.c \
+       gmodule-ar.c gmoduleconf.h.win32 gmodule.rc.in
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
 # will belong in exactly one of the following variables.
@@ -848,8 +848,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 gmoduleconf.h: $(top_builddir)/config.status $(srcdir)/gmoduleconf.h.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-makefile.msc: $(top_builddir)/config.status $(srcdir)/makefile.msc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 gmodule.rc: $(top_builddir)/config.status $(srcdir)/gmodule.rc.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
index 05df72d..1c87376 100644 (file)
@@ -1,8 +1,8 @@
 #include <winver.h>
 
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION 2,53,3,0
-  PRODUCTVERSION 2,53,3,0
+  FILEVERSION 2,53,4,0
+  PRODUCTVERSION 2,53,4,0
   FILEFLAGSMASK 0
   FILEFLAGS 0
   FILEOS VOS__WINDOWS32
@@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
       BEGIN
        VALUE "CompanyName", "The GLib developer community"
        VALUE "FileDescription", "GModule"
-       VALUE "FileVersion", "2.53.3.0"
+       VALUE "FileVersion", "2.53.4.0"
        VALUE "InternalName", "libgmodule-2.0-0"
        VALUE "LegalCopyright", "Copyright © 1998-2011 Tim Janik and others."
        VALUE "OriginalFilename", "libgmodule-2.0-0.dll"
        VALUE "ProductName", "GLib"
-       VALUE "ProductVersion", "2.53.3"
+       VALUE "ProductVersion", "2.53.4"
       END
     END
     BLOCK "VarFileInfo"
diff --git a/gmodule/makefile.msc b/gmodule/makefile.msc
deleted file mode 100644 (file)
index daa1846..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-## Makefile for building the gmodule dll with Microsoft C
-## Use: nmake -f makefile.msc install
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
-DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GModule\"
-
-all : \
-       gmoduleconf.h \
-       libgmodule-2.0-0.dll
-
-gmodule_OBJECTS = \
-       gmodule.obj
-gmodule.def: gmodule.symbols\r
-       echo EXPORTS > gmodule.def\r
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \\r
-               -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \\r
-               -DG_GNUC_PRINTF=;G_GNUC_PRINTF gmodule.symbols >> gmodule.def\r
-\r
-
-gmoduleconf.h: gmoduleconf.h.win32
-       copy gmoduleconf.h.win32 gmoduleconf.h
-
-gmodule.res : gmodule.rc
-       rc -DBUILDNUMBER=0 -r -fo gmodule.res gmodule.rc
-
-libgmodule-2.0-0.dll : $(gmodule_OBJECTS) gmodule.def gmodule.res
-       $(CC) $(CFLAGS) -LD -Fe$@ $(gmodule_OBJECTS) gmodule.res \
-       ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gmodule-2.0.lib /def:gmodule.def
-
-clean::
-       del gmoduleconf.h
diff --git a/gmodule/makefile.msc.in b/gmodule/makefile.msc.in
deleted file mode 100644 (file)
index 431dd50..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-## Makefile for building the gmodule dll with Microsoft C
-## Use: nmake -f makefile.msc install
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
-DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GModule\"
-
-all : \
-       gmoduleconf.h \
-       libgmodule-2.0-@LT_CURRENT_MINUS_AGE@.dll
-
-gmodule_OBJECTS = \
-       gmodule.obj
-gmodule.def: gmodule.symbols\r
-       echo EXPORTS > gmodule.def\r
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \\r
-               -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \\r
-               -DG_GNUC_PRINTF=;G_GNUC_PRINTF gmodule.symbols >> gmodule.def\r
-\r
-
-gmoduleconf.h: gmoduleconf.h.win32
-       copy gmoduleconf.h.win32 gmoduleconf.h
-
-gmodule.res : gmodule.rc
-       rc -DBUILDNUMBER=0 -r -fo gmodule.res gmodule.rc
-
-libgmodule-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gmodule_OBJECTS) gmodule.def gmodule.res
-       $(CC) $(CFLAGS) -LD -Fe$@ $(gmodule_OBJECTS) gmodule.res \
-       ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gmodule-2.0.lib /def:gmodule.def
-
-clean::
-       del gmoduleconf.h
index a4fb370..7396762 100644 (file)
@@ -144,10 +144,7 @@ endif
 # non-header sources (headers should be specified in the above variables)
 # that don't serve as direct make target sources, i.e. they don't have
 # their own .lo rules and don't get publically installed
-gobject_extra_sources = \
-       gmarshal.list           \
-       gmarshal.strings
-
+gobject_extra_sources =
 
 #
 # setup GObject library sources and their dependancies
@@ -157,8 +154,7 @@ gobject_target_sources = $(gobject_c_sources)
 EXTRA_HEADERS =
 EXTRA_DIST += \
        $(gobject_private_h_sources)    \
-       $(gobject_extra_sources)        \
-       marshal-genstrings.pl
+       $(gobject_extra_sources)
 
 # This is read by gobject-introspection/misc/ and gtk-doc
 gobject-public-headers.txt: Makefile
@@ -183,14 +179,6 @@ CLEANFILES += $(gen_sources)
 # ../configure will supress all autogeneration rules.
 
 
-gmarshal.strings: @REBUILD@ $(srcdir)/gmarshal.list
-       $(AM_V_GEN) grep '^[A-Z]' $(srcdir)/gmarshal.list \
-       | $(SED) -e 's/^/"g_cclosure_marshal_/' -e 's/:/__/' -e 's/,/_/g' -e 's/$$/",/' > xgen-gms \
-       && cp xgen-gms gmarshal.strings \
-       && rm -f xgen-gms xgen-gms~
-
-glib-genmarshal.o: gmarshal.strings
-
 # target platform:
 libgobjectinclude_HEADERS = $(gobject_target_headers)
 libgobject_2_0_la_SOURCES = $(gobject_target_sources)
@@ -198,29 +186,26 @@ libgobject_2_0_la_SOURCES = $(gobject_target_sources)
 #
 # programs to compile and install
 #
-bin_PROGRAMS = gobject-query glib-genmarshal
-bin_SCRIPTS = glib-mkenums
+bin_PROGRAMS = gobject-query
+bin_SCRIPTS = glib-mkenums glib-genmarshal
 # source files
 gobject_query_SOURCES = gobject-query.c
-glib_genmarshal_SOURCES = glib-genmarshal.c
 # link programs against libgobject
 progs_LDADD = ./libgobject-2.0.la $(libglib)
-glib_genmarshal_LDADD = $(libglib)
 gobject_query_LDADD = $(progs_LDADD)
 
 #
 # auxillary files
 #
 EXTRA_DIST +=                  \
-       makefile.msc.in         \
        gobject.rc.in           \
        libgobject-gdb.py.in    \
+       glib-genmarshal.in      \
        glib-mkenums.in
 
 CLEANFILES += libgobject-gdb.py
 
 BUILT_EXTRA_DIST += \
-       makefile.msc            \
        gobject.rc
 
 gobject-win32-res.o: gobject.rc
index a680ca7..8dcad6d 100644 (file)
@@ -165,7 +165,7 @@ TESTS = $(am__EXEEXT_1)
 @ENABLE_DTRACE_TRUE@am__append_17 = gobject_probes.h
 @ENABLE_DTRACE_TRUE@am__append_18 = gobject_probes.lo
 @ENABLE_SYSTEMTAP_TRUE@am__append_19 = $(tapset_DATA)
-bin_PROGRAMS = gobject-query$(EXEEXT) glib-genmarshal$(EXEEXT)
+bin_PROGRAMS = gobject-query$(EXEEXT)
 subdir = gobject
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4macros/attributes.m4 \
@@ -187,7 +187,7 @@ DIST_COMMON = $(srcdir)/Makefile.am $(dist_gdb_DATA) \
        $(libgobjectinclude_HEADERS) $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = glib-mkenums makefile.msc gobject.rc
+CONFIG_CLEAN_FILES = glib-genmarshal glib-mkenums gobject.rc
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -254,9 +254,6 @@ am__EXEEXT_1 =
 @ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__EXEEXT_3 = $(am__EXEEXT_1)
 PROGRAMS = $(bin_PROGRAMS) $(installed_test_PROGRAMS) \
        $(noinst_PROGRAMS)
-am_glib_genmarshal_OBJECTS = glib-genmarshal.$(OBJEXT)
-glib_genmarshal_OBJECTS = $(am_glib_genmarshal_OBJECTS)
-glib_genmarshal_DEPENDENCIES = $(libglib)
 am_gobject_query_OBJECTS = gobject-query.$(OBJEXT)
 gobject_query_OBJECTS = $(am_gobject_query_OBJECTS)
 gobject_query_DEPENDENCIES = $(progs_LDADD)
@@ -295,10 +292,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(libgobject_2_0_la_SOURCES) $(glib_genmarshal_SOURCES) \
-       $(gobject_query_SOURCES)
-DIST_SOURCES = $(libgobject_2_0_la_SOURCES) $(glib_genmarshal_SOURCES) \
-       $(gobject_query_SOURCES)
+SOURCES = $(libgobject_2_0_la_SOURCES) $(gobject_query_SOURCES)
+DIST_SOURCES = $(libgobject_2_0_la_SOURCES) $(gobject_query_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
        ctags-recursive dvi-recursive html-recursive info-recursive \
        install-data-recursive install-dvi-recursive \
@@ -517,8 +512,8 @@ am__set_b = \
       b='$*';; \
   esac
 DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/glib-mkenums.in \
-       $(srcdir)/gobject.rc.in $(srcdir)/makefile.msc.in \
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/glib-genmarshal.in \
+       $(srcdir)/glib-mkenums.in $(srcdir)/gobject.rc.in \
        $(top_srcdir)/depcomp $(top_srcdir)/glib.mk \
        $(top_srcdir)/test-driver \
        $(top_srcdir)/win32/Makefile.msvcproj ChangeLog
@@ -802,7 +797,7 @@ NULL =
 
 # initialize variables for unconditional += appending
 BUILT_SOURCES = $(am__append_16)
-BUILT_EXTRA_DIST = makefile.msc gobject.rc
+BUILT_EXTRA_DIST = gobject.rc
 CLEANFILES = *.log *.trs $(am__append_14) $(am__append_17) \
        $(am__append_19) gobject-public-headers.txt $(gen_sources) \
        libgobject-gdb.py
@@ -814,8 +809,8 @@ MAINTAINERCLEANFILES =
 #
 EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
        gobject.stp.in $(gobject_private_h_sources) \
-       $(gobject_extra_sources) marshal-genstrings.pl makefile.msc.in \
-       gobject.rc.in libgobject-gdb.py.in glib-mkenums.in
+       $(gobject_extra_sources) gobject.rc.in libgobject-gdb.py.in \
+       glib-genmarshal.in glib-mkenums.in
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
 # will belong in exactly one of the following variables.
@@ -987,10 +982,7 @@ tapsetdir = @ABS_TAPSET_DIR@
 # non-header sources (headers should be specified in the above variables)
 # that don't serve as direct make target sources, i.e. they don't have
 # their own .lo rules and don't get publically installed
-gobject_extra_sources = \
-       gmarshal.list           \
-       gmarshal.strings
-
+gobject_extra_sources = 
 
 #
 # setup GObject library sources and their dependancies
@@ -1005,16 +997,21 @@ EXTRA_HEADERS =
 # setup autogeneration dependancies
 gen_sources = xgen-gmh xgen-gmc xgen-gms
 
+# normal autogeneration rules
+# all autogenerated files need to be generated in the srcdir,
+# so old versions get remade and are not confused with newer
+# versions in the build dir. thus a development setup requires
+# srcdir to be writable, passing --disable-rebuilds to
+# ../configure will supress all autogeneration rules.
+
 # target platform:
 libgobjectinclude_HEADERS = $(gobject_target_headers)
 libgobject_2_0_la_SOURCES = $(gobject_target_sources)
-bin_SCRIPTS = glib-mkenums
+bin_SCRIPTS = glib-mkenums glib-genmarshal
 # source files
 gobject_query_SOURCES = gobject-query.c
-glib_genmarshal_SOURCES = glib-genmarshal.c
 # link programs against libgobject
 progs_LDADD = ./libgobject-2.0.la $(libglib)
-glib_genmarshal_LDADD = $(libglib)
 gobject_query_LDADD = $(progs_LDADD)
 
 # ------ MSVC Project File Generation ------
@@ -1078,9 +1075,9 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-glib-mkenums: $(top_builddir)/config.status $(srcdir)/glib-mkenums.in
+glib-genmarshal: $(top_builddir)/config.status $(srcdir)/glib-genmarshal.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-makefile.msc: $(top_builddir)/config.status $(srcdir)/makefile.msc.in
+glib-mkenums: $(top_builddir)/config.status $(srcdir)/glib-mkenums.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 gobject.rc: $(top_builddir)/config.status $(srcdir)/gobject.rc.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
@@ -1296,10 +1293,6 @@ clean-noinstPROGRAMS:
        echo " rm -f" $$list; \
        rm -f $$list
 
-glib-genmarshal$(EXEEXT): $(glib_genmarshal_OBJECTS) $(glib_genmarshal_DEPENDENCIES) $(EXTRA_glib_genmarshal_DEPENDENCIES) 
-       @rm -f glib-genmarshal$(EXEEXT)
-       $(AM_V_CCLD)$(LINK) $(glib_genmarshal_OBJECTS) $(glib_genmarshal_LDADD) $(LIBS)
-
 gobject-query$(EXEEXT): $(gobject_query_OBJECTS) $(gobject_query_DEPENDENCIES) $(EXTRA_gobject_query_DEPENDENCIES) 
        @rm -f gobject-query$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(gobject_query_OBJECTS) $(gobject_query_LDADD) $(LIBS)
@@ -1380,7 +1373,6 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glib-genmarshal.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gobject-query.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgobject_2_0_la-gatomicarray.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgobject_2_0_la-gbinding.Plo@am__quote@
@@ -2218,21 +2210,6 @@ gobject-public-headers.txt: Makefile
 
 all-local: gobject-public-headers.txt
 
-# normal autogeneration rules
-# all autogenerated files need to be generated in the srcdir,
-# so old versions get remade and are not confused with newer
-# versions in the build dir. thus a development setup requires
-# srcdir to be writable, passing --disable-rebuilds to
-# ../configure will supress all autogeneration rules.
-
-gmarshal.strings: @REBUILD@ $(srcdir)/gmarshal.list
-       $(AM_V_GEN) grep '^[A-Z]' $(srcdir)/gmarshal.list \
-       | $(SED) -e 's/^/"g_cclosure_marshal_/' -e 's/:/__/' -e 's/,/_/g' -e 's/$$/",/' > xgen-gms \
-       && cp xgen-gms gmarshal.strings \
-       && rm -f xgen-gms xgen-gms~
-
-glib-genmarshal.o: gmarshal.strings
-
 gobject-win32-res.o: gobject.rc
        $(AM_V_GEN) $(WINDRES) gobject.rc $@
 
diff --git a/gobject/glib-genmarshal.c b/gobject/glib-genmarshal.c
deleted file mode 100644 (file)
index 3bc4a0f..0000000
+++ /dev/null
@@ -1,1136 +0,0 @@
-/* GLIB-GenMarshal - Marshaller generator for GObject library
- * Copyright (C) 2000-2001 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include <glib/gstdio.h>
-
-#undef G_LOG_DOMAIN
-#define G_LOG_DOMAIN "GLib-Genmarshal"
-#include <glib.h>
-#include <glib/gprintf.h>
-
-#ifdef G_OS_UNIX
-#include <unistd.h>
-#endif
-#ifdef G_OS_WIN32
-#include <io.h>
-#endif
-
-/* --- defines --- */
-#define        PRG_NAME        "glib-genmarshal"
-#define        PKG_NAME        "GLib"
-#define PKG_HTTP_HOME  "http://www.gtk.org"
-
-
-/* --- typedefs & structures --- */
-typedef struct
-{
-  gchar              *keyword;         /* marhaller list keyword [MY_STRING] */
-  const gchar *sig_name;       /* signature name [STRING] */
-  const gchar *ctype;          /* C type name [gchar*] */
-  const gchar *promoted_ctype; /* promoted C type name [gchar*] */
-  const gchar *getter;         /* value getter function [g_value_get_string] */
-  const gchar *box;            /* value box function [g_strdup] */
-  const gchar *unbox;          /* value unbox function [g_free] */
-  gboolean     box_ignores_static;  /* Wether the box/unbox functions ignore the static_scope */
-  gboolean     box_takes_type;  /* Wether the box/unbox functions take a type arg */
-} InArgument;
-typedef struct
-{
-  gchar              *keyword;         /* marhaller list keyword [MY_STRING] */
-  const gchar *sig_name;       /* signature name [STRING] */
-  const gchar *ctype;          /* C type name [gchar*] */
-  const gchar *setter;         /* value setter function [g_value_set_string] */
-} OutArgument;
-typedef struct
-{
-  gchar       *ploc;
-  OutArgument *rarg;
-  GList       *args;   /* of type InArgument* */
-} Signature;
-
-
-/* --- prototypes --- */
-static void    parse_args      (gint           *argc_p,
-                                gchar       ***argv_p);
-static void    print_blurb     (FILE           *bout,
-                                gboolean        print_help);
-
-
-/* --- variables --- */
-static const GScannerConfig scanner_config_template =
-{
-  (
-   " \t\r"             /* "\n" is statement delimiter */
-   )                    /* cset_skip_characters */,
-  (
-   G_CSET_a_2_z
-   "_"
-   G_CSET_A_2_Z
-   )                    /* cset_identifier_first */,
-  (
-   G_CSET_a_2_z
-   "_0123456789"
-   G_CSET_A_2_Z
-   )                    /* cset_identifier_nth */,
-  ( "#\n" )             /* cpair_comment_single */,
-
-  FALSE                 /* case_sensitive */,
-
-  TRUE                  /* skip_comment_multi */,
-  TRUE                  /* skip_comment_single */,
-  TRUE                  /* scan_comment_multi */,
-  TRUE                  /* scan_identifier */,
-  FALSE                 /* scan_identifier_1char */,
-  FALSE                 /* scan_identifier_NULL */,
-  TRUE                  /* scan_symbols */,
-  FALSE                 /* scan_binary */,
-  TRUE                  /* scan_octal */,
-  TRUE                  /* scan_float */,
-  TRUE                  /* scan_hex */,
-  FALSE                 /* scan_hex_dollar */,
-  TRUE                  /* scan_string_sq */,
-  TRUE                  /* scan_string_dq */,
-  TRUE                  /* numbers_2_int */,
-  FALSE                 /* int_2_float */,
-  FALSE                 /* identifier_2_string */,
-  TRUE                  /* char_2_token */,
-  FALSE                 /* symbol_2_token */,
-  FALSE                 /* scope_0_fallback */,
-};
-static const char       *std_marshaller_prefix = "g_cclosure_marshal";
-static const char       *marshaller_prefix = "g_cclosure_user_marshal";
-static gchar           *output_fn = NULL;
-static gint             output_fd = -1;
-static gchar           *output_tmpfn = NULL;
-static GHashTable      *marshallers = NULL;
-static FILE             *fout = NULL;
-static gboolean                 gen_cheader = FALSE;
-static gboolean                 gen_cbody = FALSE;
-static gboolean          gen_internal = FALSE;
-static gboolean                 gen_valist = FALSE;
-static gboolean                 skip_ploc = FALSE;
-static gboolean                 std_includes = TRUE;
-static gint              exit_status = 0;
-
-
-/* --- functions --- */
-static void
-put_marshal_value_getters (void)
-{
-  fputs ("\n", fout);
-  fputs ("#ifdef G_ENABLE_DEBUG\n", fout);
-  fputs ("#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_char(v)     g_value_get_schar (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_int(v)      g_value_get_int (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_long(v)     g_value_get_long (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_float(v)    g_value_get_float (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_double(v)   g_value_get_double (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_param(v)    g_value_get_param (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_object(v)   g_value_get_object (v)\n", fout);
-  fputs ("#define g_marshal_value_peek_variant(v)  g_value_get_variant (v)\n", fout);
-  fputs ("#else /* !G_ENABLE_DEBUG */\n", fout);
-  fputs ("/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.\n", fout);
-  fputs (" *          Do not access GValues directly in your code. Instead, use the\n", fout);
-  fputs (" *          g_value_get_*() functions\n", fout);
-  fputs (" */\n", fout);
-  fputs ("#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int\n", fout);
-  fputs ("#define g_marshal_value_peek_char(v)     (v)->data[0].v_int\n", fout);
-  fputs ("#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint\n", fout);
-  fputs ("#define g_marshal_value_peek_int(v)      (v)->data[0].v_int\n", fout);
-  fputs ("#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint\n", fout);
-  fputs ("#define g_marshal_value_peek_long(v)     (v)->data[0].v_long\n", fout);
-  fputs ("#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong\n", fout);
-  fputs ("#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64\n", fout);
-  fputs ("#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64\n", fout);
-  fputs ("#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long\n", fout);
-  fputs ("#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong\n", fout);
-  fputs ("#define g_marshal_value_peek_float(v)    (v)->data[0].v_float\n", fout);
-  fputs ("#define g_marshal_value_peek_double(v)   (v)->data[0].v_double\n", fout);
-  fputs ("#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer\n", fout);
-  fputs ("#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer\n", fout);
-  fputs ("#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer\n", fout);
-  fputs ("#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer\n", fout);
-  fputs ("#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer\n", fout);
-  fputs ("#define g_marshal_value_peek_variant(v)  (v)->data[0].v_pointer\n", fout);
-  fputs ("#endif /* !G_ENABLE_DEBUG */\n", fout);
-  fputs ("\n", fout);
-}
-
-static gboolean
-complete_in_arg (InArgument *iarg)
-{
-  static const InArgument args[] = {
-    /* keyword         sig_name        ctype           promoted        getter                  */
-    { "VOID",          "VOID",         "void",         "void",         NULL,                   },
-    { "BOOLEAN",       "BOOLEAN",      "gboolean",     "gboolean",     "g_marshal_value_peek_boolean", },
-    { "CHAR",          "CHAR",         "gchar",        "gint",         "g_marshal_value_peek_char",    },
-    { "UCHAR",         "UCHAR",        "guchar",       "guint",        "g_marshal_value_peek_uchar",   },
-    { "INT",           "INT",          "gint",         "gint",         "g_marshal_value_peek_int",     },
-    { "UINT",          "UINT",         "guint",        "guint",        "g_marshal_value_peek_uint",    },
-    { "LONG",          "LONG",         "glong",        "glong",        "g_marshal_value_peek_long",    },
-    { "ULONG",         "ULONG",        "gulong",       "gulong",       "g_marshal_value_peek_ulong",   },
-    { "INT64",         "INT64",        "gint64",       "gint64",       "g_marshal_value_peek_int64",   },
-    { "UINT64",                "UINT64",       "guint64",      "guint64",      "g_marshal_value_peek_uint64",  },
-    { "ENUM",          "ENUM",         "gint",         "gint",         "g_marshal_value_peek_enum",    },
-    { "FLAGS",         "FLAGS",        "guint",        "guint",        "g_marshal_value_peek_flags",   },
-    { "FLOAT",         "FLOAT",        "gfloat",       "gdouble",      "g_marshal_value_peek_float",   },
-    { "DOUBLE",                "DOUBLE",       "gdouble",      "gdouble",      "g_marshal_value_peek_double",  },
-    { "STRING",                "STRING",       "gpointer",     "gpointer",     "g_marshal_value_peek_string",  "g_strdup", "g_free"},
-    { "PARAM",         "PARAM",        "gpointer",     "gpointer",     "g_marshal_value_peek_param",   "g_param_spec_ref", "g_param_spec_unref"},
-    { "BOXED",         "BOXED",        "gpointer",     "gpointer",     "g_marshal_value_peek_boxed",   "g_boxed_copy", "g_boxed_free", FALSE, TRUE},
-    { "POINTER",       "POINTER",      "gpointer",     "gpointer",     "g_marshal_value_peek_pointer", },
-    { "OBJECT",                "OBJECT",       "gpointer",     "gpointer",     "g_marshal_value_peek_object",  "g_object_ref", "g_object_unref", TRUE},
-    { "VARIANT",       "VARIANT",      "gpointer",     "gpointer",     "g_marshal_value_peek_variant", "g_variant_ref_sink", "g_variant_unref"},
-    /* deprecated: */
-    { "NONE",          "VOID",         "void",         "void",         NULL,                   },
-    { "BOOL",          "BOOLEAN",      "gboolean",     "gboolean",     "g_marshal_value_peek_boolean", },
-  };
-  guint i;
-
-  g_return_val_if_fail (iarg != NULL, FALSE);
-
-  for (i = 0; i < G_N_ELEMENTS (args); i++)
-    if (strcmp (args[i].keyword, iarg->keyword) == 0)
-      {
-       iarg->sig_name = args[i].sig_name;
-       iarg->ctype = args[i].ctype;
-       iarg->promoted_ctype = args[i].promoted_ctype;
-       iarg->getter = args[i].getter;
-       iarg->box = args[i].box;
-       iarg->unbox = args[i].unbox;
-       iarg->box_ignores_static = args[i].box_ignores_static;
-       iarg->box_takes_type = args[i].box_takes_type;
-
-       return TRUE;
-      }
-  return FALSE;
-}
-
-static gboolean
-complete_out_arg (OutArgument *oarg)
-{
-  static const OutArgument args[] = {
-    /* keyword         sig_name        ctype           setter                  */
-    { "VOID",          "VOID",         "void",         NULL,                                        },
-    { "BOOLEAN",       "BOOLEAN",      "gboolean",     "g_value_set_boolean",                       },
-    { "CHAR",          "CHAR",         "gchar",        "g_value_set_char",                          },
-    { "UCHAR",         "UCHAR",        "guchar",       "g_value_set_uchar",                         },
-    { "INT",           "INT",          "gint",         "g_value_set_int",                           },
-    { "UINT",          "UINT",         "guint",        "g_value_set_uint",                          },
-    { "LONG",          "LONG",         "glong",        "g_value_set_long",                          },
-    { "ULONG",         "ULONG",        "gulong",       "g_value_set_ulong",                         },
-    { "INT64",         "INT64",        "gint64",       "g_value_set_int64",                         },
-    { "UINT64",                "UINT64",       "guint64",      "g_value_set_uint64",                        },
-    { "ENUM",          "ENUM",         "gint",         "g_value_set_enum",                          },
-    { "FLAGS",         "FLAGS",        "guint",        "g_value_set_flags",                         },
-    { "FLOAT",         "FLOAT",        "gfloat",       "g_value_set_float",                         },
-    { "DOUBLE",                "DOUBLE",       "gdouble",      "g_value_set_double",                        },
-    { "STRING",                "STRING",       "gchar*",       "g_value_take_string",                       },
-    { "PARAM",         "PARAM",        "GParamSpec*",  "g_value_take_param",                        },
-    { "BOXED",         "BOXED",        "gpointer",     "g_value_take_boxed",                        },
-    { "POINTER",       "POINTER",      "gpointer",     "g_value_set_pointer",                       },
-    { "OBJECT",                "OBJECT",       "GObject*",     "g_value_take_object",                       },
-    { "VARIANT",       "VARIANT",      "GVariant*",    "g_value_take_variant",                      },
-    /* deprecated: */
-    { "NONE",          "VOID",         "void",         NULL,                                        },
-    { "BOOL",          "BOOLEAN",      "gboolean",     "g_value_set_boolean",                       },
-  };
-  guint i;
-
-  g_return_val_if_fail (oarg != NULL, FALSE);
-
-  for (i = 0; i < G_N_ELEMENTS (args); i++)
-    if (strcmp (args[i].keyword, oarg->keyword) == 0)
-      {
-       oarg->sig_name = args[i].sig_name;
-       oarg->ctype = args[i].ctype;
-       oarg->setter = args[i].setter;
-
-       return TRUE;
-      }
-  return FALSE;
-}
-
-static const gchar*
-pad (const gchar *string)
-{
-#define PAD_LENGTH     12
-  static gchar *buffer = NULL;
-  gint i;
-
-  g_return_val_if_fail (string != NULL, NULL);
-
-  if (!buffer)
-    buffer = g_new (gchar, PAD_LENGTH + 1);
-
-  /* paranoid check */
-  if (strlen (string) >= PAD_LENGTH)
-    {
-      g_free (buffer);
-      buffer = g_strdup_printf ("%s ", string);
-      g_warning ("overfull string (%u bytes) for padspace",
-                 (guint) strlen (string));
-      exit_status |= 2;
-
-      return buffer;
-    }
-
-  for (i = 0; i < PAD_LENGTH; i++)
-    {
-      gboolean done = *string == 0;
-
-      buffer[i] = done ? ' ' : *string++;
-    }
-  buffer[i] = 0;
-
-  return buffer;
-}
-
-static const gchar*
-indent (guint n_spaces)
-{
-  static gchar *buffer = NULL;
-  static guint blength = 0;
-
-  if (blength <= n_spaces)
-    {
-      blength = n_spaces + 1;
-      g_free (buffer);
-      buffer = g_new (gchar, blength);
-    }
-  memset (buffer, ' ', n_spaces);
-  buffer[n_spaces] = 0;
-
-  return buffer;
-}
-
-static void
-generate_marshal (const gchar *signame,
-                 Signature   *sig)
-{
-  guint ind, a;
-  GList *node;
-  gchar *tmp = g_strconcat (marshaller_prefix, "_", signame, NULL);
-  gboolean have_std_marshaller = FALSE;
-
-  /* here we have to make sure a marshaller named <marshaller_prefix>_<signame>
-   * exists. we might have put it out already, can revert to a standard
-   * marshaller provided by glib, or need to generate one.
-   */
-
-  if (g_hash_table_lookup (marshallers, tmp))
-    {
-      /* done, marshaller already generated */
-      g_free (tmp);
-      return;
-    }
-  else
-    {
-      /* need to alias/generate marshaller, register name */
-      g_hash_table_insert (marshallers, tmp, tmp);
-    }
-
-  /* can we revert to a standard marshaller? */
-  if (std_includes)
-    {
-      tmp = g_strconcat (std_marshaller_prefix, "_", signame, NULL);
-      have_std_marshaller = g_hash_table_lookup (marshallers, tmp) != NULL;
-      g_free (tmp);
-    }
-
-  /* GValue marshaller */
-  if (gen_cheader && have_std_marshaller)
-    {
-      g_fprintf (fout, "#define %s_%s\t%s_%s\n", marshaller_prefix, signame, std_marshaller_prefix, signame);
-    }
-
-  /* We emit the prototype in both the header and the source, to pass
-   * without warnings when building with -Wmissing-prototypes
-   */
-  if (!have_std_marshaller)
-    {
-      ind = g_fprintf (fout, gen_internal ? "G_GNUC_INTERNAL " : "extern ");
-      ind += g_fprintf (fout, "void ");
-      ind += g_fprintf (fout, "%s_%s (", marshaller_prefix, signame);
-      g_fprintf (fout,   "GClosure     *closure,\n");
-      g_fprintf (fout, "%sGValue       *return_value,\n", indent (ind));
-      g_fprintf (fout, "%sguint         n_param_values,\n", indent (ind));
-      g_fprintf (fout, "%sconst GValue *param_values,\n", indent (ind));
-      g_fprintf (fout, "%sgpointer      invocation_hint,\n", indent (ind));
-      g_fprintf (fout, "%sgpointer      marshal_data);\n",
-                 indent (ind));
-    }
-
-  if (gen_cbody && !have_std_marshaller)
-    {
-      /* cfile marshal header */
-      g_fprintf (fout, "void\n");
-      ind = g_fprintf (fout, "%s_%s (", marshaller_prefix, signame);
-      g_fprintf (fout,   "GClosure     *closure,\n");
-      g_fprintf (fout, "%sGValue       *return_value%s,\n", indent (ind),
-                 sig->rarg->setter ? "" : " G_GNUC_UNUSED");
-      g_fprintf (fout, "%sguint         n_param_values,\n", indent (ind));
-      g_fprintf (fout, "%sconst GValue *param_values,\n", indent (ind));
-      g_fprintf (fout, "%sgpointer      invocation_hint G_GNUC_UNUSED,\n", indent (ind));
-      g_fprintf (fout, "%sgpointer      marshal_data)\n", indent (ind));
-      g_fprintf (fout, "{\n");
-
-      /* cfile GMarshalFunc typedef */
-      ind = g_fprintf (fout, "  typedef %s (*GMarshalFunc_%s) (", sig->rarg->ctype, signame);
-      g_fprintf (fout, "%s data1,\n", pad ("gpointer"));
-      for (a = 1, node = sig->args; node; node = node->next)
-       {
-         InArgument *iarg = node->data;
-
-         if (iarg->getter)
-           g_fprintf (fout, "%s%s arg_%d,\n", indent (ind), pad (iarg->ctype), a++);
-       }
-      g_fprintf (fout, "%s%s data2);\n", indent (ind), pad ("gpointer"));
-
-      /* cfile marshal variables */
-      g_fprintf (fout, "  GMarshalFunc_%s callback;\n", signame);
-      g_fprintf (fout, "  GCClosure *cc = (GCClosure*) closure;\n");
-      g_fprintf (fout, "  gpointer data1, data2;\n");
-      if (sig->rarg->setter)
-       g_fprintf (fout, "  %s v_return;\n", sig->rarg->ctype);
-
-      if (sig->args || sig->rarg->setter)
-       {
-         g_fprintf (fout, "\n");
-
-         if (sig->rarg->setter)
-           g_fprintf (fout, "  g_return_if_fail (return_value != NULL);\n");
-         if (sig->args)
-           {
-             for (a = 0, node = sig->args; node; node = node->next)
-               {
-                 InArgument *iarg = node->data;
-
-                 if (iarg->getter)
-                   a++;
-               }
-             g_fprintf (fout, "  g_return_if_fail (n_param_values == %u);\n", 1 + a);
-           }
-       }
-
-      /* cfile marshal data1, data2 and callback setup */
-      g_fprintf (fout, "\n");
-      g_fprintf (fout, "  if (G_CCLOSURE_SWAP_DATA (closure))\n    {\n");
-      g_fprintf (fout, "      data1 = closure->data;\n");
-      g_fprintf (fout, "      data2 = g_value_peek_pointer (param_values + 0);\n");
-      g_fprintf (fout, "    }\n  else\n    {\n");
-      g_fprintf (fout, "      data1 = g_value_peek_pointer (param_values + 0);\n");
-      g_fprintf (fout, "      data2 = closure->data;\n");
-      g_fprintf (fout, "    }\n");
-      g_fprintf (fout, "  callback = (GMarshalFunc_%s) (marshal_data ? marshal_data : cc->callback);\n", signame);
-
-      /* cfile marshal callback action */
-      g_fprintf (fout, "\n");
-      ind = g_fprintf (fout, " %s callback (", sig->rarg->setter ? " v_return =" : "");
-      g_fprintf (fout, "data1,\n");
-      for (a = 1, node = sig->args; node; node = node->next)
-       {
-         InArgument *iarg = node->data;
-
-         if (iarg->getter)
-           g_fprintf (fout, "%s%s (param_values + %d),\n", indent (ind), iarg->getter, a++);
-       }
-      g_fprintf (fout, "%sdata2);\n", indent (ind));
-
-      /* cfile marshal return value storage */
-      if (sig->rarg->setter)
-       {
-         g_fprintf (fout, "\n");
-         g_fprintf (fout, "  %s (return_value, v_return);\n", sig->rarg->setter);
-       }
-
-      /* cfile marshal footer */
-      g_fprintf (fout, "}\n");
-    }
-
-  /* vararg marshaller */
-  if (gen_cheader && gen_valist && have_std_marshaller)
-    {
-      g_fprintf (fout, "#define %s_%sv\t%s_%sv\n", marshaller_prefix, signame, std_marshaller_prefix, signame);
-    }
-
-  /* Like above, we generate the prototype for both the header and source */
-  if (gen_valist && !have_std_marshaller)
-    {
-      ind = g_fprintf (fout, gen_internal ? "G_GNUC_INTERNAL " : "extern ");
-      ind += g_fprintf (fout, "void ");
-      ind += g_fprintf (fout, "%s_%sv (", marshaller_prefix, signame);
-      g_fprintf (fout,   "GClosure     *closure,\n");
-      g_fprintf (fout, "%sGValue       *return_value,\n", indent (ind));
-      g_fprintf (fout, "%sgpointer      instance,\n", indent (ind));
-      g_fprintf (fout, "%sva_list       args,\n", indent (ind));
-      g_fprintf (fout, "%sgpointer      marshal_data,\n", indent (ind));
-      g_fprintf (fout, "%sint           n_params,\n", indent (ind));
-      g_fprintf (fout, "%sGType        *param_types);\n", indent (ind));
-    }
-
-  if (gen_cbody && gen_valist && !have_std_marshaller)
-    {
-      gint i;
-      gboolean has_arg;
-
-      g_fprintf (fout, "void\n");
-      ind = g_fprintf (fout, "%s_%sv (", marshaller_prefix, signame);
-      g_fprintf (fout,   "GClosure     *closure,\n");
-      g_fprintf (fout, "%sGValue       *return_value,\n", indent (ind));
-      g_fprintf (fout, "%sgpointer      instance,\n", indent (ind));
-      g_fprintf (fout, "%sva_list       args,\n", indent (ind));
-      g_fprintf (fout, "%sgpointer      marshal_data,\n", indent (ind));
-      g_fprintf (fout, "%sint           n_params,\n", indent (ind));
-      g_fprintf (fout, "%sGType        *param_types)\n", indent (ind));
-      g_fprintf (fout, "{\n");
-
-      ind = g_fprintf (fout, "  typedef %s (*GMarshalFunc_%s) (", sig->rarg->ctype, signame);
-      g_fprintf (fout, "%s instance", pad ("gpointer"));
-      for (a = 0, node = sig->args; node; node = node->next)
-       {
-         InArgument *iarg = node->data;
-
-         if (iarg->getter)
-           g_fprintf (fout, ",\n%s%s arg_%d", indent (ind), pad (iarg->ctype), a++);
-       }
-      g_fprintf (fout, ",\n%s%s data);\n", indent (ind), pad ("gpointer"));
-      g_fprintf (fout, "  GCClosure *cc = (GCClosure*) closure;\n");
-      g_fprintf (fout, "  gpointer data1, data2;\n");
-      g_fprintf (fout, "  GMarshalFunc_%s callback;\n", signame);
-      has_arg = FALSE;
-
-      i = 0;
-      for (node = sig->args; node; node = node->next)
-       {
-         InArgument *iarg = node->data;
-
-         if (iarg->getter)
-           {
-             g_fprintf (fout, "  %s arg%i;\n", iarg->ctype, i++);
-             has_arg = TRUE;
-           }
-       }
-      if (has_arg)
-       g_fprintf (fout, "  va_list args_copy;\n");
-
-      if (sig->rarg->setter)
-       g_fprintf (fout, "  %s v_return;\n", sig->rarg->ctype);
-
-      if (sig->rarg->setter)
-        {
-          g_fprintf (fout, "\n");
-          g_fprintf (fout, "  g_return_if_fail (return_value != NULL);\n");
-        }
-
-      /* cfile marshal data1, data2 and callback setup */
-      if (has_arg)
-       {
-         g_fprintf (fout, "\n");
-         g_fprintf (fout, "  G_VA_COPY (args_copy, args);\n");
-         i = 0;
-         for (node = sig->args; node; node = node->next)
-           {
-             InArgument *iarg = node->data;
-
-             if (iarg->getter)
-               {
-                 g_fprintf (fout, "  arg%i = (%s) va_arg (args_copy, %s);\n",
-                            i, iarg->ctype, iarg->promoted_ctype);
-
-                 if (iarg->box != NULL)
-                   {
-                     g_fprintf (fout, "  if (");
-                     if (!iarg->box_ignores_static)
-                       g_fprintf (fout, "(param_types[%i] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && ", i);
-                     g_fprintf (fout, "arg%i != NULL)\n  ", i);
-                     if (iarg->box_takes_type)
-                       g_fprintf (fout,
-                                  "  arg%i = %s (param_types[%i] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg%i);\n",
-                                  i, iarg->box, i, i);
-                     else
-                       g_fprintf (fout,
-                                  "  arg%i = %s (arg%i);\n",
-                                  i, iarg->box, i);
-                   }
-               }
-             i++;
-           }
-         g_fprintf (fout, "  va_end (args_copy);\n");
-       }
-
-      g_fprintf (fout, "\n");
-      /* cfile marshal data1, data2 and callback setup */
-      g_fprintf (fout, "  if (G_CCLOSURE_SWAP_DATA (closure))\n    {\n");
-      g_fprintf (fout, "      data1 = closure->data;\n");
-      g_fprintf (fout, "      data2 = instance;\n");
-      g_fprintf (fout, "    }\n  else\n    {\n");
-      g_fprintf (fout, "      data1 = instance;\n");
-      g_fprintf (fout, "      data2 = closure->data;\n");
-      g_fprintf (fout, "    }\n");
-      g_fprintf (fout, "  callback = (GMarshalFunc_%s) (marshal_data ? marshal_data : cc->callback);\n", signame);
-
-      /* cfile marshal callback action */
-      g_fprintf (fout, "\n");
-      ind = g_fprintf (fout, " %s callback (", sig->rarg->setter ? " v_return =" : "");
-      g_fprintf (fout, "data1");
-
-      i = 0;
-      for (node = sig->args; node; node = node->next)
-       {
-         InArgument *iarg = node->data;
-
-         if (iarg->getter)
-           g_fprintf (fout, ",\n%sarg%i", indent (ind), i++);
-       }
-      g_fprintf (fout, ",\n%sdata2);\n", indent (ind));
-
-      i = 0;
-      for (node = sig->args; node; node = node->next)
-       {
-         InArgument *iarg = node->data;
-
-         if (iarg->unbox)
-           {
-             g_fprintf (fout, "  if (");
-             if (!iarg->box_ignores_static)
-               g_fprintf (fout, "(param_types[%i] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && ", i);
-             g_fprintf (fout, "arg%i != NULL)\n  ", i);
-             if (iarg->box_takes_type)
-               g_fprintf (fout,
-                          "  %s (param_types[%i] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg%i);\n",
-                          iarg->unbox, i, i);
-             else
-               g_fprintf (fout,
-                          "  %s (arg%i);\n",
-                          iarg->unbox, i);
-           }
-         i++;
-       }
-
-      /* cfile marshal return value storage */
-      if (sig->rarg->setter)
-       {
-         g_fprintf (fout, "\n");
-         g_fprintf (fout, "  %s (return_value, v_return);\n", sig->rarg->setter);
-       }
-
-      g_fprintf (fout, "}\n\n");
-    }
-}
-
-static void
-process_signature (Signature *sig)
-{
-  gchar *pname, *sname, *tmp;
-  GList *node;
-
-  /* lookup and complete info on arguments */
-  if (!complete_out_arg (sig->rarg))
-    {
-      g_warning ("unknown type: %s", sig->rarg->keyword);
-      exit_status |= 1;
-      return;
-    }
-  for (node = sig->args; node; node = node->next)
-    {
-      InArgument *iarg = node->data;
-
-      if (!complete_in_arg (iarg))
-       {
-         g_warning ("unknown type: %s", iarg->keyword);
-          exit_status |= 1;
-         return;
-       }
-    }
-
-  /* construct requested marshaller name and technical marshaller name */
-  pname = g_strconcat (sig->rarg->keyword, "_", NULL);
-  sname = g_strconcat (sig->rarg->sig_name, "_", NULL);
-  for (node = sig->args; node; node = node->next)
-    {
-      InArgument *iarg = node->data;
-      gchar *tmp;
-
-      tmp = sname;
-      sname = g_strconcat (tmp, "_", iarg->sig_name, NULL);
-      g_free (tmp);
-      tmp = pname;
-      pname = g_strconcat (tmp, "_", iarg->keyword, NULL);
-      g_free (tmp);
-    }
-
-  /* introductionary comment */
-  g_fprintf (fout, "\n/* %s", sig->rarg->keyword);
-  for (node = sig->args; node; node = node->next)
-    {
-      InArgument *iarg = node->data;
-
-      g_fprintf (fout, "%c%s", node->prev ? ',' : ':', iarg->keyword);
-    }
-  if (!skip_ploc)
-    g_fprintf (fout, " (%s)", sig->ploc);
-  g_fprintf (fout, " */\n");
-
-  /* ensure technical marshaller exists (<marshaller_prefix>_<sname>) */
-  generate_marshal (sname, sig);
-
-  /* put out marshaller alias for requested name if required (<marshaller_prefix>_<pname>) */
-  tmp = g_strconcat (marshaller_prefix, "_", pname, NULL);
-  if (gen_cheader && !g_hash_table_lookup (marshallers, tmp))
-    {
-      g_fprintf (fout, "#define %s_%s\t%s_%s\n", marshaller_prefix, pname, marshaller_prefix, sname);
-
-      g_hash_table_insert (marshallers, tmp, tmp);
-    }
-  else
-    g_free (tmp);
-
-  g_free (pname);
-  g_free (sname);
-}
-
-static InArgument*
-new_in_arg (const gchar *pname)
-{
-  InArgument *iarg = g_new0 (InArgument, 1);
-
-  iarg->keyword = g_strdup (pname);
-
-  return iarg;
-}
-
-static OutArgument*
-new_out_arg (const gchar *pname)
-{
-  OutArgument *oarg = g_new0 (OutArgument, 1);
-
-  oarg->keyword = g_strdup (pname);
-
-  return oarg;
-}
-
-static guint
-parse_line (GScanner  *scanner,
-           Signature *sig)
-{
-  /* parse identifier for return value */
-  if (g_scanner_get_next_token (scanner) != G_TOKEN_IDENTIFIER)
-    return G_TOKEN_IDENTIFIER;
-  sig->rarg = new_out_arg (scanner->value.v_identifier);
-
-  /* keep a note on the location */
-  sig->ploc = g_strdup_printf ("%s:%u", scanner->input_name, scanner->line);
-
-  /* expect ':' */
-  if (g_scanner_get_next_token (scanner) != ':')
-    return ':';
-
-  /* parse first argument */
-  if (g_scanner_get_next_token (scanner) != G_TOKEN_IDENTIFIER)
-    return G_TOKEN_IDENTIFIER;
-  sig->args = g_list_append (sig->args, new_in_arg (scanner->value.v_identifier));
-
-  /* parse rest of argument list */
-  while (g_scanner_peek_next_token (scanner) == ',')
-    {
-      /* eat comma */
-      g_scanner_get_next_token (scanner);
-
-      /* parse arg identifier */
-      if (g_scanner_get_next_token (scanner) != G_TOKEN_IDENTIFIER)
-       return G_TOKEN_IDENTIFIER;
-      sig->args = g_list_append (sig->args, new_in_arg (scanner->value.v_identifier));
-    }
-
-  /* expect end of line, done */
-  if (g_scanner_get_next_token (scanner) != '\n')
-    return '\n';
-
-  /* success */
-  return G_TOKEN_NONE;
-}
-
-static gboolean
-string_key_destroy (gpointer key,
-                   gpointer value,
-                   gpointer user_data)
-{
-  g_free (key);
-
-  return TRUE;
-}
-
-int
-main (int   argc,
-      char *argv[])
-{
-  const gchar *gobject_marshallers[] = {
-#include       "gmarshal.strings"
-  };
-  GScanner *scanner;
-  GSList *slist, *files = NULL;
-  gint i;
-
-  /* parse args and do fast exits */
-  parse_args (&argc, &argv);
-
-  /* list input files */
-  for (i = 1; i < argc; i++)
-    files = g_slist_prepend (files, argv[i]);
-  if (files)
-    files = g_slist_reverse (files);
-  else
-    files = g_slist_prepend (files, "/dev/stdin");
-
-  /* setup auxiliary structs */
-  scanner = g_scanner_new (&scanner_config_template);
-  marshallers = g_hash_table_new (g_str_hash, g_str_equal);
-
-  if (output_fn)
-    {
-      output_tmpfn = g_strconcat (output_fn, ".XXXXXX", NULL);
-      if ((output_fd = g_mkstemp (output_tmpfn)) == -1)
-        {
-          g_printerr ("Failed to create temp file \"%s\": %s\n", output_tmpfn, g_strerror (errno));
-          return EXIT_FAILURE;
-        }
-
-      fout = fdopen (output_fd, "wb");
-      g_assert (fout != NULL);
-    }
-  else
-    fout = stdout;
-
-  /* add standard marshallers of the GObject library */
-  if (std_includes)
-    for (i = 0; i < G_N_ELEMENTS (gobject_marshallers); i++)
-      {
-       gchar *tmp = g_strdup (gobject_marshallers[i]);
-
-       g_hash_table_insert (marshallers, tmp, tmp);
-      }
-
-  /* put out initial heading */
-  g_fprintf (fout, "\n");
-
-  if (gen_cheader && std_includes)
-    {
-      g_fprintf (fout, "#ifndef __%s_MARSHAL_H__\n", marshaller_prefix);
-      g_fprintf (fout, "#define __%s_MARSHAL_H__\n\n", marshaller_prefix);
-    }
-
-  if ((gen_cheader || gen_cbody) && std_includes)
-    g_fprintf (fout, "#include\t<glib-object.h>\n\n");
-
-  if (gen_cheader)
-    g_fprintf (fout, "G_BEGIN_DECLS\n");
-
-  /* generate necessary preprocessor directives */
-  if (gen_cbody)
-    put_marshal_value_getters ();
-
-  /* process input files */
-  for (slist = files; slist; slist = slist->next)
-    {
-      gchar *file = slist->data;
-      gint fd;
-
-      if (strcmp (file, "/dev/stdin") == 0)
-       /* Mostly for Win32. This is equivalent to opening /dev/stdin */
-       fd = dup (0);
-      else
-       fd = g_open (file, O_RDONLY, 0);
-
-      if (fd < 0)
-       {
-         g_warning ("failed to open \"%s\": %s", file, g_strerror (errno));
-         exit_status |= 1;
-         continue;
-       }
-
-      /* set file name for error reports */
-      scanner->input_name = file;
-
-      /* parse & process file */
-      g_scanner_input_file (scanner, fd);
-
-      /* scanning loop, we parse the input until its end is reached,
-       * or our sub routine came across invalid syntax
-       */
-      do
-       {
-         guint expected_token = G_TOKEN_NONE;
-
-         switch ((guint) g_scanner_peek_next_token (scanner))
-           {
-           case '\n':
-             /* eat newline and restart */
-             g_scanner_get_next_token (scanner);
-             continue;
-           case G_TOKEN_EOF:
-             /* done */
-             break;
-           default:
-             /* parse and process signatures */
-             {
-               Signature signature = { NULL, NULL, NULL };
-               GList *node;
-
-               expected_token = parse_line (scanner, &signature);
-
-               /* once we got a valid signature, process it */
-               if (expected_token == G_TOKEN_NONE)
-                 process_signature (&signature);
-
-               /* clean up signature contents */
-               g_free (signature.ploc);
-               if (signature.rarg)
-                 g_free (signature.rarg->keyword);
-               g_free (signature.rarg);
-               for (node = signature.args; node; node = node->next)
-                 {
-                   InArgument *iarg = node->data;
-
-                   g_free (iarg->keyword);
-                   g_free (iarg);
-                 }
-               g_list_free (signature.args);
-             }
-             break;
-           }
-
-         /* bail out on errors */
-         if (expected_token != G_TOKEN_NONE)
-           {
-             g_scanner_unexp_token (scanner, expected_token, "type name", NULL, NULL, NULL, TRUE);
-             exit_status |= 1;
-             break;
-           }
-
-         g_scanner_peek_next_token (scanner);
-       }
-      while (scanner->next_token != G_TOKEN_EOF);
-
-      close (fd);
-    }
-
-  /* put out trailer */
-  if (gen_cheader)
-    {
-      g_fprintf (fout, "\nG_END_DECLS\n");
-
-      if (std_includes)
-       g_fprintf (fout, "\n#endif /* __%s_MARSHAL_H__ */\n", marshaller_prefix);
-    }
-  g_fprintf (fout, "\n");
-
-  /* clean up */
-  g_slist_free (files);
-  g_scanner_destroy (scanner);
-  g_hash_table_foreach_remove (marshallers, string_key_destroy, NULL);
-  g_hash_table_destroy (marshallers);
-
-  if (output_fn)
-    {
-      fclose (fout);
-      if (g_rename (output_tmpfn, output_fn) != 0)
-        {
-         g_printerr ("Failed to rename \"%s\" to \"%s\": %s\n", output_tmpfn, output_fn, g_strerror (errno));
-          g_unlink (output_tmpfn);
-          exit_status = EXIT_FAILURE;
-        }
-
-      g_free (output_tmpfn);
-    }
-
-  return exit_status;
-}
-
-static void
-parse_args (gint    *argc_p,
-           gchar ***argv_p)
-{
-  guint argc = *argc_p;
-  gchar **argv = *argv_p;
-  guint i, e;
-
-  for (i = 1; i < argc; i++)
-    {
-      if (strcmp ("--header", argv[i]) == 0)
-       {
-         gen_cheader = TRUE;
-         argv[i] = NULL;
-       }
-      else if (strcmp ("--body", argv[i]) == 0)
-       {
-         gen_cbody = TRUE;
-         argv[i] = NULL;
-       }
-      else if (strcmp ("--skip-source", argv[i]) == 0)
-       {
-         skip_ploc = TRUE;
-         argv[i] = NULL;
-       }
-      else if (strcmp ("--nostdinc", argv[i]) == 0)
-       {
-         std_includes = FALSE;
-         argv[i] = NULL;
-       }
-      else if (strcmp ("--stdinc", argv[i]) == 0)
-       {
-         std_includes = TRUE;
-         argv[i] = NULL;
-       }
-      else if (strcmp ("--internal", argv[i]) == 0)
-       {
-         gen_internal = TRUE;
-         argv[i] = NULL;
-       }
-      else if (strcmp ("--valist-marshallers", argv[i]) == 0)
-       {
-         gen_valist = TRUE;
-         argv[i] = NULL;
-       }
-      else if ((strcmp ("--prefix", argv[i]) == 0) ||
-              (strncmp ("--prefix=", argv[i], 9) == 0))
-       {
-          gchar *equal = argv[i] + strlen ("--prefix");
-
-         if (*equal == '=')
-           marshaller_prefix = equal + 1;
-         else if (i + 1 < argc)
-           {
-             marshaller_prefix = argv[i + 1];
-             argv[i] = NULL;
-             i += 1;
-           }
-         argv[i] = NULL;
-       }
-      else if ((strcmp ("--output", argv[i]) == 0) ||
-              (strncmp ("--output=", argv[i], 9) == 0))
-       {
-          gchar *equal = argv[i] + strlen ("--output");
-
-         if (*equal == '=')
-           output_fn = equal + 1;
-         else if (i + 1 < argc)
-           {
-             output_fn = argv[i + 1];
-             argv[i] = NULL;
-             i += 1;
-           }
-         argv[i] = NULL;
-       }
-      else if (strcmp ("-h", argv[i]) == 0 ||
-          strcmp ("-?", argv[i]) == 0 ||
-         strcmp ("--help", argv[i]) == 0)
-       {
-         print_blurb (stderr, TRUE);
-         argv[i] = NULL;
-         exit (0);
-       }
-      else if (strcmp ("-v", argv[i]) == 0 ||
-              strcmp ("--version", argv[i]) == 0)
-       {
-         print_blurb (stderr, FALSE);
-         argv[i] = NULL;
-         exit (0);
-       }
-      else if (strcmp (argv[i], "--g-fatal-warnings") == 0)
-       {
-         GLogLevelFlags fatal_mask;
-
-         fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK);
-         fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL;
-         g_log_set_always_fatal (fatal_mask);
-
-         argv[i] = NULL;
-       }
-    }
-
-  e = 0;
-  for (i = 1; i < argc; i++)
-    {
-      if (e)
-       {
-         if (argv[i])
-           {
-             argv[e++] = argv[i];
-             argv[i] = NULL;
-           }
-       }
-      else if (!argv[i])
-       e = i;
-    }
-  if (e)
-    *argc_p = e;
-}
-
-static void
-print_blurb (FILE    *bout,
-            gboolean print_help)
-{
-  if (!print_help)
-    {
-      g_fprintf (bout, "%s version ", PRG_NAME);
-      g_fprintf (bout, "%u.%u.%u", GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
-      g_fprintf (bout, "\n");
-      g_fprintf (bout, "%s comes with ABSOLUTELY NO WARRANTY.\n", PRG_NAME);
-      g_fprintf (bout, "You may redistribute copies of %s under the terms of\n", PRG_NAME);
-      g_fprintf (bout, "the GNU General Public License which can be found in the\n");
-      g_fprintf (bout, "%s source package. Sources, examples and contact\n", PKG_NAME);
-      g_fprintf (bout, "information are available at %s\n", PKG_HTTP_HOME);
-    }
-  else
-    {
-      g_fprintf (bout, "Usage:\n");
-      g_fprintf (bout, "  %s [OPTION...] [FILES...]\n\n", PRG_NAME);
-      g_fprintf (bout, "Help Options:\n");
-      g_fprintf (bout, "  -h, --help                 Show this help message\n\n");
-      g_fprintf (bout, "Utility Options:\n");
-      g_fprintf (bout, "  --header                   Generate C headers\n");
-      g_fprintf (bout, "  --body                     Generate C code\n");
-      g_fprintf (bout, "  --prefix=STRING            Specify marshaller prefix\n");
-      g_fprintf (bout, "  --output=FILE              Write output into the specified file\n");
-      g_fprintf (bout, "  --skip-source              Skip source location comments\n");
-      g_fprintf (bout, "  --stdinc, --nostdinc       Include/use standard marshallers\n");
-      g_fprintf (bout, "  --internal                 Mark generated functions as internal\n");
-      g_fprintf (bout, "  --valist-marshallers       Generate va_list marshallers\n");
-      g_fprintf (bout, "  -v, --version              Print version informations\n");
-      g_fprintf (bout, "  --g-fatal-warnings         Make warnings fatal (abort)\n");
-    }
-}
diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in
new file mode 100755 (executable)
index 0000000..907957b
--- /dev/null
@@ -0,0 +1,1049 @@
+#!/usr/bin/env @PYTHON@
+
+# pylint: disable=too-many-lines, missing-docstring, invalid-name
+
+# This file is part of GLib
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, see <http://www.gnu.org/licenses/>.
+
+import argparse
+import os
+import re
+import sys
+
+VERSION_STR = '''glib-genmarshal version @VERSION@
+glib-genmarshal comes with ABSOLUTELY NO WARRANTY.
+You may redistribute copies of glib-genmarshal under the terms of
+the GNU General Public License which can be found in the
+GLib source package. Sources, examples and contact
+information are available at http://www.gtk.org'''
+
+GETTERS_STR = '''#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v)     g_value_get_schar (v)
+#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v)      g_value_get_int (v)
+#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
+#define g_marshal_value_peek_long(v)     g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
+#define g_marshal_value_peek_float(v)    g_value_get_float (v)
+#define g_marshal_value_peek_double(v)   g_value_get_double (v)
+#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v)    g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v)   g_value_get_object (v)
+#define g_marshal_value_peek_variant(v)  g_value_get_variant (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ *          Do not access GValues directly in your code. Instead, use the
+ *          g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
+#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
+#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
+#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
+#define g_marshal_value_peek_variant(v)  (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */'''
+
+DEPRECATED_MSG_STR = 'The token "{}" is deprecated; use "{}" instead'
+
+VA_ARG_STR = \
+    '  arg{:d} = ({:s}) va_arg (args_copy, {:s});'
+STATIC_CHECK_STR = \
+    '(param_types[{:d}] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && '
+BOX_TYPED_STR = \
+    '    arg{idx:d} = {box_func} (param_types[{idx:d}] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg{idx:d});'
+BOX_UNTYPED_STR = \
+    '    arg{idx:d} = {box_func} (arg{idx:d});'
+UNBOX_TYPED_STR = \
+    '    {unbox_func} (param_types[{idx:d}] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg{idx:d});'
+UNBOX_UNTYPED_STR = \
+    '    {unbox_func} (arg{idx:d});'
+
+STD_PREFIX = 'g_cclosure_marshal'
+
+# These are part of our ABI; keep this in sync with gmarshal.h
+GOBJECT_MARSHALLERS = {
+    'g_cclosure_marshal_VOID__VOID',
+    'g_cclosure_marshal_VOID__BOOLEAN',
+    'g_cclosure_marshal_VOID__CHAR',
+    'g_cclosure_marshal_VOID__UCHAR',
+    'g_cclosure_marshal_VOID__INT',
+    'g_cclosure_marshal_VOID__UINT',
+    'g_cclosure_marshal_VOID__LONG',
+    'g_cclosure_marshal_VOID__ULONG',
+    'g_cclosure_marshal_VOID__ENUM',
+    'g_cclosure_marshal_VOID__FLAGS',
+    'g_cclosure_marshal_VOID__FLOAT',
+    'g_cclosure_marshal_VOID__DOUBLE',
+    'g_cclosure_marshal_VOID__STRING',
+    'g_cclosure_marshal_VOID__PARAM',
+    'g_cclosure_marshal_VOID__BOXED',
+    'g_cclosure_marshal_VOID__POINTER',
+    'g_cclosure_marshal_VOID__OBJECT',
+    'g_cclosure_marshal_VOID__VARIANT',
+    'g_cclosure_marshal_VOID__UINT_POINTER',
+    'g_cclosure_marshal_BOOLEAN__FLAGS',
+    'g_cclosure_marshal_STRING__OBJECT_POINTER',
+    'g_cclosure_marshal_BOOLEAN__BOXED_BOXED',
+}
+
+
+# pylint: disable=too-few-public-methods
+class Color:
+    '''ANSI Terminal colors'''
+    GREEN = '\033[1;32m'
+    BLUE = '\033[1;34m'
+    YELLOW = '\033[1;33m'
+    RED = '\033[1;31m'
+    END = '\033[0m'
+
+
+def print_color(msg, color=Color.END, prefix='MESSAGE'):
+    '''Print a string with a color prefix'''
+    if os.isatty(sys.stderr.fileno()):
+        real_prefix = '{start}{prefix}{end}'.format(start=color, prefix=prefix, end=Color.END)
+    else:
+        real_prefix = prefix
+    sys.stderr.write('{prefix}: {msg}\n'.format(prefix=real_prefix, msg=msg))
+
+
+def print_error(msg):
+    '''Print an error, and terminate'''
+    print_color(msg, color=Color.RED, prefix='ERROR')
+    sys.exit(1)
+
+
+def print_warning(msg, fatal=False):
+    '''Print a warning, and optionally terminate'''
+    if fatal:
+        color = Color.RED
+        prefix = 'ERROR'
+    else:
+        color = Color.YELLOW
+        prefix = 'WARNING'
+    print_color(msg, color, prefix)
+    if fatal:
+        sys.exit(1)
+
+
+def print_info(msg):
+    '''Print a message'''
+    print_color(msg, color=Color.GREEN, prefix='INFO')
+
+
+def generate_header_preamble(outfile, prefix='', std_includes=True, use_pragma=False):
+    '''Generate the preamble for the marshallers header file'''
+    outfile.write('/* This file is generated, all changes will be lost */\n')
+    if use_pragma:
+        outfile.write('#pragma once\n')
+        outfile.write('\n')
+    else:
+        outfile.write('#ifndef __{}_MARSHAL_H__\n'.format(prefix.upper()))
+        outfile.write('#define __{}_MARSHAL_H__\n'.format(prefix.upper()))
+        outfile.write('\n')
+    # Maintain compatibility with the old C-based tool
+    if std_includes:
+        outfile.write('#include <glib-object.h>\n')
+        outfile.write('\n')
+
+    outfile.write('G_BEGIN_DECLS\n')
+    outfile.write('\n')
+
+
+def generate_header_postamble(outfile, prefix='', use_pragma=False):
+    '''Generate the postamble for the marshallers header file'''
+    outfile.write('\n')
+    outfile.write('G_END_DECLS\n')
+
+    if not use_pragma:
+        outfile.write('\n')
+        outfile.write('#endif /* __{}_MARSHAL_H__ */\n'.format(prefix.upper()))
+
+
+def generate_body_preamble(outfile, std_includes=True, include_headers=None, cpp_defines=None, cpp_undefines=None):
+    '''Generate the preamble for the marshallers source file'''
+    for header in (include_headers or []):
+        outfile.write('#include "{}"\n'.format(header))
+    if include_headers:
+        outfile.write('\n')
+
+    for define in (cpp_defines or []):
+        s = define.split('=')
+        symbol = s[0]
+        value = s[1] if len(s) > 1 else '1'
+        outfile.write('#define {} {}\n'.format(symbol, value))
+    if cpp_defines:
+        outfile.write('\n')
+
+    for undefine in (cpp_undefines or []):
+        outfile.write('#undef {}\n'.format(undefine))
+    if cpp_undefines:
+        outfile.write('\n')
+
+    if std_includes:
+        outfile.write('#include <glib-object.h>\n')
+        outfile.write('\n')
+
+    outfile.write(GETTERS_STR)
+    outfile.write('\n\n')
+
+
+# Marshaller arguments, as a dictionary where the key is the token used in
+# the source file, and the value is another dictionary with the following
+# keys:
+#
+#   - signal: the token used in the marshaller prototype (mandatory)
+#   - ctype: the C type for the marshaller argument (mandatory)
+#   - getter: the function used to retrieve the argument from the GValue
+#       array when invoking the callback (optional)
+#   - promoted: the C type used by va_arg() to retrieve the argument from
+#       the va_list when invoking the callback (optional, only used when
+#       generating va_list marshallers)
+#   - box: an array of two elements, containing the boxing and unboxing
+#       functions for the given type (optional, only used when generating
+#       va_list marshallers)
+#   - static-check: a boolean value, if the given type should perform
+#       a static type check before boxing or unboxing the argument (optional,
+#       only used when generating va_list marshallers)
+#   - takes-type: a boolean value, if the boxing and unboxing functions
+#       for the given type require the type (optional, only used when
+#       generating va_list marshallers)
+#   - deprecated: whether the token has been deprecated (optional)
+#   - replaced-by: the token used to replace a deprecated token (optional,
+#       only used if deprecated is True)
+IN_ARGS = {
+    'VOID': {
+        'signal': 'VOID',
+        'ctype': 'void',
+    },
+    'BOOLEAN': {
+        'signal': 'BOOLEAN',
+        'ctype': 'gboolean',
+        'getter': 'g_marshal_value_peek_boolean',
+    },
+    'CHAR': {
+        'signal': 'CHAR',
+        'ctype': 'gchar',
+        'promoted': 'gint',
+        'getter': 'g_marshal_value_peek_char',
+    },
+    'UCHAR': {
+        'signal': 'UCHAR',
+        'ctype': 'guchar',
+        'promoted': 'guint',
+        'getter': 'g_marshal_value_peek_uchar',
+    },
+    'INT': {
+        'signal': 'INT',
+        'ctype': 'gint',
+        'getter': 'g_marshal_value_peek_int',
+    },
+    'UINT': {
+        'signal': 'UINT',
+        'ctype': 'guint',
+        'getter': 'g_marshal_value_peek_uint',
+    },
+    'LONG': {
+        'signal': 'LONG',
+        'ctype': 'glong',
+        'getter': 'g_marshal_value_peek_long',
+    },
+    'ULONG': {
+        'signal': 'ULONG',
+        'ctype': 'gulong',
+        'getter': 'g_marshal_value_peek_ulong',
+    },
+    'INT64': {
+        'signal': 'INT64',
+        'ctype': 'gint64',
+        'getter': 'g_marshal_value_peek_int64',
+    },
+    'UINT64': {
+        'signal': 'UINT64',
+        'ctype': 'guint64',
+        'getter': 'g_marshal_value_peek_uint64',
+    },
+    'ENUM': {
+        'signal': 'ENUM',
+        'ctype': 'gint',
+        'getter': 'g_marshal_value_peek_enum',
+    },
+    'FLAGS': {
+        'signal': 'FLAGS',
+        'ctype': 'guint',
+        'getter': 'g_marshal_value_peek_flags',
+    },
+    'FLOAT': {
+        'signal': 'FLOAT',
+        'ctype': 'gfloat',
+        'promoted': 'gdouble',
+        'getter': 'g_marshal_value_peek_float',
+    },
+    'DOUBLE': {
+        'signal': 'DOUBLE',
+        'ctype': 'gdouble',
+        'getter': 'g_marshal_value_peek_double',
+    },
+    'STRING': {
+        'signal': 'STRING',
+        'ctype': 'gpointer',
+        'getter': 'g_marshal_value_peek_string',
+        'box': ['g_strdup', 'g_free'],
+    },
+    'PARAM': {
+        'signal': 'PARAM',
+        'ctype': 'gpointer',
+        'getter': 'g_marshal_value_peek_param',
+        'box': ['g_param_spec_ref', 'g_param_spec_unref'],
+    },
+    'BOXED': {
+        'signal': 'BOXED',
+        'ctype': 'gpointer',
+        'getter': 'g_marshal_value_peek_boxed',
+        'box': ['g_boxed_copy', 'g_boxed_free'],
+        'static-check': True,
+        'takes-type': True,
+    },
+    'POINTER': {
+        'signal': 'POINTER',
+        'ctype': 'gpointer',
+        'getter': 'g_marshal_value_peek_pointer',
+    },
+    'OBJECT': {
+        'signal': 'OBJECT',
+        'ctype': 'gpointer',
+        'getter': 'g_marshal_value_peek_object',
+        'box': ['g_object_ref', 'g_object_unref'],
+    },
+    'VARIANT': {
+        'signal': 'VARIANT',
+        'ctype': 'gpointer',
+        'getter': 'g_marshal_value_peek_variant',
+        'box': ['g_variant_ref', 'g_variant_unref'],
+        'static-check': True,
+        'takes-type': False,
+    },
+
+    # Deprecated tokens
+    'NONE': {
+        'signal': 'VOID',
+        'ctype': 'void',
+        'deprecated': True,
+        'replaced_by': 'VOID'
+    },
+    'BOOL': {
+        'signal': 'BOOLEAN',
+        'ctype': 'gboolean',
+        'getter': 'g_marshal_value_peek_boolean',
+        'deprecated': True,
+        'replaced_by': 'BOOLEAN'
+    }
+}
+
+
+# Marshaller return values, as a dictionary where the key is the token used
+# in the source file, and the value is another dictionary with the following
+# keys:
+#
+#   - signal: the token used in the marshaller prototype (mandatory)
+#   - ctype: the C type for the marshaller argument (mandatory)
+#   - setter: the function used to set the return value of the callback
+#       into a GValue (optional)
+#   - deprecated: whether the token has been deprecated (optional)
+#   - replaced-by: the token used to replace a deprecated token (optional,
+#       only used if deprecated is True)
+OUT_ARGS = {
+    'VOID': {
+        'signal': 'VOID',
+        'ctype': 'void',
+    },
+    'BOOLEAN': {
+        'signal': 'BOOLEAN',
+        'ctype': 'gboolean',
+        'setter': 'g_value_set_boolean',
+    },
+    'CHAR': {
+        'signal': 'CHAR',
+        'ctype': 'gchar',
+        'setter': 'g_value_set_char',
+    },
+    'UCHAR': {
+        'signal': 'UCHAR',
+        'ctype': 'guchar',
+        'setter': 'g_value_set_uchar',
+    },
+    'INT': {
+        'signal': 'INT',
+        'ctype': 'gint',
+        'setter': 'g_value_set_int',
+    },
+    'UINT': {
+        'signal': 'UINT',
+        'ctype': 'guint',
+        'setter': 'g_value_set_uint',
+    },
+    'LONG': {
+        'signal': 'LONG',
+        'ctype': 'glong',
+        'setter': 'g_value_set_long',
+    },
+    'ULONG': {
+        'signal': 'ULONG',
+        'ctype': 'gulong',
+        'setter': 'g_value_set_ulong',
+    },
+    'INT64': {
+        'signal': 'INT64',
+        'ctype': 'gint64',
+        'setter': 'g_value_set_int64',
+    },
+    'UINT64': {
+        'signal': 'UINT64',
+        'ctype': 'guint64',
+        'setter': 'g_value_set_uint64',
+    },
+    'ENUM': {
+        'signal': 'ENUM',
+        'ctype': 'gint',
+        'setter': 'g_value_set_enum',
+    },
+    'FLAGS': {
+        'signal': 'FLAGS',
+        'ctype': 'guint',
+        'setter': 'g_value_set_flags',
+    },
+    'FLOAT': {
+        'signal': 'FLOAT',
+        'ctype': 'gfloat',
+        'setter': 'g_value_set_float',
+    },
+    'DOUBLE': {
+        'signal': 'DOUBLE',
+        'ctype': 'gdouble',
+        'setter': 'g_value_set_double',
+    },
+    'STRING': {
+        'signal': 'STRING',
+        'ctype': 'gchar*',
+        'setter': 'g_value_take_string',
+    },
+    'PARAM': {
+        'signal': 'PARAM',
+        'ctype': 'GParamSpec*',
+        'setter': 'g_value_take_param',
+    },
+    'BOXED': {
+        'signal': 'BOXED',
+        'ctype': 'gpointer',
+        'setter': 'g_value_take_boxed',
+    },
+    'POINTER': {
+        'signal': 'POINTER',
+        'ctype': 'gpointer',
+        'setter': 'g_value_set_pointer',
+    },
+    'OBJECT': {
+        'signal': 'OBJECT',
+        'ctype': 'GObject*',
+        'setter': 'g_value_take_object',
+    },
+    'VARIANT': {
+        'signal': 'VARIANT',
+        'ctype': 'GVariant*',
+        'setter': 'g_value_take_variant',
+    },
+
+    # Deprecated tokens
+    'NONE': {
+        'signal': 'VOID',
+        'ctype': 'void',
+        'setter': None,
+        'deprecated': True,
+        'replaced_by': 'VOID',
+    },
+    'BOOL': {
+        'signal': 'BOOLEAN',
+        'ctype': 'gboolean',
+        'setter': 'g_value_set_boolean',
+        'deprecated': True,
+        'replaced_by': 'BOOLEAN',
+    },
+}
+
+
+def check_args(retval, params, fatal_warnings=False):
+    '''Check the @retval and @params tokens for invalid and deprecated symbols.'''
+    if retval not in OUT_ARGS:
+        print_error('Unknown return value type "{}"'.format(retval))
+
+    if OUT_ARGS[retval].get('deprecated', False):
+        replaced_by = OUT_ARGS[retval]['replaced_by']
+        print_warning(DEPRECATED_MSG_STR.format(retval, replaced_by), fatal_warnings)
+
+    for param in params:
+        if param not in IN_ARGS:
+            print_error('Unknown parameter type "{}"'.format(param))
+        else:
+            if IN_ARGS[param].get('deprecated', False):
+                replaced_by = IN_ARGS[param]['replaced_by']
+                print_warning(DEPRECATED_MSG_STR.format(param, replaced_by), fatal_warnings)
+
+
+def indent(text, level=0, fill=' '):
+    '''Indent @text by @level columns, using the @fill character'''
+    return ''.join([fill for x in range(level)]) + text
+
+
+# pylint: disable=too-few-public-methods
+class Visibility:
+    '''Symbol visibility options'''
+    NONE = 0
+    INTERNAL = 1
+    EXTERN = 2
+
+
+def generate_marshaller_name(prefix, retval, params, replace_deprecated=True):
+    '''Generate a marshaller name for the given @prefix, @retval, and @params.
+    If @replace_deprecated is True, the generated name will replace deprecated
+    tokens.'''
+    if replace_deprecated:
+        real_retval = OUT_ARGS[retval]['signal']
+        real_params = []
+        for param in params:
+            real_params.append(IN_ARGS[param]['signal'])
+    else:
+        real_retval = retval
+        real_params = params
+    return '{prefix}_{retval}__{args}'.format(prefix=prefix,
+                                              retval=real_retval,
+                                              args='_'.join(real_params))
+
+
+def generate_prototype(retval, params,
+                       prefix='g_cclosure_user_marshal',
+                       visibility=Visibility.NONE,
+                       va_marshal=False):
+    '''Generate a marshaller declaration with the given @visibility. If @va_marshal
+    is True, the marshaller will use variadic arguments in place of a GValue array.'''
+    signature = []
+
+    if visibility == Visibility.INTERNAL:
+        signature += ['G_GNUC_INTERNAL']
+    elif visibility == Visibility.EXTERN:
+        signature += ['extern']
+
+    function_name = generate_marshaller_name(prefix, retval, params)
+
+    if not va_marshal:
+        signature += ['void ' + function_name + ' (GClosure     *closure,']
+        width = len('void ') + len(function_name) + 2
+
+        signature += [indent('GValue       *return_value,', level=width, fill=' ')]
+        signature += [indent('guint         n_param_values,', level=width, fill=' ')]
+        signature += [indent('const GValue *param_values,', level=width, fill=' ')]
+        signature += [indent('gpointer      invocation_hint,', level=width, fill=' ')]
+        signature += [indent('gpointer      marshal_data);', level=width, fill=' ')]
+    else:
+        signature += ['void ' + function_name + 'v (GClosure *closure,']
+        width = len('void ') + len(function_name) + 3
+
+        signature += [indent('GValue   *return_value,', level=width, fill=' ')]
+        signature += [indent('gpointer  instance,', level=width, fill=' ')]
+        signature += [indent('va_list   args,', level=width, fill=' ')]
+        signature += [indent('gpointer  marshal_data,', level=width, fill=' ')]
+        signature += [indent('int       n_params,', level=width, fill=' ')]
+        signature += [indent('GType    *param_types);', level=width, fill=' ')]
+
+    return signature
+
+
+# pylint: disable=too-many-statements, too-many-locals, too-many-branches
+def generate_body(retval, params, prefix, va_marshal=False):
+    '''Generate a marshaller definition. If @va_marshal is True, the marshaller
+    will use va_list and variadic arguments in place of a GValue array.'''
+    retval_setter = OUT_ARGS[retval].get('setter', None)
+    # If there's no return value then we can mark the retval argument as unused
+    # and get a minor optimisation, as well as avoid a compiler warning
+    if not retval_setter:
+        unused = ' G_GNUC_UNUSED'
+    else:
+        unused = ''
+
+    body = ['void']
+
+    function_name = generate_marshaller_name(prefix, retval, params)
+
+    if not va_marshal:
+        body += [function_name + ' (GClosure     *closure,']
+        width = len(function_name) + 2
+
+        body += [indent('GValue       *return_value{},'.format(unused), level=width, fill=' ')]
+        body += [indent('guint         n_param_values,', level=width, fill=' ')]
+        body += [indent('const GValue *param_values,', level=width, fill=' ')]
+        body += [indent('gpointer      invocation_hint G_GNUC_UNUSED,', level=width, fill=' ')]
+        body += [indent('gpointer      marshal_data)', level=width, fill=' ')]
+    else:
+        body += [function_name + 'v (GClosure *closure,']
+        width = len(function_name) + 3
+
+        body += [indent('GValue   *return_value{},'.format(unused), level=width, fill=' ')]
+        body += [indent('gpointer  instance,', level=width, fill=' ')]
+        body += [indent('va_list   args,', level=width, fill=' ')]
+        body += [indent('gpointer  marshal_data,', level=width, fill=' ')]
+        body += [indent('int       n_params,', level=width, fill=' ')]
+        body += [indent('GType    *param_types)', level=width, fill=' ')]
+
+    # Filter the arguments that have a getter
+    get_args = [x for x in params if IN_ARGS[x].get('getter', None) is not None]
+
+    body += ['{']
+
+    # Generate the type of the marshaller function
+    typedef_marshal = generate_marshaller_name('GMarshalFunc', retval, params)
+
+    typedef = '  typedef {ctype} (*{func_name}) ('.format(ctype=OUT_ARGS[retval]['ctype'],
+                                                          func_name=typedef_marshal)
+    pad = len(typedef)
+    typedef += 'gpointer data1,'
+    body += [typedef]
+
+    for idx, in_arg in enumerate(get_args):
+        body += [indent('{} arg{:d},'.format(IN_ARGS[in_arg]['ctype'], idx + 1), level=pad)]
+
+    body += [indent('gpointer data2);', level=pad)]
+
+    # Variable declarations
+    body += ['  GCClosure *cc = (GCClosure *) closure;']
+    body += ['  gpointer data1, data2;']
+    body += ['  {} callback;'.format(typedef_marshal)]
+
+    if retval_setter:
+        body += ['  {} v_return;'.format(OUT_ARGS[retval]['ctype'])]
+
+    if va_marshal:
+        for idx, arg in enumerate(get_args):
+            body += ['  {} arg{:d};'.format(IN_ARGS[arg]['ctype'], idx)]
+
+        if get_args:
+            body += ['  va_list args_copy;']
+            body += ['']
+
+            body += ['  G_VA_COPY (args_copy, args);']
+
+            for idx, arg in enumerate(get_args):
+                ctype = IN_ARGS[arg]['ctype']
+                promoted_ctype = IN_ARGS[arg].get('promoted', ctype)
+                body += [VA_ARG_STR.format(idx, ctype, promoted_ctype)]
+                if IN_ARGS[arg].get('box', None):
+                    box_func = IN_ARGS[arg]['box'][0]
+                    if IN_ARGS[arg].get('static-check', False):
+                        static_check = STATIC_CHECK_STR.format(idx)
+                    else:
+                        static_check = ''
+                    arg_check = 'arg{:d} != NULL'.format(idx)
+                    body += ['  if ({}{})'.format(static_check, arg_check)]
+                    if IN_ARGS[arg].get('takes-type', False):
+                        body += [BOX_TYPED_STR.format(idx=idx, box_func=box_func)]
+                    else:
+                        body += [BOX_UNTYPED_STR.format(idx=idx, box_func=box_func)]
+
+            body += ['  va_end (args_copy);']
+
+    body += ['']
+
+    # Preconditions check
+    if retval_setter:
+        body += ['  g_return_if_fail (return_value != NULL);']
+
+    if not va_marshal:
+        body += ['  g_return_if_fail (n_param_values == {:d});'.format(len(get_args) + 1)]
+
+    body += ['']
+
+    # Marshal instance, data, and callback set up
+    body += ['  if (G_CCLOSURE_SWAP_DATA (closure))']
+    body += ['    {']
+    body += ['      data1 = closure->data;']
+    if va_marshal:
+        body += ['      data2 = instance;']
+    else:
+        body += ['      data2 = g_value_peek_pointer (param_values + 0);']
+    body += ['    }']
+    body += ['  else']
+    body += ['    {']
+    if va_marshal:
+        body += ['      data1 = instance;']
+    else:
+        body += ['      data1 = g_value_peek_pointer (param_values + 0);']
+    body += ['      data2 = closure->data;']
+    body += ['    }']
+    # pylint: disable=line-too-long
+    body += ['  callback = ({}) (marshal_data ? marshal_data : cc->callback);'.format(typedef_marshal)]
+    body += ['']
+
+    # Marshal callback action
+    if retval_setter:
+        callback = ' {} callback ('.format(' v_return =')
+    else:
+        callback = '  callback ('
+
+    pad = len(callback)
+    body += [callback + 'data1,']
+
+    if va_marshal:
+        for idx, arg in enumerate(get_args):
+            body += [indent('arg{:d},'.format(idx), level=pad)]
+    else:
+        for idx, arg in enumerate(get_args):
+            arg_getter = IN_ARGS[arg]['getter']
+            body += [indent('{} (param_values + {:d}),'.format(arg_getter, idx + 1), level=pad)]
+
+    body += [indent('data2);', level=pad)]
+
+    if va_marshal:
+        boxed_args = [x for x in get_args if IN_ARGS[x].get('box', None) is not None]
+        if not boxed_args:
+            body += ['']
+        else:
+            for idx, arg in enumerate(get_args):
+                if not IN_ARGS[arg].get('box', None):
+                    continue
+                unbox_func = IN_ARGS[arg]['box'][1]
+                if IN_ARGS[arg].get('static-check', False):
+                    static_check = STATIC_CHECK_STR.format(idx)
+                else:
+                    static_check = ''
+                arg_check = 'arg{:d} != NULL'.format(idx)
+                body += ['  if ({}{})'.format(static_check, arg_check)]
+                if IN_ARGS[arg].get('takes-type', False):
+                    body += [UNBOX_TYPED_STR.format(idx=idx, unbox_func=unbox_func)]
+                else:
+                    body += [UNBOX_UNTYPED_STR.format(idx=idx, unbox_func=unbox_func)]
+
+    if retval_setter:
+        body += ['']
+        body += ['  {} (return_value, v_return);'.format(retval_setter)]
+
+    body += ['}']
+
+    return body
+
+
+def generate_marshaller_alias(outfile, marshaller, real_marshaller,
+                              include_va=False,
+                              source_location=None):
+    '''Generate an alias between @marshaller and @real_marshaller, including
+    an optional alias for va_list marshallers'''
+    if source_location:
+        outfile.write('/* {} */\n'.format(source_location))
+
+    outfile.write('#define {}\t{}\n'.format(marshaller, real_marshaller))
+
+    if include_va:
+        outfile.write('#define {}v\t{}v\n'.format(marshaller, real_marshaller))
+
+    outfile.write('\n')
+
+
+def generate_marshallers_header(outfile, retval, params,
+                                prefix='g_cclosure_user_marshal',
+                                internal=False,
+                                include_va=False, source_location=None):
+    '''Generate a declaration for a marshaller function, to be used in the header,
+    with the given @retval, @params, and @prefix. An optional va_list marshaller
+    for the same arguments is also generated. The generated buffer is written to
+    the @outfile stream object.'''
+    if source_location:
+        outfile.write('/* {} */\n'.format(source_location))
+
+    if internal:
+        visibility = Visibility.INTERNAL
+    else:
+        visibility = Visibility.EXTERN
+
+    signature = generate_prototype(retval, params, prefix, visibility, False)
+    if include_va:
+        signature += generate_prototype(retval, params, prefix, visibility, True)
+    signature += ['']
+
+    outfile.write('\n'.join(signature))
+    outfile.write('\n')
+
+
+def generate_marshallers_body(outfile, retval, params,
+                              prefix='g_cclosure_user_marshal',
+                              include_prototype=True,
+                              internal=False,
+                              include_va=False, source_location=None):
+    '''Generate a definition for a marshaller function, to be used in the source,
+    with the given @retval, @params, and @prefix. An optional va_list marshaller
+    for the same arguments is also generated. The generated buffer is written to
+    the @outfile stream object.'''
+    if source_location:
+        outfile.write('/* {} */\n'.format(source_location))
+
+    if include_prototype:
+        # Declaration visibility
+        if internal:
+            decl_visibility = Visibility.INTERNAL
+        else:
+            decl_visibility = Visibility.EXTERN
+        proto = ['/* Prototype for -Wmissing-prototypes */']
+        proto += generate_prototype(retval, params, prefix, decl_visibility, False)
+        outfile.write('\n'.join(proto))
+        outfile.write('\n')
+
+    body = generate_body(retval, params, prefix, False)
+    outfile.write('\n'.join(body))
+    outfile.write('\n\n')
+
+    if include_va:
+        if include_prototype:
+            # Declaration visibility
+            if internal:
+                decl_visibility = Visibility.INTERNAL
+            else:
+                decl_visibility = Visibility.EXTERN
+            proto = ['/* Prototype for -Wmissing-prototypes */']
+            proto += generate_prototype(retval, params, prefix, decl_visibility, True)
+            outfile.write('\n'.join(proto))
+            outfile.write('\n')
+
+        body = generate_body(retval, params, prefix, True)
+        outfile.write('\n'.join(body))
+        outfile.write('\n\n')
+
+
+if __name__ == '__main__':
+    arg_parser = argparse.ArgumentParser(description='Generate signal marshallers for GObject')
+    arg_parser.add_argument('--prefix', metavar='STRING',
+                            default='g_cclosure_user_marshal',
+                            help='Specify marshaller prefix')
+    arg_parser.add_argument('--output', metavar='FILE',
+                            type=argparse.FileType('w'),
+                            default=sys.stdout,
+                            help='Write output into the specified file')
+    arg_parser.add_argument('--skip-source',
+                            action='store_true',
+                            help='Skip source location comments')
+    arg_parser.add_argument('--internal',
+                            action='store_true',
+                            help='Mark generated functions as internal')
+    arg_parser.add_argument('--valist-marshallers',
+                            action='store_true',
+                            help='Generate va_list marshallers')
+    arg_parser.add_argument('-v', '--version',
+                            action='store_true',
+                            dest='show_version',
+                            help='Print version information, and exit')
+    arg_parser.add_argument('--g-fatal-warnings',
+                            action='store_true',
+                            dest='fatal_warnings',
+                            help='Make warnings fatal')
+    arg_parser.add_argument('--include-header', metavar='HEADER', nargs='?',
+                            action='append',
+                            dest='include_headers',
+                            help='Include the specified header in the body')
+    arg_parser.add_argument('--pragma-once',
+                            action='store_true',
+                            help='Use "pragma once" as the inclusion guard')
+    arg_parser.add_argument('-D',
+                            action='append',
+                            dest='cpp_defines',
+                            default=[],
+                            help='Pre-processor define')
+    arg_parser.add_argument('-U',
+                            action='append',
+                            dest='cpp_undefines',
+                            default=[],
+                            help='Pre-processor undefine')
+    arg_parser.add_argument('files', metavar='FILE', nargs='*',
+                            type=argparse.FileType('r'),
+                            help='Files with lists of marshallers to generate, ' +
+                            'or "-" for standard input')
+    arg_parser.add_argument('--prototypes',
+                            action='store_true',
+                            help='Generate the marshallers prototype in the C code')
+    arg_parser.add_argument('--header',
+                            action='store_true',
+                            help='Generate C headers')
+    arg_parser.add_argument('--body',
+                            action='store_true',
+                            help='Generate C code')
+
+    group = arg_parser.add_mutually_exclusive_group()
+    group.add_argument('--stdinc',
+                       action='store_true',
+                       dest='stdinc', default=True,
+                       help='Include standard marshallers')
+    group.add_argument('--nostdinc',
+                       action='store_false',
+                       dest='stdinc', default=True,
+                       help='Use standard marshallers')
+
+    group = arg_parser.add_mutually_exclusive_group()
+    group.add_argument('--quiet',
+                       action='store_true',
+                       help='Only print warnings and errors')
+    group.add_argument('--verbose',
+                       action='store_true',
+                       help='Be verbose, and include debugging information')
+
+    args = arg_parser.parse_args()
+
+    if args.show_version:
+        print(VERSION_STR)
+        sys.exit(0)
+
+    # Backward compatibility hack; some projects use both arguments to
+    # generate the marshallers prototype in the C source, even though
+    # it's not really a supported use case. We keep this behaviour by
+    # forcing the --prototypes and --body arguments instead. We make this
+    # warning non-fatal even with --g-fatal-warnings, as it's a deprecation
+    compatibility_mode = False
+    if args.header and args.body:
+        print_warning('Using --header and --body at the same time time is deprecated; ' +
+                      'use --body --prototypes instead', False)
+        args.prototypes = True
+        args.header = False
+        compatibility_mode = True
+
+    if args.header:
+        generate_header_preamble(args.output,
+                                 prefix=args.prefix,
+                                 std_includes=args.stdinc,
+                                 use_pragma=args.pragma_once)
+    elif args.body:
+        generate_body_preamble(args.output,
+                               std_includes=args.stdinc,
+                               include_headers=args.include_headers,
+                               cpp_defines=args.cpp_defines,
+                               cpp_undefines=args.cpp_undefines)
+
+    seen_marshallers = set()
+
+    for infile in args.files:
+        if not args.quiet:
+            print_info('Reading {}...'.format(infile.name))
+
+        line_count = 0
+        for line in infile:
+            line_count += 1
+
+            if line == '\n' or line.startswith('#'):
+                continue
+
+            matches = re.match(r'^([A-Z0-9]+)\s?:\s?([A-Z0-9,\s]+)$', line.strip())
+            if not matches or len(matches.groups()) != 2:
+                print_warning('Invalid entry: "{}"'.format(line.strip()), args.fatal_warnings)
+                continue
+
+            if not args.skip_source:
+                location = '{} ({}:{:d})'.format(line.strip(), infile.name, line_count)
+            else:
+                location = None
+
+            retval = matches.group(1).strip()
+            params = [x.strip() for x in matches.group(2).split(',')]
+            check_args(retval, params, args.fatal_warnings)
+
+            raw_marshaller = generate_marshaller_name(args.prefix, retval, params, False)
+            if raw_marshaller in seen_marshallers:
+                if args.verbose:
+                    print_info('Skipping repeated marshaller {}'.format(line.strip()))
+                continue
+
+            if args.header:
+                if args.verbose:
+                    print_info('Generating declaration for {}'.format(line.strip()))
+                generate_std_alias = False
+                if args.stdinc:
+                    std_marshaller = generate_marshaller_name(STD_PREFIX, retval, params)
+                    if std_marshaller in GOBJECT_MARSHALLERS:
+                        if args.verbose:
+                            print_info('Skipping default marshaller {}'.format(line.strip()))
+                        generate_std_alias = True
+
+                marshaller = generate_marshaller_name(args.prefix, retval, params)
+                if generate_std_alias:
+                    generate_marshaller_alias(args.output, marshaller, std_marshaller,
+                                              source_location=location,
+                                              include_va=args.valist_marshallers)
+                else:
+                    generate_marshallers_header(args.output, retval, params,
+                                                prefix=args.prefix,
+                                                internal=args.internal,
+                                                include_va=args.valist_marshallers,
+                                                source_location=location)
+                # If the marshaller is defined using a deprecated token, we want to maintain
+                # compatibility and generate an alias for the old name pointing to the new
+                # one
+                if marshaller != raw_marshaller:
+                    if args.verbose:
+                        print_info('Generating alias for deprecated tokens')
+                    generate_marshaller_alias(args.output, raw_marshaller, marshaller,
+                                              include_va=args.valist_marshallers)
+            elif args.body:
+                if args.verbose:
+                    print_info('Generating definition for {}'.format(line.strip()))
+                if compatibility_mode:
+                    generate_std_alias = False
+                    if args.stdinc:
+                        std_marshaller = generate_marshaller_name(STD_PREFIX, retval, params)
+                        if std_marshaller in GOBJECT_MARSHALLERS:
+                            if args.verbose:
+                                print_info('Skipping default marshaller {}'.format(line.strip()))
+                            generate_std_alias = True
+                marshaller = generate_marshaller_name(args.prefix, retval, params)
+                if compatibility_mode and generate_std_alias:
+                    generate_marshaller_alias(args.output, marshaller, std_marshaller,
+                                              source_location=location,
+                                              include_va=args.valist_marshallers)
+                else:
+                    generate_marshallers_body(args.output, retval, params,
+                                              prefix=args.prefix,
+                                              internal=args.internal,
+                                              include_prototype=args.prototypes,
+                                              include_va=args.valist_marshallers,
+                                              source_location=location)
+                if compatibility_mode and marshaller != raw_marshaller:
+                    if args.verbose:
+                        print_info('Generating alias for deprecated tokens')
+                    generate_marshaller_alias(args.output, raw_marshaller, marshaller,
+                                              include_va=args.valist_marshallers)
+
+            seen_marshallers.add(raw_marshaller)
+
+        if args.header:
+            generate_header_postamble(args.output, prefix=args.prefix, use_pragma=args.pragma_once)
index 9316e57..3b9a30c 100755 (executable)
-#! @PERL_PATH@
-
-use warnings;
-use File::Basename;
-use File::Copy "move";
-use File::Temp;
-use Cwd;
-use Safe;
-
-# glib-mkenums.pl 
+#!/usr/bin/env @PYTHON@
+
+# If the code below looks horrible and unpythonic, do not panic.
+#
+# It is.
+#
+# This is a manual conversion from the original Perl script to
+# Python. Improvements are welcome.
+#
+from __future__ import print_function, unicode_literals
+
+import argparse
+import os
+import re
+import sys
+import tempfile
+
+VERSION_STR = '''glib-mkenums version @VERSION@
+glib-genmarshal comes with ABSOLUTELY NO WARRANTY.
+You may redistribute copies of glib-genmarshal under the terms of
+the GNU General Public License which can be found in the
+GLib source package. Sources, examples and contact
+information are available at http://www.gtk.org'''
+
+output_stream = sys.stdout
+
+# pylint: disable=too-few-public-methods
+class Color:
+    '''ANSI Terminal colors'''
+    GREEN = '\033[1;32m'
+    BLUE = '\033[1;34m'
+    YELLOW = '\033[1;33m'
+    RED = '\033[1;31m'
+    END = '\033[0m'
+
+
+def print_color(msg, color=Color.END, prefix='MESSAGE'):
+    '''Print a string with a color prefix'''
+    if os.isatty(sys.stderr.fileno()):
+        real_prefix = '{start}{prefix}{end}'.format(start=color, prefix=prefix, end=Color.END)
+    else:
+        real_prefix = prefix
+    print('{prefix}: {msg}'.format(prefix=real_prefix, msg=msg), file=sys.stderr)
+
+
+def print_error(msg):
+    '''Print an error, and terminate'''
+    print_color(msg, color=Color.RED, prefix='ERROR')
+    sys.exit(1)
+
+
+def print_warning(msg, fatal=False):
+    '''Print a warning, and optionally terminate'''
+    if fatal:
+        color = Color.RED
+        prefix = 'ERROR'
+    else:
+        color = Color.YELLOW
+        prefix = 'WARNING'
+    print_color(msg, color, prefix)
+    if fatal:
+        sys.exit(1)
+
+
+def print_info(msg):
+    '''Print a message'''
+    print_color(msg, color=Color.GREEN, prefix='INFO')
+
+
+def write_output(output):
+    global output_stream
+    print(output, file=output_stream)
+
+# glib-mkenums.py
 # Information about the current enumeration
-my $flags;                     # Is enumeration a bitmask?
-my $option_underscore_name;    # Overriden underscore variant of the enum name
-                               # for example to fix the cases we don't get the
-                               # mixed-case -> underscorized transform right.
-my $option_lowercase_name;     # DEPRECATED.  A lower case name to use as part
-                               # of the *_get_type() function, instead of the
-                               # one that we guess. For instance, when an enum
-                               # uses abnormal capitalization and we can not
-                               # guess where to put the underscores.
-my $seenbitshift;              # Have we seen bitshift operators?
-my $seenprivate;                # Have we seen a private option?
-my $enum_prefix;               # Prefix for this enumeration
-my $enumname;                  # Name for this enumeration
-my $enumshort;                 # $enumname without prefix
-my $enumname_prefix;           # prefix of $enumname
-my $enumindex = 0;             # Global enum counter
-my $firstenum = 1;             # Is this the first enumeration per file?
-my @entries;                   # [ $name, $val ] for each entry
-my $sandbox = Safe->new;        # sandbox for safe evaluation of expressions
-
-my $output;                    # Filename to write result into
-
-sub parse_trigraph {
-    my $opts = shift;
-    my @opts;
-
-    for $opt (split /\s*,\s*/, $opts) {
-       $opt =~ s/^\s*//;
-       $opt =~ s/\s*$//;
-        my ($key,$val) = $opt =~ /(\w+)(?:=(.+))?/;
-       defined $val or $val = 1;
-       push @opts, $key, $val;
-    }
-    @opts;
-}
-sub parse_entries {
-    my $file = shift;
-    my $file_name = shift;
-    my $looking_for_name = 0;
-    
-    while (<$file>) {
-       # read lines until we have no open comments
-       while (m@/\*([^*]|\*(?!/))*$@) {
-           my $new;
-           defined ($new = <$file>) || die "Unmatched comment in $ARGV";
-           $_ .= $new;
-       }
-       # strip comments w/o options
-       s@/\*(?!<)
-           ([^*]+|\*(?!/))*
-          \*/@@gx;
-       
-       # strip newlines
-       s@\n@ @;
-       
-       # skip empty lines
-       next if m@^\s*$@;
-       
-       if ($looking_for_name) {
-           if (/^\s*(\w+)/) {
-               $enumname = $1;
-               return 1;
-           }
-       }
-       
-       # Handle include files
-       if (/^\#include\s*<([^>]*)>/ ) {
-            my $file= "../$1";
-           open NEWFILE, $file or die "Cannot open include file $file: $!\n";
-           
-           if (parse_entries (\*NEWFILE, $NEWFILE)) {
-               return 1;
-           } else {
-               next;
-           }
-       }
-       
-       if (/^\s*\}\s*(\w+)/) {
-           $enumname = $1;
-           $enumindex++;
-           return 1;
-       }
-       
-       if (/^\s*\}/) {
-           $enumindex++;
-           $looking_for_name = 1;
-           next;
-       }
-
-        if (m@^\s*
+flags = False               # Is enumeration a bitmask?
+option_underscore_name = '' # Overriden underscore variant of the enum name
+                            # for example to fix the cases we don't get the
+                            # mixed-case -> underscorized transform right.
+option_lowercase_name = ''  # DEPRECATED.  A lower case name to use as part
+                            # of the *_get_type() function, instead of the
+                            # one that we guess. For instance, when an enum
+                            # uses abnormal capitalization and we can not
+                            # guess where to put the underscores.
+seenbitshift = 0        # Have we seen bitshift operators?
+enum_prefix = None        # Prefix for this enumeration
+enumname = ''            # Name for this enumeration
+enumshort = ''           # $enumname without prefix
+enumname_prefix = ''       # prefix of $enumname
+enumindex = 0        # Global enum counter
+firstenum = 1        # Is this the first enumeration per file?
+entries = []            # [ name, val ] for each entry
+sandbox = None      # sandbox for safe evaluation of expressions
+
+output = ''            # Filename to write result into
+
+def parse_trigraph(opts):
+    result = {}
+
+    for opt in re.split(r'\s*,\s*', opts):
+        opt = re.sub(r'^\s*', '', opt)
+        opt = re.sub(r'\s*$', '', opt)
+        m = re.search(r'(\w+)(?:=(.+))?', opt)
+        assert m is not None
+        groups = m.groups()
+        key = groups[0]
+        if len(groups) > 1:
+            val = groups[1]
+        else:
+            val = 1
+        result[key] = val
+    return result
+
+def parse_entries(file, file_name):
+    global entries, enumindex, enumname, seenbitshift, flags
+    looking_for_name = False
+
+    while True:
+        line = file.readline()
+        if not line:
+            break
+
+        line = line.strip()
+
+        # read lines until we have no open comments
+        while re.search(r'/\*([^*]|\*(?!/))*$', line):
+            line += file.readline()
+
+        # strip comments w/o options
+        line = re.sub(r'''/\*(?!<)
+            ([^*]+|\*(?!/))*
+           \*/''', '', line, flags=re.X)
+
+        line = line.rstrip()
+
+        # skip empty lines
+        if len(line.strip()) == 0:
+            continue
+
+        if looking_for_name:
+            m = re.match(r'\s*(\w+)', line)
+            if m:
+                enumname = m.group(1)
+                return True
+
+        # Handle include files
+        m = re.match(r'\#include\s*<([^>]*)>', line)
+        if m:
+            newfilename = os.path.join("..", m.group(1))
+            newfile = open(newfilename)
+
+            if not parse_entries(newfile, newfilename):
+                return False
+            else:
+                continue
+
+        m = re.match(r'\s*\}\s*(\w+)', line)
+        if m:
+            enumname = m.group(1)
+            enumindex += 1
+            return 1
+
+        m = re.match(r'\s*\}', line)
+        if m:
+            enumindex += 1
+            looking_for_name = True
+            continue
+
+        m = re.match(r'''\s*
               (\w+)\s*                   # name
               (?:=(                      # value
-                  \s*\w+\s*\(.*\)\s*       # macro with multiple args
-                  |                        # OR
+                   \s*\w+\s*\(.*\)\s*       # macro with multiple args
+                   |                        # OR
                    (?:[^,/]|/(?!\*))*       # anything but a comma or comment
                   ))?,?\s*
               (?:/\*<                    # options
                 (([^*]|\*(?!/))*)
                >\s*\*/)?,?
-              \s*$
-             @x) {
-            my ($name, $value, $options) = ($1,$2,$3);
-
-           if (!defined $flags && defined $value && $value =~ /<</) {
-               $seenbitshift = 1;
-           }
-
-            next if $seenprivate;
-
-           if (defined $options) {
-               my %options = parse_trigraph($options);
-               if (!defined $options{skip}) {
-                   push @entries, [ $name, $value, $options{nick} ];
-               }
-           } else {
-               push @entries, [ $name, $value ];
-           }
-       } elsif (m@^\s*\#@) {
-           # ignore preprocessor directives
-        } elsif (m@^\s*
-                   /\*< (([^*]|\*(?!/))*) >\s*\*/
-                   \s*$
-                  @x) {
-            my ($options) = ($1);
-
-            if (defined $options) {
-                my %options = parse_trigraph($options);
-                if (defined $options{private}) {
-                    $seenprivate = 1;
-                }
-                elsif (defined $options{public}) {
-                    $seenprivate = 0;
-                }
-            }
-       } else {
-           print STDERR "$0: $file_name:$.: Failed to parse `$_'\n";
-       }
-    }
-
-    return 0;
-}
-
-sub version {
-    print "glib-mkenums version glib-@GLIB_VERSION@\n";
-    print "glib-mkenums comes with ABSOLUTELY NO WARRANTY.\n";
-    print "You may redistribute copies of glib-mkenums under the terms of\n";
-    print "the GNU General Public License which can be found in the\n";
-    print "GLib source package. Sources, examples and contact\n";
-    print "information are available at http://www.gtk.org\n";
-    exit 0;
-}
-sub usage {
-    print "Usage:\n";
-    print "  glib-mkenums [OPTION...] [FILES...]\n\n";
-    print "Help Options:\n";
-    print "  -h, --help            Show this help message\n\n";
-    print "Utility Options:\n";
-    print "  --identifier-prefix <text>   Identifier prefix\n";
-    print "  --symbol-prefix <text>       Symbol prefix\n";
-    print "  --fhead <text>               Output file header\n";
-    print "  --fprod <text>               Per input file production\n";
-    print "  --ftail <text>               Output file trailer\n";
-    print "  --eprod <text>               Per enum text (produced prior to value iterations)\n";
-    print "  --vhead <text>               Value header, produced before iterating over enum values\n";
-    print "  --vprod <text>               Value text, produced for each enum value\n";
-    print "  --vtail <text>               Value tail, produced after iterating over enum values\n";
-    print "  --comments <text>            Comment structure\n";
-    print "  --template file              Template file\n";
-    print "  --output file                Output file\n";
-    print "  -v, --version                Print version informations\n\n";
-    print "Production text substitutions:\n";
-    print "  \@EnumName\@            PrefixTheXEnum\n";
-    print "  \@enum_name\@           prefix_the_xenum\n";
-    print "  \@ENUMNAME\@            PREFIX_THE_XENUM\n";
-    print "  \@ENUMSHORT\@           THE_XENUM\n";
-    print "  \@ENUMPREFIX\@          PREFIX\n";
-    print "  \@VALUENAME\@           PREFIX_THE_XVALUE\n";
-    print "  \@valuenick\@           the-xvalue\n";
-    print "  \@valuenum\@            the integer value (limited support, Since: 2.26)\n";
-    print "  \@type\@                either enum or flags\n";
-    print "  \@Type\@                either Enum or Flags\n";
-    print "  \@TYPE\@                either ENUM or FLAGS\n";
-    print "  \@filename\@            name of current input file\n";
-    print "  \@basename\@            base name of the current input file (Since: 2.22)\n";
-    exit 0;
-}
+              \s*$''', line, flags=re.X)
+        if m:
+            groups = m.groups()
+            name = groups[0]
+            value = None
+            options = None
+            if len(groups) > 1:
+                value = groups[1]
+            if len(groups) > 2:
+                options = groups[2]
+            if not flags and value is not None and '<<' in value:
+                seenbitshift = 1
+
+            if options is not None:
+                options = parse_trigraph(options)
+                if 'skip' not in options:
+                    entries.append((name, value, options['nick']))
+            else:
+                entries.append((name, value))
+        elif re.match(r's*\#', line):
+            pass
+        else:
+            print_warning('Failed to parse "{}" in {}'.format(line, file_name))
+    return False
+
+help_epilog = '''Production text substitutions:
+  \u0040EnumName\u0040            PrefixTheXEnum
+  \u0040enum_name\u0040           prefix_the_xenum
+  \u0040ENUMNAME\u0040            PREFIX_THE_XENUM
+  \u0040ENUMSHORT\u0040           THE_XENUM
+  \u0040ENUMPREFIX\u0040          PREFIX
+  \u0040VALUENAME\u0040           PREFIX_THE_XVALUE
+  \u0040valuenick\u0040           the-xvalue
+  \u0040valuenum\u0040            the integer value (limited support, Since: 2.26)
+  \u0040type\u0040                either enum or flags
+  \u0040Type\u0040                either Enum or Flags
+  \u0040TYPE\u0040                either ENUM or FLAGS
+  \u0040filename\u0040            name of current input file
+  \u0040basename\u0040            base name of the current input file (Since: 2.22)
+'''
+
 
 # production variables:
-my $idprefix = "";    # "G", "Gtk", etc
-my $symprefix = "";   # "g", "gtk", etc, if not just lc($idprefix)
-my $fhead = "";   # output file header
-my $fprod = "";   # per input file production
-my $ftail = "";   # output file trailer
-my $eprod = "";   # per enum text (produced prior to value itarations)
-my $vhead = "";   # value header, produced before iterating over enum values
-my $vprod = "";   # value text, produced for each enum value
-my $vtail = "";   # value tail, produced after iterating over enum values
-my $comment_tmpl = "";   # comment template
-
-sub read_template_file {
-  my ($file) = @_;
-  my %tmpl = ('file-header', $fhead, 
-             'file-production', $fprod, 
-             'file-tail', $ftail, 
-             'enumeration-production', $eprod,
-             'value-header', $vhead,
-             'value-production', $vprod,
-             'value-tail', $vtail,
-             'comment', $comment_tmpl);
-  my $in = 'junk';
-  open (FILE, $file) || die "Can't open $file: $!\n";
-  while (<FILE>) {
-    if (/^\/\*\*\*\s+(BEGIN|END)\s+([\w-]+)\s+\*\*\*\//) {
-      if (($in eq 'junk') && ($1 eq 'BEGIN') && (exists($tmpl{$2}))) {
-       $in = $2;
-       next;
-      }
-      elsif (($in eq $2) && ($1 eq 'END') && (exists($tmpl{$2}))) {
-       $in = 'junk';
-       next;
-      } else {
-         die "Malformed template file $file\n";
-      }
-    }
-    if (!($in eq 'junk')) {
-       $tmpl{$in} .= $_;
-    }
-  }
-  close (FILE);
-  if (!($in eq 'junk')) {
-      die "Malformed template file $file\n";
-  }
-  $fhead = $tmpl{'file-header'};
-  $fprod = $tmpl{'file-production'};
-  $ftail = $tmpl{'file-tail'};
-  $eprod = $tmpl{'enumeration-production'};
-  $vhead = $tmpl{'value-header'};
-  $vprod = $tmpl{'value-production'};
-  $vtail = $tmpl{'value-tail'};
-  $comment_tmpl = $tmpl{'comment'};
-
-  # default to C-style comments
-  $comment_tmpl = "/* \@comment\@ */" if $comment_tmpl eq "";
-}
-
-if (!defined $ARGV[0]) {
-    usage;
-}
-while ($_=$ARGV[0],/^-/) {
-    shift;
-    last if /^--$/;
-    if (/^--template$/)                      { read_template_file (shift); }
-    elsif (/^--identifier-prefix$/)          { $idprefix = shift }
-    elsif (/^--symbol-prefix$/)              { $symprefix = shift }
-    elsif (/^--fhead$/)                      { $fhead = $fhead . shift }
-    elsif (/^--fprod$/)                      { $fprod = $fprod . shift }
-    elsif (/^--ftail$/)                      { $ftail = $ftail . shift }
-    elsif (/^--eprod$/)                      { $eprod = $eprod . shift }
-    elsif (/^--vhead$/)                      { $vhead = $vhead . shift }
-    elsif (/^--vprod$/)                      { $vprod = $vprod . shift }
-    elsif (/^--vtail$/)                      { $vtail = $vtail . shift }
-    elsif (/^--comments$/)                   { $comment_tmpl = shift }
-    elsif (/^--output$/)                     { $output = shift }
-    elsif (/^--help$/ || /^-h$/ || /^-\?$/)  { usage; }
-    elsif (/^--version$/ || /^-v$/)          { version; }
-    else { usage; }
-    last if not defined($ARGV[0]);
-}
-
-if (defined ($output)) {
-    my($out_fn, $out_dir, $out_suffix) = fileparse($output, qr{\.\w+$});
-    if ($out_dir eq '') { $out_dir = cwd(); }
-
-    $out_suffix =~ s/^\./_/;   # .foo -> _foo
-
-    $OUTPUT = File::Temp->new("$out_fn$out_suffix\_XXXXXX", DIR => $out_dir, UNLINK => 0);
-    select $OUTPUT;         # Make all print calls from here on go to OUTPUT
-}
+idprefix = ""    # "G", "Gtk", etc
+symprefix = ""   # "g", "gtk", etc, if not just lc($idprefix)
+fhead = ""   # output file header
+fprod = ""   # per input file production
+ftail = ""   # output file trailer
+eprod = ""   # per enum text (produced prior to value itarations)
+vhead = ""   # value header, produced before iterating over enum values
+vprod = ""   # value text, produced for each enum value
+vtail = ""   # value tail, produced after iterating over enum values
+comment_tmpl = ""   # comment template
+
+def read_template_file(file):
+    global idprefix, symprefix, fhead, fprod, ftail, eprod, vhead, vprod, vtail, comment_tmpl
+    tmpl = {'file-header': fhead,
+            'file-production': fprod,
+            'file-tail': ftail,
+            'enumeration-production': eprod,
+            'value-header': vhead,
+            'value-production': vprod,
+            'value-tail': vtail,
+            'comment': comment_tmpl,
+           }
+    in_ = 'junk'
+
+    ifile = open(file)
+    for line in ifile:
+        m = re.match(r'\/\*\*\*\s+(BEGIN|END)\s+([\w-]+)\s+\*\*\*\/', line)
+        if m:
+            if in_ == 'junk' and m.group(1) == 'BEGIN' and m.group(2) in tmpl:
+                in_ = m.group(2)
+                continue
+            elif in_ == m.group(2) and m.group(1) == 'END' and m.group(2) in tmpl:
+                in_ = 'junk'
+                continue
+            else:
+                sys.exit("Malformed template file " + file)
+
+        if in_ != 'junk':
+            tmpl[in_] += line
+
+    if in_ != 'junk':
+        sys.exit("Malformed template file " + file)
+
+    fhead = tmpl['file-header']
+    fprod = tmpl['file-production']
+    ftail = tmpl['file-tail']
+    eprod = tmpl['enumeration-production']
+    vhead = tmpl['value-header']
+    vprod = tmpl['value-production']
+    vtail = tmpl['value-tail']
+    comment_tmpl = tmpl['comment']
+
+    # default to C-style comments
+    if comment_tmpl == "":
+        comment_tmpl = "/* \u0040comment\u0040 */"
+
+parser = argparse.ArgumentParser(epilog=help_epilog,
+                                 formatter_class=argparse.RawDescriptionHelpFormatter)
+
+parser.add_argument('--identifier-prefix', default='', dest='idprefix',
+                    help='Identifier prefix')
+parser.add_argument('--symbol-prefix', default='', dest='symprefix',
+                    help='symbol-prefix')
+parser.add_argument('--fhead', default=[], dest='fhead', action='append',
+                    help='Output file header')
+parser.add_argument('--ftail', default=[], dest='ftail', action='append',
+                    help='Per input file production')
+parser.add_argument('--fprod', default=[], dest='fprod', action='append',
+                    help='Put out TEXT everytime a new input file is being processed.')
+parser.add_argument('--eprod', default=[], dest='eprod', action='append',
+                    help='Per enum text (produced prior to value iterations)')
+parser.add_argument('--vhead', default=[], dest='vhead', action='append',
+                    help='Value header, produced before iterating over enum values')
+parser.add_argument('--vprod', default=[], dest='vprod', action='append',
+                    help='Value text, produced for each enum value.')
+parser.add_argument('--vtail', default=[], dest='vtail', action='append',
+                    help='Value tail, produced after iterating over enum values')
+parser.add_argument('--comments', default='', dest='comment_tmpl',
+                    help='Comment structure')
+parser.add_argument('--template', default='', dest='template',
+                    help='Template file')
+parser.add_argument('--output', default=None, dest='output')
+parser.add_argument('--version', '-v', default=False, action='store_true', dest='version',
+                    help='Print version informations')
+parser.add_argument('args', nargs='*')
+
+options = parser.parse_args()
+
+if options.version:
+    print(VERSION_STR)
+    sys.exit(0)
+
+def unescape_cmdline_args(arg):
+    arg = arg.replace('\\n', '\n')
+    arg = arg.replace('\\r', '\r')
+    return arg.replace('\\t', '\t')
+
+if options.template != '':
+    read_template_file(options.template)
+
+idprefix += options.idprefix
+symprefix += options.symprefix
+
+# This is a hack to maintain some semblance of backward compatibility with
+# the old, Perl-based glib-mkenums. The old tool had an implicit ordering
+# on the arguments and templates; each argument was parsed in order, and
+# all the strings appended. This allowed developers to write:
+#
+#   glib-mkenums \
+#     --fhead ... \
+#     --template a-template-file.c.in \
+#     --ftail ...
+#
+# And have the fhead be prepended to the file-head stanza in the template,
+# as well as the ftail be appended to the file-tail stanza in the template.
+# Short of throwing away ArgumentParser and going over sys.argv[] element
+# by element, we can simulate that behaviour by ensuring some ordering in
+# how we build the template strings:
+#
+#   - the head stanzas are always prepended to the template
+#   - the prod stanzas are always appended to the template
+#   - the tail stanzas are always appended to the template
+#
+# Within each instance of the command line argument, we append each value
+# to the array in the order in which it appears on the command line.
+fhead = ''.join([unescape_cmdline_args(x) for x in options.fhead]) + fhead
+vhead = ''.join([unescape_cmdline_args(x) for x in options.vhead]) + vhead
+
+fprod += ''.join([unescape_cmdline_args(x) for x in options.fprod])
+eprod += ''.join([unescape_cmdline_args(x) for x in options.eprod])
+vprod += ''.join([unescape_cmdline_args(x) for x in options.vprod])
+
+ftail = ftail + ''.join([unescape_cmdline_args(x) for x in options.ftail])
+vtail = vtail + ''.join([unescape_cmdline_args(x) for x in options.vtail])
+
+if options.comment_tmpl != '':
+    comment_tmpl = unescape_cmdline_args(options.comment_tmpl)
+
+output = options.output
+
+if output is not None:
+    (out_dir, out_fn) = os.path.split(options.output)
+    out_suffix = '_' + os.path.splitext(out_fn)[1]
+    if out_dir == '':
+        out_dir = '.'
+    tmpfile = tempfile.NamedTemporaryFile(dir=out_dir, delete=False)
+    output_stream = tmpfile
+else:
+    tmpfile = None
 
 # put auto-generation comment
-{
-    my $comment = $comment_tmpl;
-    $comment =~ s/\@comment\@/Generated data (by glib-mkenums)/;
-    print "\n" . $comment . "\n\n";
-}
-
-if (length($fhead)) {
-    my $prod = $fhead;
-    my $base = basename ($ARGV[0]);
-
-    $prod =~ s/\@filename\@/$ARGV[0]/g;
-    $prod =~ s/\@basename\@/$base/g;
-    $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
-    $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
-    chomp ($prod);
-               
-    print "$prod\n";
-}
-
-@ARGV = sort @ARGV;
-
-while (<>) {
-    if (eof) {
-       close (ARGV);           # reset line numbering
-       $firstenum = 1;         # Flag to print filename at next enum
-    }
-
-    # read lines until we have no open comments
-    while (m@/\*([^*]|\*(?!/))*$@) {
-       my $new;
-       defined ($new = <>) || die "Unmatched comment in $ARGV";
-       $_ .= $new;
-    }
-    # strip comments w/o options
-    s@/\*(?!<)
-       ([^*]+|\*(?!/))*
-       \*/@@gx;
-       
-    # ignore forward declarations
-    next if /^\s*typedef\s+enum.*;/;
-
-    if (m@^\s*typedef\s+enum\s*
-           ({)?\s*
-           (?:/\*<
-             (([^*]|\*(?!/))*)
-            >\s*\*/)?
-           \s*({)?
-         @x) {
-       if (defined $2) {
-           my %options = parse_trigraph ($2);
-           next if defined $options{skip};
-           $enum_prefix = $options{prefix};
-           $flags = $options{flags};
-           $option_lowercase_name = $options{lowercase_name};
-           $option_underscore_name = $options{underscore_name};
-       } else {
-           $enum_prefix = undef;
-           $flags = undef;
-           $option_lowercase_name = undef;
-           $option_underscore_name = undef;
-       }
-       if (defined $option_lowercase_name) {
-           if (defined $option_underscore_name) {
-               print STDERR "$0: $ARGV:$.: lowercase_name overriden with underscore_name\n";
-               $option_lowercase_name = undef;
-           } else {
-               print STDERR "$0: $ARGV:$.: lowercase_name is deprecated, use underscore_name\n";
-           }
-       }
-       # Didn't have trailing '{' look on next lines
-       if (!defined $1 && !defined $4) {
-           while (<>) {
-               if (eof) {
-                   die "Hit end of file while parsing enum in $ARGV";
-               }
-               if (s/^\s*\{//) {
-                   last;
-               }
-           }
-       }
-
-       $seenbitshift = 0;
-        $seenprivate = 0;
-       @entries = ();
-
-       # Now parse the entries
-       parse_entries (\*ARGV, $ARGV);
-
-       # figure out if this was a flags or enums enumeration
-       if (!defined $flags) {
-           $flags = $seenbitshift;
-       }
-
-       # Autogenerate a prefix
-       if (!defined $enum_prefix) {
-           for (@entries) {
-               my $nick = $_->[2];
-               if (!defined $nick) {
-                   my $name = $_->[0];
-                   if (defined $enum_prefix) {
-                       my $tmp = ~ ($name ^ $enum_prefix);
-                       ($tmp) = $tmp =~ /(^\xff*)/;
-                       $enum_prefix = $enum_prefix & $tmp;
-                   } else {
-                       $enum_prefix = $name;
-                   }
-               }
-           }
-           if (!defined $enum_prefix) {
-               $enum_prefix = "";
-           } else {
-               # Trim so that it ends in an underscore
-               $enum_prefix =~ s/_[^_]*$/_/;
-           }
-       } else {
-           # canonicalize user defined prefixes
-           $enum_prefix = uc($enum_prefix);
-           $enum_prefix =~ s/-/_/g;
-           $enum_prefix =~ s/(.*)([^_])$/$1$2_/;
-       }
-       
-       for $entry (@entries) {
-           my ($name,$num,$nick) = @{$entry};
-            if (!defined $nick) {
-               ($nick = $name) =~ s/^$enum_prefix//;
-               $nick =~ tr/_/-/;
-               $nick = lc($nick);
-               @{$entry} = ($name, $num, $nick);
-            }
-       }
-       
-
-       # Spit out the output
-       if (defined $option_underscore_name) {
-           $enumlong = uc $option_underscore_name;
-           $enumsym = lc $option_underscore_name;
-           $enumshort = $enumlong;
-           $enumshort =~ s/^[A-Z][A-Z0-9]*_//;
-
-           $enumname_prefix = $enumlong;
-           $enumname_prefix =~ s/_$enumshort$//;
-       } elsif (!$symprefix && !$idprefix) {
-           # enumname is e.g. GMatchType
-           $enspace = $enumname;
-           $enspace =~ s/^([A-Z][a-z]*).*$/$1/;
-
-           $enumshort = $enumname;
-           $enumshort =~ s/^[A-Z][a-z]*//;
-           $enumshort =~ s/([^A-Z])([A-Z])/$1_$2/g;
-           $enumshort =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
-           $enumshort = uc($enumshort);
-
-           $enumname_prefix = $enumname;
-           $enumname_prefix =~ s/^([A-Z][a-z]*).*$/$1/;
-           $enumname_prefix = uc($enumname_prefix);
-
-           $enumlong = uc($enspace) . "_" . $enumshort;
-           $enumsym = lc($enspace) . "_" . lc($enumshort);
-
-           if (defined($option_lowercase_name)) {
-               $enumsym = $option_lowercase_name;
-           }
-       } else {
-           $enumshort = $enumname;
-           if ($idprefix) {
-               $enumshort =~ s/^${idprefix}//;
-           } else {
-               $enumshort =~ s/^[A-Z][a-z]*//;
-           }
-           $enumshort =~ s/([^A-Z])([A-Z])/$1_$2/g;
-           $enumshort =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g;
-           $enumshort = uc($enumshort);
-
-           $enumname_prefix = $symprefix && uc($symprefix) || uc($idprefix);
-
-           $enumlong = $enumname_prefix . "_" . $enumshort;
-           $enumsym = lc($enumlong);
-       }
-
-       if ($firstenum) {
-           $firstenum = 0;
-           
-           if (length($fprod)) {
-               my $prod = $fprod;
-               my $base = basename ($ARGV);
-
-               $prod =~ s/\@filename\@/$ARGV/g;
-               $prod =~ s/\@basename\@/$base/g;
-               $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
-               $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
-               chomp ($prod);
-               
-               print "$prod\n";
-           }
-       }
-       
-       if (length($eprod)) {
-           my $prod = $eprod;
-
-           $prod =~ s/\@enum_name\@/$enumsym/g;
-           $prod =~ s/\@EnumName\@/$enumname/g;
-           $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
-           $prod =~ s/\@ENUMNAME\@/$enumlong/g;
-           $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
-           if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
-           if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
-           if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }
-           $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
-           $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
-            chomp ($prod);
-
-           print "$prod\n";
-       }
-
-       if (length($vhead)) {
-           my $prod = $vhead;
-
-           $prod =~ s/\@enum_name\@/$enumsym/g;
-            $prod =~ s/\@EnumName\@/$enumname/g;
-            $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
-            $prod =~ s/\@ENUMNAME\@/$enumlong/g;
-           $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
-           if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
-           if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
-           if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }
-            $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
-            $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
-            chomp ($prod);
-           
-            print "$prod\n";
-       }
-
-       if (length($vprod)) {
-           my $prod = $vprod;
-            my $next_num = 0;
-           
-           $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
-           $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
-           for (@entries) {
-               my ($name,$num,$nick) = @{$_};
-               my $tmp_prod = $prod;
-
-                if ($prod =~ /\@valuenum\@/) {
-                    # only attempt to eval the value if it is requested
-                    # this prevents us from throwing errors otherwise
-                    if (defined $num) {
-                        # use sandboxed perl evaluation as a reasonable
-                        # approximation to C constant folding
-                        $num = $sandbox->reval ($num);
-
-                        # make sure it parsed to an integer
-                        if (!defined $num or $num !~ /^-?\d+$/) {
-                            die "Unable to parse enum value '$num'";
-                        }
-                    } else {
-                        $num = $next_num;
-                    }
-
-                    $tmp_prod =~ s/\@valuenum\@/$num/g;
-                    $next_num = $num + 1;
-                }
-
-               $tmp_prod =~ s/\@VALUENAME\@/$name/g;
-               $tmp_prod =~ s/\@valuenick\@/$nick/g;
-               if ($flags) { $tmp_prod =~ s/\@type\@/flags/g; } else { $tmp_prod =~ s/\@type\@/enum/g; }
-               if ($flags) { $tmp_prod =~ s/\@Type\@/Flags/g; } else { $tmp_prod =~ s/\@Type\@/Enum/g; }
-               if ($flags) { $tmp_prod =~ s/\@TYPE\@/FLAGS/g; } else { $tmp_prod =~ s/\@TYPE\@/ENUM/g; }
-               chomp ($tmp_prod);
-
-               print "$tmp_prod\n";
-           }
-       }
-
-       if (length($vtail)) {
-           my $prod = $vtail;
-
-           $prod =~ s/\@enum_name\@/$enumsym/g;
-            $prod =~ s/\@EnumName\@/$enumname/g;
-            $prod =~ s/\@ENUMSHORT\@/$enumshort/g;
-            $prod =~ s/\@ENUMNAME\@/$enumlong/g;
-           $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g;
-           if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; }
-           if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; }
-           if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; }
-            $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
-            $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
-            chomp ($prod);
-           
-            print "$prod\n";
-       }
-    }
-}
-
-if (length($ftail)) {
-    my $prod = $ftail;
-    my $base = basename ($ARGV);
-
-    $prod =~ s/\@filename\@/$ARGV/g;
-    $prod =~ s/\@basename\@/$base/g;
-    $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g;
-    $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
-    chomp ($prod);
-               
-    print "$prod\n";
-}
+comment = comment_tmpl.replace('\u0040comment\u0040', 'Generated data (by glib-mkenums)')
+write_output("\n" + comment + '\n')
+
+def replace_specials(prod):
+    prod = prod.replace(r'\\a', r'\a')
+    prod = prod.replace(r'\\b', r'\b')
+    prod = prod.replace(r'\\t', r'\t')
+    prod = prod.replace(r'\\n', r'\n')
+    prod = prod.replace(r'\\f', r'\f')
+    prod = prod.replace(r'\\r', r'\r')
+    prod = prod.rstrip()
+    return prod
+
+if len(fhead) > 0:
+    prod = fhead
+    base = os.path.basename(options.args[0])
+
+    prod = prod.replace('\u0040filename\u0040', options.args[0])
+    prod = prod.replace('\u0040basename\u0040', base)
+    prod = replace_specials(prod)
+    write_output(prod)
+
+def process_file(curfilename):
+    global entries, flags, seenbitshift, enum_prefix
+    firstenum = True
+
+    try:
+        curfile = open(curfilename)
+    except FileNotFoundError:
+        print_warning('No file "{}" found.'.format(curfilename))
+        return
+
+    while True:
+        line = curfile.readline()
+        if not line:
+            break
+
+        line = line.strip()
+
+        # read lines until we have no open comments
+        while re.search(r'/\*([^*]|\*(?!/))*$', line):
+            line += curfile.readline()
+
+        # strip comments w/o options
+        line = re.sub(r'''/\*(?!<)
+           ([^*]+|\*(?!/))*
+           \*/''', '', line)
+
+        # ignore forward declarations
+        if re.match(r'\s*typedef\s+enum.*;', line):
+            continue
+
+        m = re.match(r'''\s*typedef\s+enum\s*
+               ({)?\s*
+               (?:/\*<
+                 (([^*]|\*(?!/))*)
+                >\s*\*/)?
+               \s*({)?''', line, flags=re.X)
+        if m:
+            groups = m.groups()
+            if len(groups) >= 2 and groups[1] is not None:
+                options = parse_trigraph(groups[1])
+                if 'skip' in options:
+                    continue
+                enum_prefix = options.get('prefix', None)
+                flags = 'flags' in options
+                option_lowercase_name = options.get('lowercase_name', None)
+                option_underscore_name = options.get('underscore_name', None)
+            else:
+                enum_prefix = None
+                flags = False
+                option_lowercase_name = None
+                option_underscore_name = None
+
+            if option_lowercase_name is not None:
+                if option_underscore_name is not None:
+                    print_warning("lowercase_name overriden with underscore_name")
+                    option_lowercase_name = None
+                else:
+                    print_warning("lowercase_name is deprecated, use underscore_name")
+
+            # Didn't have trailing '{' look on next lines
+            if groups[0] is None and (len(groups) < 4 or groups[3] is None):
+                while True:
+                    line = curfile.readline()
+                    if re.match(r'\s*\{', line):
+                        break
+
+            seenbitshift = 0
+            entries = []
+
+            # Now parse the entries
+            parse_entries(curfile, curfilename)
+
+            # figure out if this was a flags or enums enumeration
+            if not flags:
+                flags = seenbitshift
+
+            # Autogenerate a prefix
+            if enum_prefix is None:
+                for entry in entries:
+                    if len(entry) < 3 or entry[2] is None:
+                        name = entry[0]
+                        if enum_prefix is not None:
+                            enum_prefix = os.path.commonprefix([name, enum_prefix])
+                        else:
+                            enum_prefix = name
+                if enum_prefix is None:
+                    enum_prefix = ""
+                else:
+                    # Trim so that it ends in an underscore
+                    enum_prefix = re.sub(r'_[^_]*$', '_', enum_prefix)
+            else:
+                # canonicalize user defined prefixes
+                enum_prefix = enum_prefix.upper()
+                enum_prefix = enum_prefix.replace('-', '_')
+                enum_prefix = re.sub(r'(.*)([^_])$', r'\1\2_', enum_prefix)
+
+            fixed_entries = []
+            for e in entries:
+                name = e[0]
+                num = e[1]
+                if len(e) < 3 or e[2] is None:
+                    nick = re.sub(r'^' + enum_prefix, '', name)
+                    nick = nick.replace('_', '-').lower()
+                    e = (name, num, nick)
+                fixed_entries.append(e)
+            entries = fixed_entries
+
+            # Spit out the output
+            if option_underscore_name is not None:
+                enumlong = option_underscore_name.upper()
+                enumsym = option_underscore_name.lower()
+                enumshort = re.sub(r'^[A-Z][A-Z0-9]*_', '', enumlong)
+
+                enumname_prefix = re.sub('_' + enumshort + '$', '', enumlong)
+            elif symprefix == '' and idprefix == '':
+                # enumname is e.g. GMatchType
+                enspace = re.sub(r'^([A-Z][a-z]*).*$', r'\1', enumname)
+
+                enumshort = re.sub(r'^[A-Z][a-z]*', '', enumname)
+                enumshort = re.sub(r'([^A-Z])([A-Z])', r'\1_\2', enumshort)
+                enumshort = re.sub(r'([A-Z][A-Z])([A-Z][0-9a-z])', r'\1_\2', enumshort)
+                enumshort = enumshort.upper()
+
+                enumname_prefix = re.sub(r'^([A-Z][a-z]*).*$', r'\1', enumname).upper()
+
+                enumlong = enspace.upper() + "_" + enumshort
+                enumsym = enspace.lower() + "_" + enumshort.lower()
+
+                if option_lowercase_name is not None:
+                    enumsym = option_lowercase_name
+            else:
+                enumshort = enumname
+                if idprefix:
+                    enumshort = re.sub(r'^' + idprefix, '', enumshort)
+                else:
+                    enumshort = re.sub(r'/^[A-Z][a-z]*', '', enumshort)
+
+                enumshort = re.sub(r'([^A-Z])([A-Z])', r'\1_\2', enumshort)
+                enumshort = re.sub(r'([A-Z][A-Z])([A-Z][0-9a-z])', r'\1_\2', enumshort)
+                enumshort = enumshort.upper()
+
+                if symprefix:
+                    enumname_prefix = symprefix.upper()
+                else:
+                    enumname_prefix = idprefix.upper()
+
+                enumlong = enumname_prefix + "_" + enumshort
+                enumsym = enumlong.lower()
+
+            if firstenum:
+                firstenum = False
+
+                if len(fprod) > 0:
+                    prod = fprod
+                    base = os.path.basename(curfilename)
+
+                    prod = prod.replace('\u0040filename\u0040', curfilename)
+                    prod = prod.replace('\u0040basename\u0040', base)
+                    prod = replace_specials(prod)
+
+                    write_output(prod)
+
+            if len(eprod) > 0:
+                prod = eprod
+
+                prod = prod.replace('\u0040enum_name\u0040', enumsym)
+                prod = prod.replace('\u0040EnumName\u0040', enumname)
+                prod = prod.replace('\u0040ENUMSHORT\u0040', enumshort)
+                prod = prod.replace('\u0040ENUMNAME\u0040', enumlong)
+                prod = prod.replace('\u0040ENUMPREFIX\u0040', enumname_prefix)
+                if flags:
+                    prod = prod.replace('\u0040type\u0040', 'flags')
+                else:
+                    prod = prod.replace('\u0040type\u0040', 'enum')
+                if flags:
+                    prod = prod.replace('\u0040Type\u0040', 'Flags')
+                else:
+                    prod = prod.replace('\u0040Type\u0040', 'Enum')
+                if flags:
+                    prod = prod.replace('\u0040TYPE\u0040', 'FLAGS')
+                else:
+                    prod = prod.replace('\u0040TYPE\u0040', 'ENUM')
+                prod = replace_specials(prod)
+                write_output(prod)
+
+            if len(vhead) > 0:
+                prod = vhead
+                prod = prod.replace('\u0040enum_name\u0040', enumsym)
+                prod = prod.replace('\u0040EnumName\u0040', enumname)
+                prod = prod.replace('\u0040ENUMSHORT\u0040', enumshort)
+                prod = prod.replace('\u0040ENUMNAME\u0040', enumlong)
+                prod = prod.replace('\u0040ENUMPREFIX\u0040', enumname_prefix)
+                if flags:
+                    prod = prod.replace('\u0040type\u0040', 'flags')
+                else:
+                    prod = prod.replace('\u0040type\u0040', 'enum')
+                if flags:
+                    prod = prod.replace('\u0040Type\u0040', 'Flags')
+                else:
+                    prod = prod.replace('\u0040Type\u0040', 'Enum')
+                if flags:
+                    prod = prod.replace('\u0040TYPE\u0040', 'FLAGS')
+                else:
+                    prod = prod.replace('\u0040TYPE\u0040', 'ENUM')
+                prod = replace_specials(prod)
+                write_output(prod)
+
+            if len(vprod) > 0:
+                prod = vprod
+                next_num = 0
+
+                prod = replace_specials(prod)
+                for name, num, nick in entries:
+                    tmp_prod = prod
+
+                    if '\u0040valuenum\u0040' in prod:
+                        # only attempt to eval the value if it is requested
+                        # this prevents us from throwing errors otherwise
+                        if num is not None:
+                            # use sandboxed evaluation as a reasonable
+                            # approximation to C constant folding
+                            inum = eval(num, {}, {})
+
+                            # make sure it parsed to an integer
+                            if not isinstance(inum, int):
+                                sys.exit("Unable to parse enum value '%s'" % num)
+                            num = inum
+                        else:
+                            num = next_num
+
+                        tmp_prod = tmp_prod.replace('\u0040valuenum\u0040', str(num))
+                        next_num = int(num) + 1
+
+                    tmp_prod = tmp_prod.replace('\u0040VALUENAME\u0040', name)
+                    tmp_prod = tmp_prod.replace('\u0040valuenick\u0040', nick)
+                    if flags:
+                        tmp_prod = tmp_prod.replace('\u0040type\u0040', 'flags')
+                    else:
+                        tmp_prod = tmp_prod.replace('\u0040type\u0040', 'enum')
+                    if flags:
+                        tmp_prod = tmp_prod.replace('\u0040Type\u0040', 'Flags')
+                    else:
+                        tmp_prod = tmp_prod.replace('\u0040Type\u0040', 'Enum')
+                    if flags:
+                        tmp_prod = tmp_prod.replace('\u0040TYPE\u0040', 'FLAGS')
+                    else:
+                        tmp_prod = tmp_prod.replace('\u0040TYPE\u0040', 'ENUM')
+                    tmp_prod = tmp_prod.rstrip()
+
+                    write_output(tmp_prod)
+
+            if len(vtail) > 0:
+                prod = vtail
+                prod = prod.replace('\u0040enum_name\u0040', enumsym)
+                prod = prod.replace('\u0040EnumName\u0040', enumname)
+                prod = prod.replace('\u0040ENUMSHORT\u0040', enumshort)
+                prod = prod.replace('\u0040ENUMNAME\u0040', enumlong)
+                prod = prod.replace('\u0040ENUMPREFIX\u0040', enumname_prefix)
+                if flags:
+                    prod = prod.replace('\u0040type\u0040', 'flags')
+                else:
+                    prod = prod.replace('\u0040type\u0040', 'enum')
+                if flags:
+                    prod = prod.replace('\u0040Type\u0040', 'Flags')
+                else:
+                    prod = prod.replace('\u0040Type\u0040', 'Enum')
+                if flags:
+                    prod = prod.replace('\u0040TYPE\u0040', 'FLAGS')
+                else:
+                    prod = prod.replace('\u0040TYPE\u0040', 'ENUM')
+                prod = replace_specials(prod)
+                write_output(prod)
+
+for fname in options.args:
+    process_file(fname)
+
+if len(ftail) > 0:
+    prod = ftail
+    base = os.path.basename(options.args[-1]) # FIXME, wrong
+
+    prod = prod.replace('\u0040filename\u0040', 'ARGV') # wrong too
+    prod = prod.replace('\u0040basename\u0040', base)
+    prod = replace_specials(prod)
+    write_output(prod)
 
 # put auto-generation comment
-{
-    my $comment = $comment_tmpl;
-    $comment =~ s/\@comment\@/Generated data ends here/;
-    print "\n" . $comment . "\n\n";
-}
-
-if (defined ($output)) {
-    select STDOUT;
-    my $tmpfilename = $OUTPUT->filename;
-    close ($OUTPUT)
-      || warn "Closing output file $tmpfilename failed: $!";
-    move ($tmpfilename, $output)
-      || die "Could not rename $tmpfilename to $output: $!";
-}
+comment = comment_tmpl
+comment = comment.replace('\u0040comment\u0040', 'Generated data ends here')
+write_output("\n" + comment + "\n")
+
+if tmpfile is not None:
+    tmpfilename = tmpfile.name
+    tmpfile.close()
+    os.unlink(options.output)
+    os.rename(tmpfilename, options.output)
diff --git a/gobject/gmarshal.list b/gobject/gmarshal.list
deleted file mode 100644 (file)
index 4a5ddf5..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# Note: This file used to generate gmarshal.[ch], but it doesn't any
-# longer; it is kept mainly for backward compatibility purposes. If
-# you find yourself in the need to add a marshaller in GObject, use
-# g_cclosure_marshal_generic() instead.
-#
-# Warning: The generated symbols are part of the GObject ABI.
-
-# standard VOID return marshallers
-VOID:VOID
-VOID:BOOLEAN
-VOID:CHAR
-VOID:UCHAR
-VOID:INT
-VOID:UINT
-VOID:LONG
-VOID:ULONG
-VOID:ENUM
-VOID:FLAGS
-VOID:FLOAT
-VOID:DOUBLE
-VOID:STRING
-VOID:PARAM
-VOID:BOXED
-VOID:POINTER
-VOID:OBJECT
-VOID:VARIANT
-
-# GRuntime specific marshallers
-VOID:UINT,POINTER
-BOOL:FLAGS
-STRING:OBJECT,POINTER
-BOOL:BOXED,BOXED
diff --git a/gobject/gmarshal.strings b/gobject/gmarshal.strings
deleted file mode 100644 (file)
index 65ca49d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-"g_cclosure_marshal_VOID__VOID",
-"g_cclosure_marshal_VOID__BOOLEAN",
-"g_cclosure_marshal_VOID__CHAR",
-"g_cclosure_marshal_VOID__UCHAR",
-"g_cclosure_marshal_VOID__INT",
-"g_cclosure_marshal_VOID__UINT",
-"g_cclosure_marshal_VOID__LONG",
-"g_cclosure_marshal_VOID__ULONG",
-"g_cclosure_marshal_VOID__ENUM",
-"g_cclosure_marshal_VOID__FLAGS",
-"g_cclosure_marshal_VOID__FLOAT",
-"g_cclosure_marshal_VOID__DOUBLE",
-"g_cclosure_marshal_VOID__STRING",
-"g_cclosure_marshal_VOID__PARAM",
-"g_cclosure_marshal_VOID__BOXED",
-"g_cclosure_marshal_VOID__POINTER",
-"g_cclosure_marshal_VOID__OBJECT",
-"g_cclosure_marshal_VOID__VARIANT",
-"g_cclosure_marshal_VOID__UINT_POINTER",
-"g_cclosure_marshal_BOOL__FLAGS",
-"g_cclosure_marshal_STRING__OBJECT_POINTER",
-"g_cclosure_marshal_BOOL__BOXED_BOXED",
index ec826e8..ec7cf4f 100644 (file)
@@ -1,8 +1,8 @@
 #include <winver.h>
 
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION 2,53,3,0
-  PRODUCTVERSION 2,53,3,0
+  FILEVERSION 2,53,4,0
+  PRODUCTVERSION 2,53,4,0
   FILEFLAGSMASK 0
   FILEFLAGS 0
   FILEOS VOS__WINDOWS32
@@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
       BEGIN
        VALUE "CompanyName", "The GLib developer community"
        VALUE "FileDescription", "GObject"
-       VALUE "FileVersion", "2.53.3.0"
+       VALUE "FileVersion", "2.53.4.0"
        VALUE "InternalName", "libgobject-2.0-0"
        VALUE "LegalCopyright", "Copyright © 1998-2011 Tim Janik, Red Hat, Inc. and others"
        VALUE "OriginalFilename", "libgobject-2.0-0.dll"
        VALUE "ProductName", "GLib"
-       VALUE "ProductVersion", "2.53.3"
+       VALUE "ProductVersion", "2.53.4"
       END
     END
     BLOCK "VarFileInfo"
diff --git a/gobject/makefile.msc b/gobject/makefile.msc
deleted file mode 100644 (file)
index e2bbb54..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-## Makefile for building the gobject dll with Microsoft C
-## Use: nmake -f makefile.msc install
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
-DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=\"GLib-GObject\" \
-               -DG_ENABLE_DEBUG
-#              -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS
-#              -DG_DISABLE_CAST_CHECKS
-
-all :                          \
-       glib-genmarshal.exe     \
-       gmarshal.h              \
-       gmarshal.c              \
-       gmarshal.strings \
-       gobject-query.exe \
-       libgobject-2.0-0.dll    \
-       gobject-2.53s.lib \
-       testgobject.exe
-
-gobject_OBJECTS =              \
-       gboxed.obj              \
-       gclosure.obj            \
-       genums.obj              \
-       gobject.obj             \
-       gparam.obj              \
-       gparamspecs.obj         \
-       gsignal.obj             \
-       gsourceclosure.obj      \
-       gtype.obj               \
-       gtypemodule.obj         \
-       gtypeplugin.obj         \
-       gvalue.obj              \
-       gvaluearray.obj         \
-       gvaluetypes.obj \
-       gvaluetransform.obj
-
-gobject.def: gobject.symbols
-       echo EXPORTS > gobject.def
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \
-               -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-               -DG_GNUC_PRINTF=;G_GNUC_PRINTF gobject.symbols >> gobject.def
-
-gobject.res : gobject.rc
-       rc -DBUILDNUMBER=0 -r -fo gobject.res gobject.rc
-
-gmarshal.h : gmarshal.list glib-genmarshal.exe
-       echo #ifndef __G_MARSHAL_H__ > xgen-gmh
-       echo #define __G_MARSHAL_H__ >> xgen-gmh
-       glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh
-       echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh
-       copy xgen-gmh gmarshal.h
-
-gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
-       glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c
-
-libgobject-2.0-0.dll : $(gobject_OBJECTS) gobject.def gobject.res
-       $(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) gobject.res \
-       ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gobject-2.0.lib /def:gobject.def || del $@
-
-gobject-2.53s.lib : $(gobject_OBJECTS) 
-       lib /out:$@ $(gobject_OBJECTS)
-
-# link glib's static version to avoid installing 
-glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings
-       $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
-       ..\glib\glib-2.53s.lib user32.lib advapi32.lib ole32.lib shell32.lib $(INTL_LIBS) 
-
-gobject-query.exe : gobject-query.c libgobject-2.0-0.dll
-       $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \
-       ..\glib\glib-2.0.lib gobject-2.0.lib user32.lib advapi32.lib $(INTL_LIBS)
-
-gmarshal.strings : gmarshal.list
-       perl marshal-genstrings.pl > gmarshal.strings
-
-.c.exe :
-       $(CC) $(CFLAGS) -c $<
-       $(CC) $(CFLAGS) -Fe$@ $< gobject-2.0.lib ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
diff --git a/gobject/makefile.msc.in b/gobject/makefile.msc.in
deleted file mode 100644 (file)
index 3f5af9b..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-## Makefile for building the gobject dll with Microsoft C
-## Use: nmake -f makefile.msc install
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
-DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=\"GLib-GObject\" \
-               -DG_ENABLE_DEBUG
-#              -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS
-#              -DG_DISABLE_CAST_CHECKS
-
-all :                          \
-       glib-genmarshal.exe     \
-       gmarshal.h              \
-       gmarshal.c              \
-       gmarshal.strings \
-       gobject-query.exe \
-       libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll       \
-       gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib \
-       testgobject.exe
-
-gobject_OBJECTS =              \
-       gboxed.obj              \
-       gclosure.obj            \
-       genums.obj              \
-       gobject.obj             \
-       gparam.obj              \
-       gparamspecs.obj         \
-       gsignal.obj             \
-       gsourceclosure.obj      \
-       gtype.obj               \
-       gtypemodule.obj         \
-       gtypeplugin.obj         \
-       gvalue.obj              \
-       gvaluearray.obj         \
-       gvaluetypes.obj \
-       gvaluetransform.obj
-
-gobject.def: gobject.symbols
-       echo EXPORTS > gobject.def
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \
-               -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-               -DG_GNUC_PRINTF=;G_GNUC_PRINTF gobject.symbols >> gobject.def
-
-gobject.res : gobject.rc
-       rc -DBUILDNUMBER=0 -r -fo gobject.res gobject.rc
-
-gmarshal.h : gmarshal.list glib-genmarshal.exe
-       echo #ifndef __G_MARSHAL_H__ > xgen-gmh
-       echo #define __G_MARSHAL_H__ >> xgen-gmh
-       glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh
-       echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh
-       copy xgen-gmh gmarshal.h
-
-gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
-       glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c
-
-libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gobject_OBJECTS) gobject.def gobject.res
-       $(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) gobject.res \
-       ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gobject-2.0.lib /def:gobject.def || del $@
-
-gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(gobject_OBJECTS) 
-       lib /out:$@ $(gobject_OBJECTS)
-
-# link glib's static version to avoid installing 
-glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings
-       $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
-       ..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib user32.lib advapi32.lib ole32.lib shell32.lib $(INTL_LIBS) 
-
-gobject-query.exe : gobject-query.c libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll
-       $(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \
-       ..\glib\glib-2.0.lib gobject-2.0.lib user32.lib advapi32.lib $(INTL_LIBS)
-
-gmarshal.strings : gmarshal.list
-       perl marshal-genstrings.pl > gmarshal.strings
-
-.c.exe :
-       $(CC) $(CFLAGS) -c $<
-       $(CC) $(CFLAGS) -Fe$@ $< gobject-2.0.lib ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
diff --git a/gobject/marshal-genstrings.pl b/gobject/marshal-genstrings.pl
deleted file mode 100644 (file)
index 93fceb4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/perl
-
-open (List, "gmarshal.list");
-
-while (<List>) {
-    next unless /^[A-Z]/;
-    s/^/"g_cclosure_marshal_/; s/:/__/; s/,/_/g; s/$/",/;
-    print;
-}
index da36e19..1cad19c 100644 (file)
@@ -35,8 +35,7 @@ ifaceproperties_SOURCES = ifaceproperties.c testcommon.h
 # The marshalers test requires running a binary, so we cannot build it when
 # cross-compiling
 
-if !CROSS_COMPILING
-glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
+glib_genmarshal = $(top_builddir)/gobject/glib-genmarshal
 
 test_programs += signals
 signals_SOURCES = signals.c
@@ -45,10 +44,21 @@ signals.o: marshalers.h
 CLEANFILES += marshalers.h marshalers.c
 EXTRA_DIST += marshalers.list
 
-marshalers.h: Makefile.am marshalers.list
-       $(AM_V_GEN) $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --header --valist-marshallers > marshalers.h
+marshalers.h: $(srcdir)/marshalers.list Makefile.am
+       $(AM_V_GEN) $(glib_genmarshal) \
+               --prefix=test \
+               --valist-marshallers \
+               --output=$@ \
+               --quiet \
+               --header \
+               $<
 
-marshalers.c: Makefile.am marshalers.h marshalers.list
-       $(AM_V_GEN) (echo "#include \"marshalers.h\""; $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --body --valist-marshallers) > $@.tmp && mv $@.tmp $@
-
-endif # !CROSS_COMPILING
+marshalers.c: $(srcdir)/marshalers.list marshalers.h Makefile.am
+       $(AM_V_GEN) $(glib_genmarshal) \
+               --prefix=test \
+               --valist-marshallers \
+               --include-header=marshalers.h \
+               --output=$@ \
+               --quiet \
+               --body \
+               $<
index a5bc5b7..78f2a75 100644 (file)
@@ -93,10 +93,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = $(am__EXEEXT_3)
-installed_test_PROGRAMS = $(am__EXEEXT_6)
-noinst_PROGRAMS = $(am__EXEEXT_7)
-check_PROGRAMS = $(am__EXEEXT_5)
+TESTS = $(am__EXEEXT_2)
+installed_test_PROGRAMS = $(am__EXEEXT_5)
+noinst_PROGRAMS = $(am__EXEEXT_6)
+check_PROGRAMS = $(am__EXEEXT_4)
 @ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_1 = $(all_test_ltlibs)
 @ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_2 = $(all_test_programs)
 @ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_3 = $(all_test_scripts)
@@ -122,9 +122,6 @@ check_PROGRAMS = $(am__EXEEXT_5)
 @ENABLE_INSTALLED_TESTS_TRUE@  $(dist_installed_test_data)
 @ENABLE_INSTALLED_TESTS_TRUE@am__append_12 = $(test_ltlibraries) $(installed_test_ltlibraries)
 @ENABLE_INSTALLED_TESTS_TRUE@am__append_13 = $(installed_test_meta_DATA)
-@CROSS_COMPILING_FALSE@am__append_14 = signals
-@CROSS_COMPILING_FALSE@am__append_15 = marshalers.h marshalers.c
-@CROSS_COMPILING_FALSE@am__append_16 = marshalers.list
 subdir = gobject/tests
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4macros/attributes.m4 \
@@ -181,17 +178,16 @@ am__installdirs = "$(DESTDIR)$(installed_testdir)" \
        "$(DESTDIR)$(installed_testdir)"
 LTLIBRARIES = $(installed_test_LTLIBRARIES) $(noinst_LTLIBRARIES)
 am__EXEEXT_1 =
-@CROSS_COMPILING_FALSE@am__EXEEXT_2 = signals$(EXEEXT)
-am__EXEEXT_3 = qdata$(EXEEXT) boxed$(EXEEXT) enums$(EXEEXT) \
+am__EXEEXT_2 = qdata$(EXEEXT) boxed$(EXEEXT) enums$(EXEEXT) \
        param$(EXEEXT) threadtests$(EXEEXT) dynamictests$(EXEEXT) \
        binding$(EXEEXT) properties$(EXEEXT) reference$(EXEEXT) \
        value$(EXEEXT) type$(EXEEXT) private$(EXEEXT) closure$(EXEEXT) \
        object$(EXEEXT) signal-handler$(EXEEXT) $(am__EXEEXT_1) \
-       ifaceproperties$(EXEEXT) $(am__EXEEXT_2)
-am__EXEEXT_4 = $(am__EXEEXT_3)
-@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_5 = $(am__EXEEXT_4)
-@ENABLE_INSTALLED_TESTS_TRUE@am__EXEEXT_6 = $(am__EXEEXT_3)
-@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__EXEEXT_7 = $(am__EXEEXT_4)
+       ifaceproperties$(EXEEXT) signals$(EXEEXT)
+am__EXEEXT_3 = $(am__EXEEXT_2)
+@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_4 = $(am__EXEEXT_3)
+@ENABLE_INSTALLED_TESTS_TRUE@am__EXEEXT_5 = $(am__EXEEXT_2)
+@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__EXEEXT_6 = $(am__EXEEXT_3)
 PROGRAMS = $(installed_test_PROGRAMS) $(noinst_PROGRAMS)
 binding_SOURCES = binding.c
 binding_OBJECTS = binding.$(OBJEXT)
@@ -262,9 +258,8 @@ signal_handler_OBJECTS = signal-handler.$(OBJEXT)
 signal_handler_LDADD = $(LDADD)
 signal_handler_DEPENDENCIES = ../libgobject-2.0.la \
        $(top_builddir)/glib/libglib-2.0.la
-am__signals_SOURCES_DIST = signals.c
-@CROSS_COMPILING_FALSE@am_signals_OBJECTS = signals.$(OBJEXT)
-@CROSS_COMPILING_FALSE@nodist_signals_OBJECTS = marshalers.$(OBJEXT)
+am_signals_OBJECTS = signals.$(OBJEXT)
+nodist_signals_OBJECTS = marshalers.$(OBJEXT)
 signals_OBJECTS = $(am_signals_OBJECTS) $(nodist_signals_OBJECTS)
 signals_LDADD = $(LDADD)
 signals_DEPENDENCIES = ../libgobject-2.0.la \
@@ -327,7 +322,7 @@ SOURCES = binding.c boxed.c closure.c dynamictests.c enums.c \
 DIST_SOURCES = binding.c boxed.c closure.c dynamictests.c enums.c \
        $(ifaceproperties_SOURCES) object.c param.c private.c \
        properties.c qdata.c reference.c signal-handler.c \
-       $(am__signals_SOURCES_DIST) threadtests.c type.c value.c
+       $(signals_SOURCES) threadtests.c type.c value.c
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -792,11 +787,11 @@ NULL =
 # initialize variables for unconditional += appending
 BUILT_SOURCES = 
 BUILT_EXTRA_DIST = 
-CLEANFILES = *.log *.trs $(am__append_13) $(am__append_15)
+CLEANFILES = *.log *.trs $(am__append_13) marshalers.h marshalers.c
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = 
 EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
-       $(am__append_16)
+       marshalers.list
 installed_test_LTLIBRARIES = $(am__append_12)
 installed_test_SCRIPTS = $(am__append_10)
 nobase_installed_test_DATA = $(am__append_11)
@@ -839,16 +834,16 @@ AM_CFLAGS = $(GLIB_WARN_CFLAGS)
 # -----------------------------------------------------------------------------
 test_programs = qdata boxed enums param threadtests dynamictests \
        binding properties reference value type private closure object \
-       signal-handler $(NULL) ifaceproperties $(am__append_14)
+       signal-handler $(NULL) ifaceproperties signals
 ifaceproperties_SOURCES = ifaceproperties.c testcommon.h
 
 # -----------------------------------------------------------------------------
 
 # The marshalers test requires running a binary, so we cannot build it when
 # cross-compiling
-@CROSS_COMPILING_FALSE@glib_genmarshal = $(top_builddir)/gobject/glib-genmarshal
-@CROSS_COMPILING_FALSE@signals_SOURCES = signals.c
-@CROSS_COMPILING_FALSE@nodist_signals_SOURCES = marshalers.c marshalers.h
+glib_genmarshal = $(top_builddir)/gobject/glib-genmarshal
+signals_SOURCES = signals.c
+nodist_signals_SOURCES = marshalers.c marshalers.h
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-am
 
@@ -1730,13 +1725,26 @@ uninstall-am: uninstall-installed_testLTLIBRARIES \
 @ENABLE_INSTALLED_TESTS_TRUE@  echo 'Exec=$(installed_testdir)/$(notdir $<) --tap' >> $@.tmp; \
 @ENABLE_INSTALLED_TESTS_TRUE@  echo 'Output=TAP' >> $@.tmp; \
 @ENABLE_INSTALLED_TESTS_TRUE@  mv $@.tmp $@)
-@CROSS_COMPILING_FALSE@signals.o: marshalers.h
-
-@CROSS_COMPILING_FALSE@marshalers.h: Makefile.am marshalers.list
-@CROSS_COMPILING_FALSE@        $(AM_V_GEN) $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --header --valist-marshallers > marshalers.h
-
-@CROSS_COMPILING_FALSE@marshalers.c: Makefile.am marshalers.h marshalers.list
-@CROSS_COMPILING_FALSE@        $(AM_V_GEN) (echo "#include \"marshalers.h\""; $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --body --valist-marshallers) > $@.tmp && mv $@.tmp $@
+signals.o: marshalers.h
+
+marshalers.h: $(srcdir)/marshalers.list Makefile.am
+       $(AM_V_GEN) $(glib_genmarshal) \
+               --prefix=test \
+               --valist-marshallers \
+               --output=$@ \
+               --quiet \
+               --header \
+               $<
+
+marshalers.c: $(srcdir)/marshalers.list marshalers.h Makefile.am
+       $(AM_V_GEN) $(glib_genmarshal) \
+               --prefix=test \
+               --valist-marshallers \
+               --include-header=marshalers.h \
+               --output=$@ \
+               --quiet \
+               --body \
+               $<
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 9760be4..94f8e90 100644 (file)
@@ -10,12 +10,10 @@ AM_CPPFLAGS =                               \
 AM_CFLAGS = $(GLIB_WARN_CFLAGS)
 
 EXTRA_DIST +=                          \
-               makefile.msc.in         \
                gthread.def             \
                gthread.rc.in
 
 BUILT_EXTRA_DIST +=                    \
-               makefile.msc            \
                gthread.rc
 
 libglib = $(top_builddir)/glib/libglib-2.0.la
index 80e6704..a8b2c12 100644 (file)
@@ -146,7 +146,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = makefile.msc gthread.rc
+CONFIG_CLEAN_FILES = gthread.rc
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -436,8 +436,8 @@ am__set_b = \
       b='$*';; \
   esac
 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gthread.rc.in \
-       $(srcdir)/makefile.msc.in $(top_srcdir)/depcomp \
-       $(top_srcdir)/glib.mk $(top_srcdir)/test-driver ChangeLog
+       $(top_srcdir)/depcomp $(top_srcdir)/glib.mk \
+       $(top_srcdir)/test-driver ChangeLog
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ABS_TAPSET_DIR = @ABS_TAPSET_DIR@
 ACLOCAL = @ACLOCAL@
@@ -693,12 +693,12 @@ NULL =
 
 # initialize variables for unconditional += appending
 BUILT_SOURCES = 
-BUILT_EXTRA_DIST = makefile.msc gthread.rc
+BUILT_EXTRA_DIST = gthread.rc
 CLEANFILES = *.log *.trs $(am__append_14)
 DISTCLEANFILES = 
 MAINTAINERCLEANFILES = 
 EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
-       makefile.msc.in gthread.def gthread.rc.in
+       gthread.def gthread.rc.in
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
 # will belong in exactly one of the following variables.
@@ -838,8 +838,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-makefile.msc: $(top_builddir)/config.status $(srcdir)/makefile.msc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 gthread.rc: $(top_builddir)/config.status $(srcdir)/gthread.rc.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
index 501d33c..6200d67 100644 (file)
@@ -1,8 +1,8 @@
 #include <winver.h>
 
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION 2,53,3,0
-  PRODUCTVERSION 2,53,3,0
+  FILEVERSION 2,53,4,0
+  PRODUCTVERSION 2,53,4,0
   FILEFLAGSMASK 0
   FILEFLAGS 0
   FILEOS VOS__WINDOWS32
@@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
       BEGIN
        VALUE "CompanyName", "The GLib developer community"
        VALUE "FileDescription", "GThread"
-       VALUE "FileVersion", "2.53.3.0"
+       VALUE "FileVersion", "2.53.4.0"
        VALUE "InternalName", "libgthread-2.0-0"
        VALUE "LegalCopyright", "Copyright © 1995-2011 Peter Mattis, Spencer Kimball, Josh MacDonald, Sebastian Wilhelmi and others."
        VALUE "OriginalFilename", "libgthread-2.0-0.dll"
        VALUE "ProductName", "GLib"
-       VALUE "ProductVersion", "2.53.3"
+       VALUE "ProductVersion", "2.53.4"
       END
     END
     BLOCK "VarFileInfo"
diff --git a/gthread/makefile.msc b/gthread/makefile.msc
deleted file mode 100644 (file)
index edcc6c9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-## Makefile for building the gthread dll with Microsoft C
-## Use: nmake -f makefile.msc install
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
-DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GThread\"
-all : \
-       libgthread-2.0-0.dll
-
-gthread_OBJECTS = \
-       gthread-impl.obj
-
-gthread-impl.obj : gthread-impl.c gthread-win32.c
-       $(CC) -c $(CFLAGS) gthread-impl.c
-
-gthread.res : gthread.rc
-       rc -DBUILDNUMBER=0 -r -fo gthread.res gthread.rc
-
-libgthread-2.0-0.dll : $(gthread_OBJECTS) gthread.def gthread.res
-       $(CC) $(CFLAGS) -LD -Fe$@ $(gthread_OBJECTS) gthread.res \
-       ..\glib\glib-2.0.lib $(DEPCLIBS) user32.lib $(LDFLAGS) /implib:gthread-2.0.lib /def:gthread.def
diff --git a/gthread/makefile.msc.in b/gthread/makefile.msc.in
deleted file mode 100644 (file)
index 226bf9c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-## Makefile for building the gthread dll with Microsoft C
-## Use: nmake -f makefile.msc install
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
-DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GThread\"
-all : \
-       libgthread-2.0-@LT_CURRENT_MINUS_AGE@.dll
-
-gthread_OBJECTS = \
-       gthread-impl.obj
-
-gthread-impl.obj : gthread-impl.c gthread-win32.c
-       $(CC) -c $(CFLAGS) gthread-impl.c
-
-gthread.res : gthread.rc
-       rc -DBUILDNUMBER=0 -r -fo gthread.res gthread.rc
-
-libgthread-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gthread_OBJECTS) gthread.def gthread.res
-       $(CC) $(CFLAGS) -LD -Fe$@ $(gthread_OBJECTS) gthread.res \
-       ..\glib\glib-2.0.lib $(DEPCLIBS) user32.lib $(LDFLAGS) /implib:gthread-2.0.lib /def:gthread.def
diff --git a/makefile.msc b/makefile.msc
deleted file mode 100644 (file)
index 52e07f6..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-## Makefile for building the GLib dlls with Microsoft C
-## Use: nmake -f makefile.msc
-
-PARTS = glib gmodule gthread gobject gio tests
-
-all : \
-       config.h \
-       glibconfig.h \
-       sub-all
-
-sub-all: 
-       for %d in ($(PARTS)) do nmake -nologo -f makefile.msc sub-one THIS=%d TARGET=all
-
-clean : sub-clean
-
-sub-clean:
-       for %d in ($(PARTS)) do nmake -nologo -f makefile.msc sub-one THIS=%d TARGET=clean
-
-sub-one:
-       @cd $(THIS)
-       @nmake -nologo -f makefile.msc $(TARGET)
-       @cd ..
-
-config.h: config.h.win32
-       copy config.h.win32 config.h
-
-glibconfig.h: glibconfig.h.win32
-       copy glibconfig.h.win32 glibconfig.h
index 1447c89..e7d3d61 100644 (file)
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
 "product=glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2017-06-19 22:04-0400\n"
+"POT-Creation-Date: 2017-07-17 14:54-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -37,7 +37,7 @@ msgstr ""
 
 #: ../gio/gapplication-tool.c:45 ../gio/gapplication-tool.c:46
 #: ../gio/gio-tool.c:227 ../gio/gresource-tool.c:488
-#: ../gio/gsettings-tool.c:520
+#: ../gio/gsettings-tool.c:522
 msgid "Print help"
 msgstr ""
 
@@ -50,7 +50,7 @@ msgstr ""
 msgid "Print version"
 msgstr ""
 
-#: ../gio/gapplication-tool.c:50 ../gio/gsettings-tool.c:526
+#: ../gio/gapplication-tool.c:50 ../gio/gsettings-tool.c:528
 msgid "Print version information and exit"
 msgstr ""
 
@@ -138,7 +138,7 @@ msgid "Optional parameter to the action invocation, in GVariant format"
 msgstr ""
 
 #: ../gio/gapplication-tool.c:96 ../gio/gresource-tool.c:526
-#: ../gio/gsettings-tool.c:612
+#: ../gio/gsettings-tool.c:614
 #, c-format
 msgid ""
 "Unknown command %s\n"
@@ -150,7 +150,7 @@ msgid "Usage:\n"
 msgstr ""
 
 #: ../gio/gapplication-tool.c:114 ../gio/gresource-tool.c:551
-#: ../gio/gsettings-tool.c:647
+#: ../gio/gsettings-tool.c:649
 msgid "Arguments:\n"
 msgstr ""
 
@@ -289,7 +289,7 @@ msgstr ""
 #: ../gio/gcharsetconverter.c:342 ../gio/gdatainputstream.c:848
 #: ../gio/gdatainputstream.c:1257 ../glib/gconvert.c:438 ../glib/gconvert.c:845
 #: ../glib/giochannel.c:1556 ../glib/giochannel.c:1598
-#: ../glib/giochannel.c:2442 ../glib/gutf8.c:856 ../glib/gutf8.c:1309
+#: ../glib/giochannel.c:2442 ../glib/gutf8.c:866 ../glib/gutf8.c:1319
 msgid "Invalid byte sequence in conversion input"
 msgstr ""
 
@@ -1263,11 +1263,11 @@ msgstr ""
 #: ../gio/gfile.c:969 ../gio/gfile.c:1207 ../gio/gfile.c:1345
 #: ../gio/gfile.c:1583 ../gio/gfile.c:1638 ../gio/gfile.c:1696
 #: ../gio/gfile.c:1780 ../gio/gfile.c:1837 ../gio/gfile.c:1901
-#: ../gio/gfile.c:1956 ../gio/gfile.c:3609 ../gio/gfile.c:3664
-#: ../gio/gfile.c:3900 ../gio/gfile.c:3942 ../gio/gfile.c:4410
-#: ../gio/gfile.c:4821 ../gio/gfile.c:4906 ../gio/gfile.c:4996
-#: ../gio/gfile.c:5093 ../gio/gfile.c:5180 ../gio/gfile.c:5281
-#: ../gio/gfile.c:7822 ../gio/gfile.c:7912 ../gio/gfile.c:7996
+#: ../gio/gfile.c:1956 ../gio/gfile.c:3613 ../gio/gfile.c:3668
+#: ../gio/gfile.c:3904 ../gio/gfile.c:3946 ../gio/gfile.c:4414
+#: ../gio/gfile.c:4825 ../gio/gfile.c:4910 ../gio/gfile.c:5000
+#: ../gio/gfile.c:5097 ../gio/gfile.c:5184 ../gio/gfile.c:5285
+#: ../gio/gfile.c:7826 ../gio/gfile.c:7916 ../gio/gfile.c:8000
 #: ../gio/win32/gwinhttpfile.c:437
 msgid "Operation not supported"
 msgstr ""
@@ -1321,24 +1321,24 @@ msgstr ""
 msgid "Can’t copy special file"
 msgstr ""
 
-#: ../gio/gfile.c:3890
+#: ../gio/gfile.c:3894
 msgid "Invalid symlink value given"
 msgstr ""
 
-#: ../gio/gfile.c:4051
+#: ../gio/gfile.c:4055
 msgid "Trash not supported"
 msgstr ""
 
-#: ../gio/gfile.c:4163
+#: ../gio/gfile.c:4167
 #, c-format
 msgid "File names cannot contain “%c”"
 msgstr ""
 
-#: ../gio/gfile.c:6609 ../gio/gvolume.c:363
+#: ../gio/gfile.c:6613 ../gio/gvolume.c:363
 msgid "volume doesn’t implement mount"
 msgstr ""
 
-#: ../gio/gfile.c:6718
+#: ../gio/gfile.c:6722
 msgid "No application is registered as handling this file"
 msgstr ""
 
@@ -3003,7 +3003,7 @@ msgstr ""
 msgid "  SECTION   An (optional) elf section name\n"
 msgstr ""
 
-#: ../gio/gresource-tool.c:559 ../gio/gsettings-tool.c:654
+#: ../gio/gresource-tool.c:559 ../gio/gsettings-tool.c:656
 msgid "  COMMAND   The (optional) command to explain\n"
 msgstr ""
 
@@ -3034,7 +3034,7 @@ msgid "  PATH      A resource path\n"
 msgstr ""
 
 #: ../gio/gsettings-tool.c:51 ../gio/gsettings-tool.c:72
-#: ../gio/gsettings-tool.c:851
+#: ../gio/gsettings-tool.c:853
 #, c-format
 msgid "No such schema “%s”\n"
 msgstr ""
@@ -3069,97 +3069,97 @@ msgstr ""
 msgid "Path must not contain two adjacent slashes (//)\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:489
+#: ../gio/gsettings-tool.c:491
 #, c-format
 msgid "The provided value is outside of the valid range\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:496
+#: ../gio/gsettings-tool.c:498
 #, c-format
 msgid "The key is not writable\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:532
+#: ../gio/gsettings-tool.c:534
 msgid "List the installed (non-relocatable) schemas"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:538
+#: ../gio/gsettings-tool.c:540
 msgid "List the installed relocatable schemas"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:544
+#: ../gio/gsettings-tool.c:546
 msgid "List the keys in SCHEMA"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:545 ../gio/gsettings-tool.c:551
-#: ../gio/gsettings-tool.c:594
+#: ../gio/gsettings-tool.c:547 ../gio/gsettings-tool.c:553
+#: ../gio/gsettings-tool.c:596
 msgid "SCHEMA[:PATH]"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:550
+#: ../gio/gsettings-tool.c:552
 msgid "List the children of SCHEMA"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:556
+#: ../gio/gsettings-tool.c:558
 msgid ""
 "List keys and values, recursively\n"
 "If no SCHEMA is given, list all keys\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:558
+#: ../gio/gsettings-tool.c:560
 msgid "[SCHEMA[:PATH]]"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:563
+#: ../gio/gsettings-tool.c:565
 msgid "Get the value of KEY"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:564 ../gio/gsettings-tool.c:570
-#: ../gio/gsettings-tool.c:576 ../gio/gsettings-tool.c:588
-#: ../gio/gsettings-tool.c:600
+#: ../gio/gsettings-tool.c:566 ../gio/gsettings-tool.c:572
+#: ../gio/gsettings-tool.c:578 ../gio/gsettings-tool.c:590
+#: ../gio/gsettings-tool.c:602
 msgid "SCHEMA[:PATH] KEY"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:569
+#: ../gio/gsettings-tool.c:571
 msgid "Query the range of valid values for KEY"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:575
+#: ../gio/gsettings-tool.c:577
 msgid "Query the description for KEY"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:581
+#: ../gio/gsettings-tool.c:583
 msgid "Set the value of KEY to VALUE"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:582
+#: ../gio/gsettings-tool.c:584
 msgid "SCHEMA[:PATH] KEY VALUE"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:587
+#: ../gio/gsettings-tool.c:589
 msgid "Reset KEY to its default value"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:593
+#: ../gio/gsettings-tool.c:595
 msgid "Reset all keys in SCHEMA to their defaults"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:599
+#: ../gio/gsettings-tool.c:601
 msgid "Check if KEY is writable"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:605
+#: ../gio/gsettings-tool.c:607
 msgid ""
 "Monitor KEY for changes.\n"
 "If no KEY is specified, monitor all keys in SCHEMA.\n"
 "Use ^C to stop monitoring.\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:608
+#: ../gio/gsettings-tool.c:610
 msgid "SCHEMA[:PATH] [KEY]"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:620
+#: ../gio/gsettings-tool.c:622
 msgid ""
 "Usage:\n"
 "  gsettings --version\n"
@@ -3185,7 +3185,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:644
+#: ../gio/gsettings-tool.c:646
 #, c-format
 msgid ""
 "Usage:\n"
@@ -3195,44 +3195,44 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:650
+#: ../gio/gsettings-tool.c:652
 msgid "  SCHEMADIR A directory to search for additional schemas\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:658
+#: ../gio/gsettings-tool.c:660
 msgid ""
 "  SCHEMA    The name of the schema\n"
 "  PATH      The path, for relocatable schemas\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:663
+#: ../gio/gsettings-tool.c:665
 msgid "  KEY       The (optional) key within the schema\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:667
+#: ../gio/gsettings-tool.c:669
 msgid "  KEY       The key within the schema\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:671
+#: ../gio/gsettings-tool.c:673
 msgid "  VALUE     The value to set\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:726
+#: ../gio/gsettings-tool.c:728
 #, c-format
 msgid "Could not load schemas from %s: %s\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:738
+#: ../gio/gsettings-tool.c:740
 #, c-format
 msgid "No schemas installed\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:809
+#: ../gio/gsettings-tool.c:811
 #, c-format
 msgid "Empty schema name given\n"
 msgstr ""
 
-#: ../gio/gsettings-tool.c:864
+#: ../gio/gsettings-tool.c:866
 #, c-format
 msgid "No such key “%s”\n"
 msgstr ""
@@ -3780,8 +3780,8 @@ msgstr ""
 msgid "Failed to expand exec line “%s” with URI “%s”"
 msgstr ""
 
-#: ../glib/gconvert.c:477 ../glib/gutf8.c:852 ../glib/gutf8.c:1064
-#: ../glib/gutf8.c:1201 ../glib/gutf8.c:1305
+#: ../glib/gconvert.c:477 ../glib/gutf8.c:862 ../glib/gutf8.c:1074
+#: ../glib/gutf8.c:1211 ../glib/gutf8.c:1315
 msgid "Partial character sequence at end of input"
 msgstr ""
 
@@ -5023,20 +5023,20 @@ msgstr ""
 msgid "“%s” is not an unsigned number"
 msgstr ""
 
-#: ../glib/gutf8.c:798
+#: ../glib/gutf8.c:808
 msgid "Failed to allocate memory"
 msgstr ""
 
-#: ../glib/gutf8.c:931
+#: ../glib/gutf8.c:941
 msgid "Character out of range for UTF-8"
 msgstr ""
 
-#: ../glib/gutf8.c:1032 ../glib/gutf8.c:1041 ../glib/gutf8.c:1171
-#: ../glib/gutf8.c:1180 ../glib/gutf8.c:1319 ../glib/gutf8.c:1416
+#: ../glib/gutf8.c:1042 ../glib/gutf8.c:1051 ../glib/gutf8.c:1181
+#: ../glib/gutf8.c:1190 ../glib/gutf8.c:1329 ../glib/gutf8.c:1426
 msgid "Invalid sequence in conversion input"
 msgstr ""
 
-#: ../glib/gutf8.c:1330 ../glib/gutf8.c:1427
+#: ../glib/gutf8.c:1340 ../glib/gutf8.c:1437
 msgid "Character out of range for UTF-16"
 msgstr ""
 
index 851ad99..9afa0b6 100644 (file)
Binary files a/po/he.gmo and b/po/he.gmo differ
index e95a1f4..7adcc7d 100644 (file)
--- a/po/he.po
+++ b/po/he.po
@@ -15,8 +15,8 @@ msgstr ""
 "Project-Id-Version: glib.HEAD.he\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
 "product=glib&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2017-03-30 17:55+0300\n"
-"PO-Revision-Date: 2017-03-30 17:56+0300\n"
+"POT-Creation-Date: 2017-07-09 20:45+0300\n"
+"PO-Revision-Date: 2017-07-09 20:46+0300\n"
 "Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
 "Language-Team: עברית <>\n"
 "Language: he\n"
@@ -26,25 +26,25 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Gtranslator 2.91.6\n"
 
-#: ../gio/gapplication.c:493
+#: ../gio/gapplication.c:490
 msgid "GApplication options"
 msgstr "GApplication options"
 
-#: ../gio/gapplication.c:493
+#: ../gio/gapplication.c:490
 msgid "Show GApplication options"
 msgstr "Show GApplication options"
 
-#: ../gio/gapplication.c:538
+#: ../gio/gapplication.c:535
 msgid "Enter GApplication service mode (use from D-Bus service files)"
 msgstr "Enter GApplication service mode (use from D-Bus service files)"
 
-#: ../gio/gapplication.c:550
+#: ../gio/gapplication.c:547
 msgid "Override the application’s ID"
 msgstr "Override the application’s ID"
 
 #: ../gio/gapplication-tool.c:45 ../gio/gapplication-tool.c:46
-#: ../gio/gio-tool.c:209 ../gio/gresource-tool.c:488
-#: ../gio/gsettings-tool.c:520
+#: ../gio/gio-tool.c:227 ../gio/gresource-tool.c:488
+#: ../gio/gsettings-tool.c:522
 msgid "Print help"
 msgstr "Print help"
 
@@ -53,11 +53,11 @@ msgstr "Print help"
 msgid "[COMMAND]"
 msgstr "[COMMAND]"
 
-#: ../gio/gapplication-tool.c:49 ../gio/gio-tool.c:210
+#: ../gio/gapplication-tool.c:49 ../gio/gio-tool.c:228
 msgid "Print version"
 msgstr "Print version"
 
-#: ../gio/gapplication-tool.c:50 ../gio/gsettings-tool.c:526
+#: ../gio/gapplication-tool.c:50 ../gio/gsettings-tool.c:528
 msgid "Print version information and exit"
 msgstr "Print version information and exit"
 
@@ -106,7 +106,7 @@ msgid "APPID"
 msgstr "APPID"
 
 #: ../gio/gapplication-tool.c:70 ../gio/gapplication-tool.c:133
-#: ../gio/gdbus-tool.c:90 ../gio/gio-tool.c:206
+#: ../gio/gdbus-tool.c:90 ../gio/gio-tool.c:224
 msgid "COMMAND"
 msgstr "COMMAND"
 
@@ -145,7 +145,7 @@ msgid "Optional parameter to the action invocation, in GVariant format"
 msgstr "Optional parameter to the action invocation, in GVariant format"
 
 #: ../gio/gapplication-tool.c:96 ../gio/gresource-tool.c:526
-#: ../gio/gsettings-tool.c:612
+#: ../gio/gsettings-tool.c:614
 #, c-format
 msgid ""
 "Unknown command %s\n"
@@ -159,7 +159,7 @@ msgid "Usage:\n"
 msgstr "Usage:\n"
 
 #: ../gio/gapplication-tool.c:114 ../gio/gresource-tool.c:551
-#: ../gio/gsettings-tool.c:647
+#: ../gio/gsettings-tool.c:649
 msgid "Arguments:\n"
 msgstr "Arguments:\n"
 
@@ -287,7 +287,7 @@ msgid "Truncate not supported on base stream"
 msgstr "Truncate not supported on base stream"
 
 #: ../gio/gcancellable.c:317 ../gio/gdbusconnection.c:1849
-#: ../gio/gdbusprivate.c:1379 ../gio/gsimpleasyncresult.c:870
+#: ../gio/gdbusprivate.c:1402 ../gio/gsimpleasyncresult.c:870
 #: ../gio/gsimpleasyncresult.c:896
 #, c-format
 msgid "Operation was cancelled"
@@ -308,7 +308,7 @@ msgstr "Not enough space in destination"
 #: ../gio/gcharsetconverter.c:342 ../gio/gdatainputstream.c:848
 #: ../gio/gdatainputstream.c:1257 ../glib/gconvert.c:438 ../glib/gconvert.c:845
 #: ../glib/giochannel.c:1556 ../glib/giochannel.c:1598
-#: ../glib/giochannel.c:2442 ../glib/gutf8.c:856 ../glib/gutf8.c:1309
+#: ../glib/giochannel.c:2442 ../glib/gutf8.c:866 ../glib/gutf8.c:1319
 msgid "Invalid byte sequence in conversion input"
 msgstr "Invalid byte sequence in conversion input"
 
@@ -318,7 +318,7 @@ msgstr "Invalid byte sequence in conversion input"
 msgid "Error during conversion: %s"
 msgstr "Error during conversion: %s"
 
-#: ../gio/gcharsetconverter.c:444 ../gio/gsocket.c:1085
+#: ../gio/gcharsetconverter.c:444 ../gio/gsocket.c:1095
 msgid "Cancellable initialization not supported"
 msgstr "Cancellable initialization not supported"
 
@@ -521,7 +521,7 @@ msgstr ""
 "Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable "
 "— unknown value “%s”"
 
-#: ../gio/gdbusaddress.c:1654 ../gio/gdbusconnection.c:7153
+#: ../gio/gdbusaddress.c:1654 ../gio/gdbusconnection.c:7155
 msgid ""
 "Cannot determine bus address because the DBUS_STARTER_BUS_TYPE environment "
 "variable is not set"
@@ -629,7 +629,7 @@ msgstr "Error opening keyring “%s” for writing: "
 msgid "(Additionally, releasing the lock for “%s” also failed: %s) "
 msgstr "(Additionally, releasing the lock for “%s” also failed: %s) "
 
-#: ../gio/gdbusconnection.c:612 ../gio/gdbusconnection.c:2377
+#: ../gio/gdbusconnection.c:612 ../gio/gdbusconnection.c:2378
 msgid "The connection is closed"
 msgstr "The connection is closed"
 
@@ -637,91 +637,91 @@ msgstr "The connection is closed"
 msgid "Timeout was reached"
 msgstr "Timeout was reached"
 
-#: ../gio/gdbusconnection.c:2499
+#: ../gio/gdbusconnection.c:2500
 msgid ""
 "Unsupported flags encountered when constructing a client-side connection"
 msgstr ""
 "Unsupported flags encountered when constructing a client-side connection"
 
-#: ../gio/gdbusconnection.c:4120 ../gio/gdbusconnection.c:4467
+#: ../gio/gdbusconnection.c:4124 ../gio/gdbusconnection.c:4471
 #, c-format
 msgid ""
 "No such interface 'org.freedesktop.DBus.Properties' on object at path %s"
 msgstr ""
 "No such interface 'org.freedesktop.DBus.Properties' on object at path %s"
 
-#: ../gio/gdbusconnection.c:4262
+#: ../gio/gdbusconnection.c:4266
 #, c-format
 msgid "No such property '%s'"
 msgstr "No such property '%s'"
 
-#: ../gio/gdbusconnection.c:4274
+#: ../gio/gdbusconnection.c:4278
 #, c-format
 msgid "Property '%s' is not readable"
 msgstr "Property '%s' is not readable"
 
-#: ../gio/gdbusconnection.c:4285
+#: ../gio/gdbusconnection.c:4289
 #, c-format
 msgid "Property '%s' is not writable"
 msgstr "Property '%s' is not writable"
 
-#: ../gio/gdbusconnection.c:4305
+#: ../gio/gdbusconnection.c:4309
 #, c-format
 msgid "Error setting property '%s': Expected type '%s' but got '%s'"
 msgstr "Error setting property '%s': Expected type '%s' but got '%s'"
 
-#: ../gio/gdbusconnection.c:4410 ../gio/gdbusconnection.c:4618
-#: ../gio/gdbusconnection.c:6584
+#: ../gio/gdbusconnection.c:4414 ../gio/gdbusconnection.c:4622
+#: ../gio/gdbusconnection.c:6586
 #, c-format
 msgid "No such interface '%s'"
 msgstr "No such interface '%s'"
 
-#: ../gio/gdbusconnection.c:4836 ../gio/gdbusconnection.c:7093
+#: ../gio/gdbusconnection.c:4840 ../gio/gdbusconnection.c:7095
 #, c-format
 msgid "No such interface '%s' on object at path %s"
 msgstr "No such interface '%s' on object at path %s"
 
-#: ../gio/gdbusconnection.c:4934
+#: ../gio/gdbusconnection.c:4938
 #, c-format
 msgid "No such method '%s'"
 msgstr "No such method '%s'"
 
-#: ../gio/gdbusconnection.c:4965
+#: ../gio/gdbusconnection.c:4969
 #, c-format
 msgid "Type of message, '%s', does not match expected type '%s'"
 msgstr "Type of message, '%s', does not match expected type '%s'"
 
-#: ../gio/gdbusconnection.c:5163
+#: ../gio/gdbusconnection.c:5167
 #, c-format
 msgid "An object is already exported for the interface %s at %s"
 msgstr "An object is already exported for the interface %s at %s"
 
-#: ../gio/gdbusconnection.c:5389
+#: ../gio/gdbusconnection.c:5393
 #, c-format
 msgid "Unable to retrieve property %s.%s"
 msgstr "Unable to retrieve property %s.%s"
 
-#: ../gio/gdbusconnection.c:5445
+#: ../gio/gdbusconnection.c:5449
 #, c-format
 msgid "Unable to set property %s.%s"
 msgstr "Unable to set property %s.%s"
 
-#: ../gio/gdbusconnection.c:5621
+#: ../gio/gdbusconnection.c:5625
 #, c-format
 msgid "Method '%s' returned type '%s', but expected '%s'"
 msgstr "Method '%s' returned type '%s', but expected '%s'"
 
-#: ../gio/gdbusconnection.c:6695
+#: ../gio/gdbusconnection.c:6697
 #, c-format
 msgid "Method '%s' on interface '%s' with signature '%s' does not exist"
 msgstr "Method '%s' on interface '%s' with signature '%s' does not exist"
 
-#: ../gio/gdbusconnection.c:6816
+#: ../gio/gdbusconnection.c:6818
 #, c-format
 msgid "A subtree is already exported for %s"
 msgstr "A subtree is already exported for %s"
 
-#: ../gio/gdbusconnection.c:7144
+#: ../gio/gdbusconnection.c:7146
 #, c-format
 msgid ""
 "Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable "
@@ -730,27 +730,27 @@ msgstr ""
 "Cannot determine bus address from DBUS_STARTER_BUS_TYPE environment variable "
 "- unknown value '%s'"
 
-#: ../gio/gdbusmessage.c:1244
+#: ../gio/gdbusmessage.c:1246
 msgid "type is INVALID"
 msgstr "type is INVALID"
 
-#: ../gio/gdbusmessage.c:1255
+#: ../gio/gdbusmessage.c:1257
 msgid "METHOD_CALL message: PATH or MEMBER header field is missing"
 msgstr "METHOD_CALL message: PATH or MEMBER header field is missing"
 
-#: ../gio/gdbusmessage.c:1266
+#: ../gio/gdbusmessage.c:1268
 msgid "METHOD_RETURN message: REPLY_SERIAL header field is missing"
 msgstr "METHOD_RETURN message: REPLY_SERIAL header field is missing"
 
-#: ../gio/gdbusmessage.c:1278
+#: ../gio/gdbusmessage.c:1280
 msgid "ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing"
 msgstr "ERROR message: REPLY_SERIAL or ERROR_NAME header field is missing"
 
-#: ../gio/gdbusmessage.c:1291
+#: ../gio/gdbusmessage.c:1293
 msgid "SIGNAL message: PATH, INTERFACE or MEMBER header field is missing"
 msgstr "SIGNAL message: PATH, INTERFACE or MEMBER header field is missing"
 
-#: ../gio/gdbusmessage.c:1299
+#: ../gio/gdbusmessage.c:1301
 msgid ""
 "SIGNAL message: The PATH header field is using the reserved value /org/"
 "freedesktop/DBus/Local"
@@ -758,7 +758,7 @@ msgstr ""
 "SIGNAL message: The PATH header field is using the reserved value /org/"
 "freedesktop/DBus/Local"
 
-#: ../gio/gdbusmessage.c:1307
+#: ../gio/gdbusmessage.c:1309
 msgid ""
 "SIGNAL message: The INTERFACE header field is using the reserved value org."
 "freedesktop.DBus.Local"
@@ -766,19 +766,19 @@ msgstr ""
 "SIGNAL message: The INTERFACE header field is using the reserved value org."
 "freedesktop.DBus.Local"
 
-#: ../gio/gdbusmessage.c:1355 ../gio/gdbusmessage.c:1415
+#: ../gio/gdbusmessage.c:1357 ../gio/gdbusmessage.c:1417
 #, c-format
 msgid "Wanted to read %lu byte but only got %lu"
 msgid_plural "Wanted to read %lu bytes but only got %lu"
 msgstr[0] "Wanted to read %lu byte but only got %lu"
 msgstr[1] "Wanted to read %lu bytes but only got %lu"
 
-#: ../gio/gdbusmessage.c:1369
+#: ../gio/gdbusmessage.c:1371
 #, c-format
 msgid "Expected NUL byte after the string “%s” but found byte %d"
 msgstr "Expected NUL byte after the string “%s” but found byte %d"
 
-#: ../gio/gdbusmessage.c:1388
+#: ../gio/gdbusmessage.c:1390
 #, c-format
 msgid ""
 "Expected valid UTF-8 string but found invalid bytes at byte offset %d "
@@ -787,17 +787,17 @@ msgstr ""
 "Expected valid UTF-8 string but found invalid bytes at byte offset %d "
 "(length of string is %d). The valid UTF-8 string up until that point was “%s”"
 
-#: ../gio/gdbusmessage.c:1587
+#: ../gio/gdbusmessage.c:1589
 #, c-format
 msgid "Parsed value “%s” is not a valid D-Bus object path"
 msgstr "Parsed value “%s” is not a valid D-Bus object path"
 
-#: ../gio/gdbusmessage.c:1609
+#: ../gio/gdbusmessage.c:1611
 #, c-format
 msgid "Parsed value “%s” is not a valid D-Bus signature"
 msgstr "Parsed value “%s” is not a valid D-Bus signature"
 
-#: ../gio/gdbusmessage.c:1656
+#: ../gio/gdbusmessage.c:1658
 #, c-format
 msgid ""
 "Encountered array of length %u byte. Maximum length is 2<<26 bytes (64 MiB)."
@@ -808,7 +808,7 @@ msgstr[0] ""
 msgstr[1] ""
 "Encountered array of length %u bytes. Maximum length is 2<<26 bytes (64 MiB)."
 
-#: ../gio/gdbusmessage.c:1676
+#: ../gio/gdbusmessage.c:1678
 #, c-format
 msgid ""
 "Encountered array of type “a%c”, expected to have a length a multiple of %u "
@@ -817,19 +817,19 @@ msgstr ""
 "Encountered array of type “a%c”, expected to have a length a multiple of %u "
 "bytes, but found to be %u bytes in length"
 
-#: ../gio/gdbusmessage.c:1843
+#: ../gio/gdbusmessage.c:1845
 #, c-format
 msgid "Parsed value “%s” for variant is not a valid D-Bus signature"
 msgstr "Parsed value “%s” for variant is not a valid D-Bus signature"
 
-#: ../gio/gdbusmessage.c:1867
+#: ../gio/gdbusmessage.c:1869
 #, c-format
 msgid ""
 "Error deserializing GVariant with type string “%s” from the D-Bus wire format"
 msgstr ""
 "Error deserializing GVariant with type string “%s” from the D-Bus wire format"
 
-#: ../gio/gdbusmessage.c:2051
+#: ../gio/gdbusmessage.c:2053
 #, c-format
 msgid ""
 "Invalid endianness value. Expected 0x6c (“l”) or 0x42 (“B”) but found value "
@@ -838,40 +838,40 @@ msgstr ""
 "Invalid endianness value. Expected 0x6c (“l”) or 0x42 (“B”) but found value "
 "0x%02x"
 
-#: ../gio/gdbusmessage.c:2064
+#: ../gio/gdbusmessage.c:2066
 #, c-format
 msgid "Invalid major protocol version. Expected 1 but found %d"
 msgstr "Invalid major protocol version. Expected 1 but found %d"
 
-#: ../gio/gdbusmessage.c:2120
+#: ../gio/gdbusmessage.c:2122
 #, c-format
 msgid "Signature header with signature “%s” found but message body is empty"
 msgstr "Signature header with signature “%s” found but message body is empty"
 
-#: ../gio/gdbusmessage.c:2134
+#: ../gio/gdbusmessage.c:2136
 #, c-format
 msgid "Parsed value “%s” is not a valid D-Bus signature (for body)"
 msgstr "Parsed value “%s” is not a valid D-Bus signature (for body)"
 
-#: ../gio/gdbusmessage.c:2164
+#: ../gio/gdbusmessage.c:2166
 #, c-format
 msgid "No signature header in message but the message body is %u byte"
 msgid_plural "No signature header in message but the message body is %u bytes"
 msgstr[0] "No signature header in message but the message body is %u byte"
 msgstr[1] "No signature header in message but the message body is %u bytes"
 
-#: ../gio/gdbusmessage.c:2174
+#: ../gio/gdbusmessage.c:2176
 msgid "Cannot deserialize message: "
 msgstr "Cannot deserialize message: "
 
-#: ../gio/gdbusmessage.c:2515
+#: ../gio/gdbusmessage.c:2517
 #, c-format
 msgid ""
 "Error serializing GVariant with type string “%s” to the D-Bus wire format"
 msgstr ""
 "Error serializing GVariant with type string “%s” to the D-Bus wire format"
 
-#: ../gio/gdbusmessage.c:2652
+#: ../gio/gdbusmessage.c:2654
 #, c-format
 msgid ""
 "Message has %d file descriptors but the header field indicates %d file "
@@ -880,16 +880,16 @@ msgstr ""
 "Message has %d file descriptors but the header field indicates %d file "
 "descriptors"
 
-#: ../gio/gdbusmessage.c:2660
+#: ../gio/gdbusmessage.c:2662
 msgid "Cannot serialize message: "
 msgstr "Cannot serialize message: "
 
-#: ../gio/gdbusmessage.c:2704
+#: ../gio/gdbusmessage.c:2706
 #, c-format
 msgid "Message body has signature “%s” but there is no signature header"
 msgstr "Message body has signature “%s” but there is no signature header"
 
-#: ../gio/gdbusmessage.c:2714
+#: ../gio/gdbusmessage.c:2716
 #, c-format
 msgid ""
 "Message body has type signature “%s” but signature in the header field is "
@@ -898,26 +898,26 @@ msgstr ""
 "Message body has type signature “%s” but signature in the header field is "
 "“%s”"
 
-#: ../gio/gdbusmessage.c:2730
+#: ../gio/gdbusmessage.c:2732
 #, c-format
 msgid "Message body is empty but signature in the header field is “(%s)”"
 msgstr "Message body is empty but signature in the header field is “(%s)”"
 
-#: ../gio/gdbusmessage.c:3283
+#: ../gio/gdbusmessage.c:3285
 #, c-format
 msgid "Error return with body of type “%s”"
 msgstr "Error return with body of type “%s”"
 
-#: ../gio/gdbusmessage.c:3291
+#: ../gio/gdbusmessage.c:3293
 msgid "Error return with empty body"
 msgstr "Error return with empty body"
 
-#: ../gio/gdbusprivate.c:2043
+#: ../gio/gdbusprivate.c:2066
 #, c-format
 msgid "Unable to get Hardware profile: %s"
 msgstr "Unable to get Hardware profile: %s"
 
-#: ../gio/gdbusprivate.c:2088
+#: ../gio/gdbusprivate.c:2111
 msgid "Unable to load /var/lib/dbus/machine-id or /etc/machine-id: "
 msgstr "Unable to load /var/lib/dbus/machine-id or /etc/machine-id: "
 
@@ -939,25 +939,25 @@ msgstr ""
 "Cannot invoke method; proxy is for a well-known name without an owner and "
 "proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag"
 
-#: ../gio/gdbusserver.c:709
+#: ../gio/gdbusserver.c:708
 msgid "Abstract name space not supported"
 msgstr "Abstract name space not supported"
 
-#: ../gio/gdbusserver.c:796
+#: ../gio/gdbusserver.c:795
 msgid "Cannot specify nonce file when creating a server"
 msgstr "Cannot specify nonce file when creating a server"
 
-#: ../gio/gdbusserver.c:874
+#: ../gio/gdbusserver.c:873
 #, c-format
 msgid "Error writing nonce file at “%s”: %s"
 msgstr "Error writing nonce file at “%s”: %s"
 
-#: ../gio/gdbusserver.c:1045
+#: ../gio/gdbusserver.c:1044
 #, c-format
 msgid "The string “%s” is not a valid D-Bus GUID"
 msgstr "The string “%s” is not a valid D-Bus GUID"
 
-#: ../gio/gdbusserver.c:1085
+#: ../gio/gdbusserver.c:1084
 #, c-format
 msgid "Cannot listen on unsupported transport “%s”"
 msgstr "Cannot listen on unsupported transport “%s”"
@@ -987,7 +987,7 @@ msgstr ""
 
 #: ../gio/gdbus-tool.c:165 ../gio/gdbus-tool.c:227 ../gio/gdbus-tool.c:299
 #: ../gio/gdbus-tool.c:323 ../gio/gdbus-tool.c:725 ../gio/gdbus-tool.c:1068
-#: ../gio/gdbus-tool.c:1510 ../gio/gio-tool-rename.c:84
+#: ../gio/gdbus-tool.c:1510
 #, c-format
 msgid "Error: %s\n"
 msgstr "Error: %s\n"
@@ -1215,6 +1215,10 @@ msgstr ""
 "Timeout to wait for before exiting with an error (seconds); 0 for no timeout "
 "(default)"
 
+#: ../gio/gdbus-tool.c:2031
+msgid "[OPTION…] BUS-NAME"
+msgstr "[OPTION…] BUS-NAME"
+
 #: ../gio/gdbus-tool.c:2033
 msgid "Wait for a bus name to appear."
 msgstr "Wait for a bus name to appear."
@@ -1239,38 +1243,38 @@ msgstr "Error: Too many arguments.\n"
 msgid "Error: %s is not a valid well-known bus name.\n"
 msgstr "Error: %s is not a valid well-known bus name.\n"
 
-#: ../gio/gdesktopappinfo.c:1997 ../gio/gdesktopappinfo.c:4504
+#: ../gio/gdesktopappinfo.c:2001 ../gio/gdesktopappinfo.c:4533
 msgid "Unnamed"
 msgstr "Unnamed"
 
-#: ../gio/gdesktopappinfo.c:2407
+#: ../gio/gdesktopappinfo.c:2411
 msgid "Desktop file didn’t specify Exec field"
 msgstr "Desktop file didn’t specify Exec field"
 
-#: ../gio/gdesktopappinfo.c:2692
+#: ../gio/gdesktopappinfo.c:2696
 msgid "Unable to find terminal required for application"
 msgstr "Unable to find terminal required for application"
 
-#: ../gio/gdesktopappinfo.c:3100
+#: ../gio/gdesktopappinfo.c:3129
 #, c-format
 msgid "Can’t create user application configuration folder %s: %s"
 msgstr "Can’t create user application configuration folder %s: %s"
 
-#: ../gio/gdesktopappinfo.c:3104
+#: ../gio/gdesktopappinfo.c:3133
 #, c-format
 msgid "Can’t create user MIME configuration folder %s: %s"
 msgstr "Can’t create user MIME configuration folder %s: %s"
 
-#: ../gio/gdesktopappinfo.c:3344 ../gio/gdesktopappinfo.c:3368
+#: ../gio/gdesktopappinfo.c:3373 ../gio/gdesktopappinfo.c:3397
 msgid "Application information lacks an identifier"
 msgstr "Application information lacks an identifier"
 
-#: ../gio/gdesktopappinfo.c:3602
+#: ../gio/gdesktopappinfo.c:3631
 #, c-format
 msgid "Can’t create user desktop file %s"
 msgstr "Can’t create user desktop file %s"
 
-#: ../gio/gdesktopappinfo.c:3736
+#: ../gio/gdesktopappinfo.c:3765
 #, c-format
 msgid "Custom definition for %s"
 msgstr "Custom definition for %s"
@@ -1334,11 +1338,11 @@ msgstr "Expected a GEmblem for GEmblemedIcon"
 #: ../gio/gfile.c:969 ../gio/gfile.c:1207 ../gio/gfile.c:1345
 #: ../gio/gfile.c:1583 ../gio/gfile.c:1638 ../gio/gfile.c:1696
 #: ../gio/gfile.c:1780 ../gio/gfile.c:1837 ../gio/gfile.c:1901
-#: ../gio/gfile.c:1956 ../gio/gfile.c:3609 ../gio/gfile.c:3664
-#: ../gio/gfile.c:3900 ../gio/gfile.c:3942 ../gio/gfile.c:4410
-#: ../gio/gfile.c:4821 ../gio/gfile.c:4906 ../gio/gfile.c:4996
-#: ../gio/gfile.c:5093 ../gio/gfile.c:5180 ../gio/gfile.c:5281
-#: ../gio/gfile.c:7822 ../gio/gfile.c:7912 ../gio/gfile.c:7996
+#: ../gio/gfile.c:1956 ../gio/gfile.c:3613 ../gio/gfile.c:3668
+#: ../gio/gfile.c:3904 ../gio/gfile.c:3946 ../gio/gfile.c:4414
+#: ../gio/gfile.c:4825 ../gio/gfile.c:4910 ../gio/gfile.c:5000
+#: ../gio/gfile.c:5097 ../gio/gfile.c:5184 ../gio/gfile.c:5285
+#: ../gio/gfile.c:7826 ../gio/gfile.c:7916 ../gio/gfile.c:8000
 #: ../gio/win32/gwinhttpfile.c:437
 msgid "Operation not supported"
 msgstr "Operation not supported"
@@ -1392,24 +1396,24 @@ msgstr "Copy (reflink/clone) is not supported or didn’t work"
 msgid "Can’t copy special file"
 msgstr "Can’t copy special file"
 
-#: ../gio/gfile.c:3890
+#: ../gio/gfile.c:3894
 msgid "Invalid symlink value given"
 msgstr "Invalid symlink value given"
 
-#: ../gio/gfile.c:4051
+#: ../gio/gfile.c:4055
 msgid "Trash not supported"
 msgstr "Trash not supported"
 
-#: ../gio/gfile.c:4163
+#: ../gio/gfile.c:4167
 #, c-format
 msgid "File names cannot contain “%c”"
 msgstr "File names cannot contain “%c”"
 
-#: ../gio/gfile.c:6609 ../gio/gvolume.c:363
+#: ../gio/gfile.c:6613 ../gio/gvolume.c:363
 msgid "volume doesn’t implement mount"
 msgstr "volume doesn’t implement mount"
 
-#: ../gio/gfile.c:6718
+#: ../gio/gfile.c:6722
 msgid "No application is registered as handling this file"
 msgstr "No application is registered as handling this file"
 
@@ -1455,7 +1459,7 @@ msgid "Truncate not supported on stream"
 msgstr "Truncate not supported on stream"
 
 #: ../gio/ghttpproxy.c:91 ../gio/gresolver.c:410 ../gio/gresolver.c:476
-#: ../glib/gconvert.c:1726
+#: ../glib/gconvert.c:1650
 msgid "Invalid hostname"
 msgstr "Invalid hostname"
 
@@ -1560,109 +1564,113 @@ msgstr "Input stream doesn’t implement read"
 msgid "Stream has outstanding operation"
 msgstr "Stream has outstanding operation"
 
-#: ../gio/gio-tool.c:142
+#: ../gio/gio-tool.c:160
 msgid "Copy with file"
 msgstr "Copy with file"
 
-#: ../gio/gio-tool.c:146
+#: ../gio/gio-tool.c:164
 msgid "Keep with file when moved"
 msgstr "Keep with file when moved"
 
-#: ../gio/gio-tool.c:187
+#: ../gio/gio-tool.c:205
 msgid "“version” takes no arguments"
 msgstr "“version” takes no arguments"
 
-#: ../gio/gio-tool.c:189 ../gio/gio-tool.c:205 ../glib/goption.c:857
+#: ../gio/gio-tool.c:207 ../gio/gio-tool.c:223 ../glib/goption.c:857
 msgid "Usage:"
 msgstr "Usage:"
 
-#: ../gio/gio-tool.c:192
+#: ../gio/gio-tool.c:210
 msgid "Print version information and exit."
 msgstr "Print version information and exit."
 
-#: ../gio/gio-tool.c:206
+#: ../gio/gio-tool.c:224
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: ../gio/gio-tool.c:208
+#: ../gio/gio-tool.c:226
 msgid "Commands:"
 msgstr "Commands:"
 
-#: ../gio/gio-tool.c:211
+#: ../gio/gio-tool.c:229
 msgid "Concatenate files to standard output"
 msgstr "Concatenate files to standard output"
 
-#: ../gio/gio-tool.c:212
+#: ../gio/gio-tool.c:230
 msgid "Copy one or more files"
 msgstr "Copy one or more files"
 
-#: ../gio/gio-tool.c:213
+#: ../gio/gio-tool.c:231
 msgid "Show information about locations"
 msgstr "Show information about locations"
 
-#: ../gio/gio-tool.c:214
+#: ../gio/gio-tool.c:232
 msgid "List the contents of locations"
 msgstr "List the contents of locations"
 
-#: ../gio/gio-tool.c:215
+#: ../gio/gio-tool.c:233
 msgid "Get or set the handler for a mimetype"
 msgstr "Get or set the handler for a mimetype"
 
-#: ../gio/gio-tool.c:216
+#: ../gio/gio-tool.c:234
 msgid "Create directories"
 msgstr "Create directories"
 
-#: ../gio/gio-tool.c:217
+#: ../gio/gio-tool.c:235
 msgid "Monitor files and directories for changes"
 msgstr "Monitor files and directories for changes"
 
-#: ../gio/gio-tool.c:218
+#: ../gio/gio-tool.c:236
 msgid "Mount or unmount the locations"
 msgstr "Mount or unmount the locations"
 
-#: ../gio/gio-tool.c:219
+#: ../gio/gio-tool.c:237
 msgid "Move one or more files"
 msgstr "Move one or more files"
 
-#: ../gio/gio-tool.c:220
+#: ../gio/gio-tool.c:238
 msgid "Open files with the default application"
 msgstr "Open files with the default application"
 
-#: ../gio/gio-tool.c:221
+#: ../gio/gio-tool.c:239
 msgid "Rename a file"
 msgstr "Rename a file"
 
-#: ../gio/gio-tool.c:222
+#: ../gio/gio-tool.c:240
 msgid "Delete one or more files"
 msgstr "Delete one or more files"
 
-#: ../gio/gio-tool.c:223
+#: ../gio/gio-tool.c:241
 msgid "Read from standard input and save"
 msgstr "Read from standard input and save"
 
-#: ../gio/gio-tool.c:224
+#: ../gio/gio-tool.c:242
 msgid "Set a file attribute"
 msgstr "Set a file attribute"
 
-#: ../gio/gio-tool.c:225
+#: ../gio/gio-tool.c:243
 msgid "Move files or directories to the trash"
 msgstr "Move files or directories to the trash"
 
-#: ../gio/gio-tool.c:226
+#: ../gio/gio-tool.c:244
 msgid "Lists the contents of locations in a tree"
 msgstr "Lists the contents of locations in a tree"
 
-#: ../gio/gio-tool.c:228
+#: ../gio/gio-tool.c:246
 #, c-format
 msgid "Use %s to get detailed help.\n"
 msgstr "Use %s to get detailed help.\n"
 
+#: ../gio/gio-tool-cat.c:80
+msgid "Error writing to stdout"
+msgstr "Error writing to stdout"
+
 #. Translators: commandline placeholder
-#: ../gio/gio-tool-cat.c:124 ../gio/gio-tool-info.c:278
+#: ../gio/gio-tool-cat.c:124 ../gio/gio-tool-info.c:282
 #: ../gio/gio-tool-list.c:165 ../gio/gio-tool-mkdir.c:48
 #: ../gio/gio-tool-monitor.c:37 ../gio/gio-tool-monitor.c:39
 #: ../gio/gio-tool-monitor.c:41 ../gio/gio-tool-monitor.c:43
-#: ../gio/gio-tool-monitor.c:202 ../gio/gio-tool-mount.c:1132
+#: ../gio/gio-tool-monitor.c:203 ../gio/gio-tool-mount.c:1141
 #: ../gio/gio-tool-open.c:45 ../gio/gio-tool-remove.c:48
 #: ../gio/gio-tool-rename.c:45 ../gio/gio-tool-set.c:89
 #: ../gio/gio-tool-trash.c:81 ../gio/gio-tool-tree.c:239
@@ -1683,9 +1691,11 @@ msgstr ""
 "locations instead of local files: for example, you can use something\n"
 "like smb://server/resource/file.txt as location."
 
-#: ../gio/gio-tool-cat.c:151
-msgid "No files given"
-msgstr "No files given"
+#: ../gio/gio-tool-cat.c:153 ../gio/gio-tool-info.c:313
+#: ../gio/gio-tool-mkdir.c:76 ../gio/gio-tool-monitor.c:228
+#: ../gio/gio-tool-open.c:71 ../gio/gio-tool-remove.c:72
+msgid "No locations given"
+msgstr "No locations given"
 
 #: ../gio/gio-tool-copy.c:42 ../gio/gio-tool-move.c:38
 msgid "No target directory"
@@ -1742,12 +1752,12 @@ msgstr ""
 "locations instead of local files: for example, you can use something\n"
 "like smb://server/resource/file.txt as location."
 
-#: ../gio/gio-tool-copy.c:143
+#: ../gio/gio-tool-copy.c:147
 #, c-format
 msgid "Destination %s is not a directory"
 msgstr "Destination %s is not a directory"
 
-#: ../gio/gio-tool-copy.c:187 ../gio/gio-tool-move.c:181
+#: ../gio/gio-tool-copy.c:192 ../gio/gio-tool-move.c:185
 #, c-format
 msgid "%s: overwrite “%s”? "
 msgstr "%s: overwrite “%s”? "
@@ -1814,26 +1824,21 @@ msgstr "hidden\n"
 msgid "uri: %s\n"
 msgstr "uri: %s\n"
 
-#: ../gio/gio-tool-info.c:221
-#, c-format
-msgid "Error getting writable attributes: %s\n"
-msgstr "Error getting writable attributes: %s\n"
-
-#: ../gio/gio-tool-info.c:226
+#: ../gio/gio-tool-info.c:228
 #, c-format
 msgid "Settable attributes:\n"
 msgstr "Settable attributes:\n"
 
-#: ../gio/gio-tool-info.c:249
+#: ../gio/gio-tool-info.c:252
 #, c-format
 msgid "Writable attribute namespaces:\n"
 msgstr "Writable attribute namespaces:\n"
 
-#: ../gio/gio-tool-info.c:283
+#: ../gio/gio-tool-info.c:287
 msgid "Show information about locations."
 msgstr "Show information about locations."
 
-#: ../gio/gio-tool-info.c:285
+#: ../gio/gio-tool-info.c:289
 msgid ""
 "gio info is similar to the traditional ls utility, but using GIO\n"
 "locations instead of local files: for example, you can use something\n"
@@ -1847,10 +1852,6 @@ msgstr ""
 "be specified with their GIO name, e.g. standard::icon, or just by\n"
 "namespace, e.g. unix, or by “*”, which matches all attributes"
 
-#: ../gio/gio-tool-info.c:307 ../gio/gio-tool-mkdir.c:74
-msgid "No locations given"
-msgstr "No locations given"
-
 #: ../gio/gio-tool-list.c:36 ../gio/gio-tool-tree.c:32
 msgid "Show hidden files"
 msgstr "Show hidden files"
@@ -1902,46 +1903,46 @@ msgstr ""
 "for the mimetype. If a handler is given, it is set as the default\n"
 "handler for the mimetype."
 
-#: ../gio/gio-tool-mime.c:98
+#: ../gio/gio-tool-mime.c:100
 msgid "Must specify a single mimetype, and maybe a handler"
 msgstr "Must specify a single mimetype, and maybe a handler"
 
-#: ../gio/gio-tool-mime.c:113
+#: ../gio/gio-tool-mime.c:116
 #, c-format
 msgid "No default applications for “%s”\n"
 msgstr "No default applications for “%s”\n"
 
-#: ../gio/gio-tool-mime.c:119
+#: ../gio/gio-tool-mime.c:122
 #, c-format
 msgid "Default application for “%s”: %s\n"
 msgstr "Default application for “%s”: %s\n"
 
-#: ../gio/gio-tool-mime.c:124
+#: ../gio/gio-tool-mime.c:127
 #, c-format
 msgid "Registered applications:\n"
 msgstr "Registered applications:\n"
 
-#: ../gio/gio-tool-mime.c:126
+#: ../gio/gio-tool-mime.c:129
 #, c-format
 msgid "No registered applications\n"
 msgstr "No registered applications\n"
 
-#: ../gio/gio-tool-mime.c:137
+#: ../gio/gio-tool-mime.c:140
 #, c-format
 msgid "Recommended applications:\n"
 msgstr "Recommended applications:\n"
 
-#: ../gio/gio-tool-mime.c:139
+#: ../gio/gio-tool-mime.c:142
 #, c-format
 msgid "No recommended applications\n"
 msgstr "No recommended applications\n"
 
-#: ../gio/gio-tool-mime.c:159
+#: ../gio/gio-tool-mime.c:162
 #, c-format
-msgid "Failed to load info for handler “%s”\n"
-msgstr "Failed to load info for handler “%s”\n"
+msgid "Failed to load info for handler “%s”"
+msgstr "Failed to load info for handler “%s”"
 
-#: ../gio/gio-tool-mime.c:165
+#: ../gio/gio-tool-mime.c:168
 #, c-format
 msgid "Failed to set “%s” as the default handler for “%s”: %s\n"
 msgstr "Failed to set “%s” as the default handler for “%s”: %s\n"
@@ -1988,7 +1989,7 @@ msgstr "Report moves and renames as simple deleted/created events"
 msgid "Watch for mount events"
 msgstr "Watch for mount events"
 
-#: ../gio/gio-tool-monitor.c:207
+#: ../gio/gio-tool-monitor.c:208
 msgid "Monitor files or directories for changes."
 msgstr "Monitor files or directories for changes."
 
@@ -2042,46 +2043,19 @@ msgid "Show extra information"
 msgstr "Show extra information"
 
 #: ../gio/gio-tool-mount.c:246 ../gio/gio-tool-mount.c:276
-#, c-format
-msgid "Error mounting location: Anonymous access denied\n"
-msgstr "Error mounting location: Anonymous access denied\n"
-
-#: ../gio/gio-tool-mount.c:248 ../gio/gio-tool-mount.c:278
-#, c-format
-msgid "Error mounting location: %s\n"
-msgstr "Error mounting location: %s\n"
-
-#: ../gio/gio-tool-mount.c:341
-#, c-format
-msgid "Error unmounting mount: %s\n"
-msgstr "Error unmounting mount: %s\n"
+msgid "Anonymous access denied"
+msgstr "Anonymous access denied"
 
-#: ../gio/gio-tool-mount.c:366 ../gio/gio-tool-mount.c:419
-#, c-format
-msgid "Error finding enclosing mount: %s\n"
-msgstr "Error finding enclosing mount: %s\n"
-
-#: ../gio/gio-tool-mount.c:394
-#, c-format
-msgid "Error ejecting mount: %s\n"
-msgstr "Error ejecting mount: %s\n"
-
-#: ../gio/gio-tool-mount.c:875
-#, c-format
-msgid "Error mounting %s: %s\n"
-msgstr "Error mounting %s: %s\n"
-
-#: ../gio/gio-tool-mount.c:891
+#: ../gio/gio-tool-mount.c:897
 #, c-format
 msgid "Mounted %s at %s\n"
 msgstr "Mounted %s at %s\n"
 
-#: ../gio/gio-tool-mount.c:941
-#, c-format
-msgid "No volume for device file %s\n"
-msgstr "No volume for device file %s\n"
+#: ../gio/gio-tool-mount.c:950
+msgid "No volume for device file"
+msgstr "No volume for device file"
 
-#: ../gio/gio-tool-mount.c:1136
+#: ../gio/gio-tool-mount.c:1145
 msgid "Mount or unmount the locations."
 msgstr "Mount or unmount the locations."
 
@@ -2103,7 +2077,7 @@ msgstr ""
 "locations instead of local files: for example, you can use something\n"
 "like smb://server/resource/file.txt as location"
 
-#: ../gio/gio-tool-move.c:139
+#: ../gio/gio-tool-move.c:142
 #, c-format
 msgid "Target %s is not a directory"
 msgstr "Target %s is not a directory"
@@ -2116,10 +2090,6 @@ msgstr ""
 "Open files with the default application that\n"
 "is registered to handle files of this type."
 
-#: ../gio/gio-tool-open.c:69
-msgid "No files to open"
-msgstr "No files to open"
-
 #: ../gio/gio-tool-remove.c:31 ../gio/gio-tool-trash.c:31
 msgid "Ignore nonexistent files, never prompt"
 msgstr "Ignore nonexistent files, never prompt"
@@ -2128,10 +2098,6 @@ msgstr "Ignore nonexistent files, never prompt"
 msgid "Delete the given files."
 msgstr "Delete the given files."
 
-#: ../gio/gio-tool-remove.c:70
-msgid "No files to delete"
-msgstr "No files to delete"
-
 #: ../gio/gio-tool-rename.c:45
 msgid "NAME"
 msgstr "NAME"
@@ -2140,16 +2106,16 @@ msgstr "NAME"
 msgid "Rename a file."
 msgstr "Rename a file."
 
-#: ../gio/gio-tool-rename.c:68
+#: ../gio/gio-tool-rename.c:70
 msgid "Missing argument"
 msgstr "Missing argument"
 
-#: ../gio/gio-tool-rename.c:73 ../gio/gio-tool-save.c:192
-#: ../gio/gio-tool-set.c:134
+#: ../gio/gio-tool-rename.c:76 ../gio/gio-tool-save.c:195
+#: ../gio/gio-tool-set.c:137
 msgid "Too many arguments"
 msgstr "Too many arguments"
 
-#: ../gio/gio-tool-rename.c:91
+#: ../gio/gio-tool-rename.c:95
 #, c-format
 msgid "Rename successful. New uri: %s\n"
 msgstr "Rename successful. New uri: %s\n"
@@ -2184,6 +2150,10 @@ msgstr "The etag of the file being overwritten"
 msgid "ETAG"
 msgstr "ETAG"
 
+#: ../gio/gio-tool-save.c:119
+msgid "Error reading from standard input"
+msgstr "Error reading from standard input"
+
 #. Translators: The "etag" is a token allowing to verify whether a file has been modified
 #: ../gio/gio-tool-save.c:145
 #, c-format
@@ -2194,7 +2164,7 @@ msgstr "Etag not available\n"
 msgid "Read from standard input and save to DEST."
 msgstr "Read from standard input and save to DEST."
 
-#: ../gio/gio-tool-save.c:186
+#: ../gio/gio-tool-save.c:188
 msgid "No destination given"
 msgstr "No destination given"
 
@@ -2218,27 +2188,22 @@ msgstr "VALUE"
 msgid "Set a file attribute of LOCATION."
 msgstr "Set a file attribute of LOCATION."
 
-#: ../gio/gio-tool-set.c:111
+#: ../gio/gio-tool-set.c:113
 msgid "Location not specified"
 msgstr "Location not specified"
 
-#: ../gio/gio-tool-set.c:119
+#: ../gio/gio-tool-set.c:120
 msgid "Attribute not specified"
 msgstr "Attribute not specified"
 
-#: ../gio/gio-tool-set.c:128
+#: ../gio/gio-tool-set.c:130
 msgid "Value not specified"
 msgstr "Value not specified"
 
-#: ../gio/gio-tool-set.c:176
-#, c-format
-msgid "Invalid attribute type %s\n"
-msgstr "Invalid attribute type %s\n"
-
-#: ../gio/gio-tool-set.c:189
+#: ../gio/gio-tool-set.c:180
 #, c-format
-msgid "Error setting attribute: %s\n"
-msgstr "Error setting attribute: %s\n"
+msgid "Invalid attribute type “%s”"
+msgstr "Invalid attribute type “%s”"
 
 #: ../gio/gio-tool-trash.c:32
 msgid "Empty the trash"
@@ -2256,7 +2221,7 @@ msgstr "Follow symbolic links, mounts and shortcuts"
 msgid "List contents of directories in a tree-like format."
 msgstr "List contents of directories in a tree-like format."
 
-#: ../gio/glib-compile-resources.c:142 ../gio/glib-compile-schemas.c:1492
+#: ../gio/glib-compile-resources.c:142 ../gio/glib-compile-schemas.c:1486
 #, c-format
 msgid "Element <%s> not allowed inside <%s>"
 msgstr "Element <%s> not allowed inside <%s>"
@@ -2301,12 +2266,12 @@ msgstr "Error reading file %s: %s"
 msgid "Error compressing file %s"
 msgstr "Error compressing file %s"
 
-#: ../gio/glib-compile-resources.c:469 ../gio/glib-compile-schemas.c:1604
+#: ../gio/glib-compile-resources.c:469 ../gio/glib-compile-schemas.c:1598
 #, c-format
 msgid "text may not appear inside <%s>"
 msgstr "text may not appear inside <%s>"
 
-#: ../gio/glib-compile-resources.c:664 ../gio/glib-compile-schemas.c:2053
+#: ../gio/glib-compile-resources.c:664 ../gio/glib-compile-schemas.c:2047
 msgid "Show program version and exit"
 msgstr "Show program version and exit"
 
@@ -2322,8 +2287,8 @@ msgstr ""
 "The directories where files are to be read from (default to current "
 "directory)"
 
-#: ../gio/glib-compile-resources.c:666 ../gio/glib-compile-schemas.c:2054
-#: ../gio/glib-compile-schemas.c:2082
+#: ../gio/glib-compile-resources.c:666 ../gio/glib-compile-schemas.c:2048
+#: ../gio/glib-compile-schemas.c:2076
 msgid "DIRECTORY"
 msgstr "DIRECTORY"
 
@@ -2520,68 +2485,68 @@ msgstr "a path, if given, must begin and end with a slash"
 msgid "the path of a list must end with ':/'"
 msgstr "the path of a list must end with ':/'"
 
-#: ../gio/glib-compile-schemas.c:1248
+#: ../gio/glib-compile-schemas.c:1242
 #, c-format
 msgid "<%s id='%s'> already specified"
 msgstr "<%s id='%s'> already specified"
 
-#: ../gio/glib-compile-schemas.c:1398 ../gio/glib-compile-schemas.c:1414
+#: ../gio/glib-compile-schemas.c:1392 ../gio/glib-compile-schemas.c:1408
 #, c-format
 msgid "Only one <%s> element allowed inside <%s>"
 msgstr "Only one <%s> element allowed inside <%s>"
 
-#: ../gio/glib-compile-schemas.c:1496
+#: ../gio/glib-compile-schemas.c:1490
 #, c-format
 msgid "Element <%s> not allowed at the top level"
 msgstr "Element <%s> not allowed at the top level"
 
 #. Translators: Do not translate "--strict".
-#: ../gio/glib-compile-schemas.c:1806 ../gio/glib-compile-schemas.c:1880
-#: ../gio/glib-compile-schemas.c:1956
+#: ../gio/glib-compile-schemas.c:1800 ../gio/glib-compile-schemas.c:1874
+#: ../gio/glib-compile-schemas.c:1950
 #, c-format
 msgid "--strict was specified; exiting.\n"
 msgstr "--strict was specified; exiting.\n"
 
-#: ../gio/glib-compile-schemas.c:1816
+#: ../gio/glib-compile-schemas.c:1810
 #, c-format
 msgid "This entire file has been ignored.\n"
 msgstr "This entire file has been ignored.\n"
 
-#: ../gio/glib-compile-schemas.c:1876
+#: ../gio/glib-compile-schemas.c:1870
 #, c-format
 msgid "Ignoring this file.\n"
 msgstr "Ignoring this file.\n"
 
-#: ../gio/glib-compile-schemas.c:1916
+#: ../gio/glib-compile-schemas.c:1910
 #, c-format
 msgid "No such key '%s' in schema '%s' as specified in override file '%s'"
 msgstr "No such key '%s' in schema '%s' as specified in override file '%s'"
 
-#: ../gio/glib-compile-schemas.c:1922 ../gio/glib-compile-schemas.c:1980
-#: ../gio/glib-compile-schemas.c:2008
+#: ../gio/glib-compile-schemas.c:1916 ../gio/glib-compile-schemas.c:1974
+#: ../gio/glib-compile-schemas.c:2002
 #, c-format
 msgid "; ignoring override for this key.\n"
 msgstr "; ignoring override for this key.\n"
 
-#: ../gio/glib-compile-schemas.c:1926 ../gio/glib-compile-schemas.c:1984
-#: ../gio/glib-compile-schemas.c:2012
+#: ../gio/glib-compile-schemas.c:1920 ../gio/glib-compile-schemas.c:1978
+#: ../gio/glib-compile-schemas.c:2006
 #, c-format
 msgid " and --strict was specified; exiting.\n"
 msgstr " and --strict was specified; exiting.\n"
 
-#: ../gio/glib-compile-schemas.c:1942
+#: ../gio/glib-compile-schemas.c:1936
 #, c-format
 msgid ""
 "error parsing key '%s' in schema '%s' as specified in override file '%s': %s."
 msgstr ""
 "error parsing key '%s' in schema '%s' as specified in override file '%s': %s."
 
-#: ../gio/glib-compile-schemas.c:1952
+#: ../gio/glib-compile-schemas.c:1946
 #, c-format
 msgid "Ignoring override for this key.\n"
 msgstr "Ignoring override for this key.\n"
 
-#: ../gio/glib-compile-schemas.c:1970
+#: ../gio/glib-compile-schemas.c:1964
 #, c-format
 msgid ""
 "override for key '%s' in schema '%s' in override file '%s' is outside the "
@@ -2590,7 +2555,7 @@ msgstr ""
 "override for key '%s' in schema '%s' in override file '%s' is outside the "
 "range given in the schema"
 
-#: ../gio/glib-compile-schemas.c:1998
+#: ../gio/glib-compile-schemas.c:1992
 #, c-format
 msgid ""
 "override for key '%s' in schema '%s' in override file '%s' is not in the "
@@ -2599,23 +2564,23 @@ msgstr ""
 "override for key '%s' in schema '%s' in override file '%s' is not in the "
 "list of valid choices"
 
-#: ../gio/glib-compile-schemas.c:2054
+#: ../gio/glib-compile-schemas.c:2048
 msgid "where to store the gschemas.compiled file"
 msgstr "where to store the gschemas.compiled file"
 
-#: ../gio/glib-compile-schemas.c:2055
+#: ../gio/glib-compile-schemas.c:2049
 msgid "Abort on any errors in schemas"
 msgstr "Abort on any errors in schemas"
 
-#: ../gio/glib-compile-schemas.c:2056
+#: ../gio/glib-compile-schemas.c:2050
 msgid "Do not write the gschema.compiled file"
 msgstr "Do not write the gschema.compiled file"
 
-#: ../gio/glib-compile-schemas.c:2057
+#: ../gio/glib-compile-schemas.c:2051
 msgid "Do not enforce key name restrictions"
 msgstr "Do not enforce key name restrictions"
 
-#: ../gio/glib-compile-schemas.c:2085
+#: ../gio/glib-compile-schemas.c:2079
 msgid ""
 "Compile all GSettings schema files into a schema cache.\n"
 "Schema files are required to have the extension .gschema.xml,\n"
@@ -2625,22 +2590,22 @@ msgstr ""
 "Schema files are required to have the extension .gschema.xml,\n"
 "and the cache file is called gschemas.compiled."
 
-#: ../gio/glib-compile-schemas.c:2106
+#: ../gio/glib-compile-schemas.c:2100
 #, c-format
 msgid "You should give exactly one directory name\n"
 msgstr "You should give exactly one directory name\n"
 
-#: ../gio/glib-compile-schemas.c:2148
+#: ../gio/glib-compile-schemas.c:2142
 #, c-format
 msgid "No schema files found: "
 msgstr "No schema files found: "
 
-#: ../gio/glib-compile-schemas.c:2151
+#: ../gio/glib-compile-schemas.c:2145
 #, c-format
 msgid "doing nothing.\n"
 msgstr "doing nothing.\n"
 
-#: ../gio/glib-compile-schemas.c:2154
+#: ../gio/glib-compile-schemas.c:2148
 #, c-format
 msgid "removed existing output file.\n"
 msgstr "removed existing output file.\n"
@@ -2747,7 +2712,7 @@ msgstr "Filesystem does not support symbolic links"
 msgid "Error making symbolic link %s: %s"
 msgstr "Error making symbolic link %s: %s"
 
-#: ../gio/glocalfile.c:2292 ../glib/gfileutils.c:2071
+#: ../gio/glocalfile.c:2292 ../glib/gfileutils.c:2077
 msgid "Symbolic links not supported"
 msgstr "Symbolic links not supported"
 
@@ -2760,9 +2725,9 @@ msgstr "Error moving file %s: %s"
 msgid "Can’t move directory over directory"
 msgstr "Can’t move directory over directory"
 
-#: ../gio/glocalfile.c:2396 ../gio/glocalfileoutputstream.c:925
-#: ../gio/glocalfileoutputstream.c:939 ../gio/glocalfileoutputstream.c:954
-#: ../gio/glocalfileoutputstream.c:971 ../gio/glocalfileoutputstream.c:985
+#: ../gio/glocalfile.c:2396 ../gio/glocalfileoutputstream.c:931
+#: ../gio/glocalfileoutputstream.c:945 ../gio/glocalfileoutputstream.c:960
+#: ../gio/glocalfileoutputstream.c:977 ../gio/glocalfileoutputstream.c:991
 msgid "Backup file creation failed"
 msgstr "Backup file creation failed"
 
@@ -2801,7 +2766,7 @@ msgstr "Error setting extended attribute “%s”: %s"
 msgid " (invalid encoding)"
 msgstr " (invalid encoding)"
 
-#: ../gio/glocalfileinfo.c:1766 ../gio/glocalfileoutputstream.c:803
+#: ../gio/glocalfileinfo.c:1766 ../gio/glocalfileoutputstream.c:809
 #, c-format
 msgid "Error when getting information for file “%s”: %s"
 msgstr "Error when getting information for file “%s”: %s"
@@ -2882,7 +2847,7 @@ msgstr "Error reading from file: %s"
 
 #: ../gio/glocalfileinputstream.c:199 ../gio/glocalfileinputstream.c:211
 #: ../gio/glocalfileinputstream.c:225 ../gio/glocalfileinputstream.c:333
-#: ../gio/glocalfileoutputstream.c:456 ../gio/glocalfileoutputstream.c:1003
+#: ../gio/glocalfileoutputstream.c:456 ../gio/glocalfileoutputstream.c:1009
 #, c-format
 msgid "Error seeking in file: %s"
 msgstr "Error seeking in file: %s"
@@ -2918,30 +2883,30 @@ msgstr "Error creating backup copy: %s"
 msgid "Error renaming temporary file: %s"
 msgstr "Error renaming temporary file: %s"
 
-#: ../gio/glocalfileoutputstream.c:502 ../gio/glocalfileoutputstream.c:1054
+#: ../gio/glocalfileoutputstream.c:502 ../gio/glocalfileoutputstream.c:1060
 #, c-format
 msgid "Error truncating file: %s"
 msgstr "Error truncating file: %s"
 
-#: ../gio/glocalfileoutputstream.c:555 ../gio/glocalfileoutputstream.c:785
-#: ../gio/glocalfileoutputstream.c:1035 ../gio/gsubprocess.c:360
+#: ../gio/glocalfileoutputstream.c:555 ../gio/glocalfileoutputstream.c:791
+#: ../gio/glocalfileoutputstream.c:1041 ../gio/gsubprocess.c:360
 #, c-format
 msgid "Error opening file “%s”: %s"
 msgstr "Error opening file “%s”: %s"
 
-#: ../gio/glocalfileoutputstream.c:816
+#: ../gio/glocalfileoutputstream.c:822
 msgid "Target file is a directory"
 msgstr "Target file is a directory"
 
-#: ../gio/glocalfileoutputstream.c:821
+#: ../gio/glocalfileoutputstream.c:827
 msgid "Target file is not a regular file"
 msgstr "Target file is not a regular file"
 
-#: ../gio/glocalfileoutputstream.c:833
+#: ../gio/glocalfileoutputstream.c:839
 msgid "The file was externally modified"
 msgstr "The file was externally modified"
 
-#: ../gio/glocalfileoutputstream.c:1019
+#: ../gio/glocalfileoutputstream.c:1025
 #, c-format
 msgid "Error removing old file: %s"
 msgstr "Error removing old file: %s"
@@ -3058,7 +3023,7 @@ msgstr "Could not create network monitor: "
 msgid "Could not get network status: "
 msgstr "Could not get network status: "
 
-#: ../gio/gnetworkmonitornm.c:326
+#: ../gio/gnetworkmonitornm.c:329
 #, c-format
 msgid "NetworkManager version too old"
 msgstr "NetworkManager version too old"
@@ -3077,15 +3042,15 @@ msgstr "Source stream is already closed"
 msgid "Error resolving “%s”: %s"
 msgstr "Error resolving “%s”: %s"
 
-#: ../gio/gresource.c:595 ../gio/gresource.c:846 ../gio/gresource.c:863
-#: ../gio/gresource.c:987 ../gio/gresource.c:1059 ../gio/gresource.c:1132
-#: ../gio/gresource.c:1202 ../gio/gresourcefile.c:453
+#: ../gio/gresource.c:606 ../gio/gresource.c:857 ../gio/gresource.c:874
+#: ../gio/gresource.c:998 ../gio/gresource.c:1070 ../gio/gresource.c:1143
+#: ../gio/gresource.c:1213 ../gio/gresourcefile.c:453
 #: ../gio/gresourcefile.c:576 ../gio/gresourcefile.c:713
 #, c-format
 msgid "The resource at “%s” does not exist"
 msgstr "The resource at “%s” does not exist"
 
-#: ../gio/gresource.c:760
+#: ../gio/gresource.c:771
 #, c-format
 msgid "The resource at “%s” failed to decompress"
 msgstr "The resource at “%s” failed to decompress"
@@ -3189,7 +3154,7 @@ msgstr ""
 msgid "  SECTION   An (optional) elf section name\n"
 msgstr "  SECTION   An (optional) elf section name\n"
 
-#: ../gio/gresource-tool.c:559 ../gio/gsettings-tool.c:654
+#: ../gio/gresource-tool.c:559 ../gio/gsettings-tool.c:656
 msgid "  COMMAND   The (optional) command to explain\n"
 msgstr "  COMMAND   The (optional) command to explain\n"
 
@@ -3222,7 +3187,7 @@ msgid "  PATH      A resource path\n"
 msgstr "  PATH      A resource path\n"
 
 #: ../gio/gsettings-tool.c:51 ../gio/gsettings-tool.c:72
-#: ../gio/gsettings-tool.c:851
+#: ../gio/gsettings-tool.c:853
 #, c-format
 msgid "No such schema “%s”\n"
 msgstr "No such schema “%s”\n"
@@ -3257,38 +3222,38 @@ msgstr "Path must end with a slash (/)\n"
 msgid "Path must not contain two adjacent slashes (//)\n"
 msgstr "Path must not contain two adjacent slashes (//)\n"
 
-#: ../gio/gsettings-tool.c:489
+#: ../gio/gsettings-tool.c:491
 #, c-format
 msgid "The provided value is outside of the valid range\n"
 msgstr "The provided value is outside of the valid range\n"
 
-#: ../gio/gsettings-tool.c:496
+#: ../gio/gsettings-tool.c:498
 #, c-format
 msgid "The key is not writable\n"
 msgstr "The key is not writable\n"
 
-#: ../gio/gsettings-tool.c:532
+#: ../gio/gsettings-tool.c:534
 msgid "List the installed (non-relocatable) schemas"
 msgstr "List the installed (non-relocatable) schemas"
 
-#: ../gio/gsettings-tool.c:538
+#: ../gio/gsettings-tool.c:540
 msgid "List the installed relocatable schemas"
 msgstr "List the installed relocatable schemas"
 
-#: ../gio/gsettings-tool.c:544
+#: ../gio/gsettings-tool.c:546
 msgid "List the keys in SCHEMA"
 msgstr "List the keys in SCHEMA"
 
-#: ../gio/gsettings-tool.c:545 ../gio/gsettings-tool.c:551
-#: ../gio/gsettings-tool.c:594
+#: ../gio/gsettings-tool.c:547 ../gio/gsettings-tool.c:553
+#: ../gio/gsettings-tool.c:596
 msgid "SCHEMA[:PATH]"
 msgstr "SCHEMA[:PATH]"
 
-#: ../gio/gsettings-tool.c:550
+#: ../gio/gsettings-tool.c:552
 msgid "List the children of SCHEMA"
 msgstr "List the children of SCHEMA"
 
-#: ../gio/gsettings-tool.c:556
+#: ../gio/gsettings-tool.c:558
 msgid ""
 "List keys and values, recursively\n"
 "If no SCHEMA is given, list all keys\n"
@@ -3296,49 +3261,49 @@ msgstr ""
 "List keys and values, recursively\n"
 "If no SCHEMA is given, list all keys\n"
 
-#: ../gio/gsettings-tool.c:558
+#: ../gio/gsettings-tool.c:560
 msgid "[SCHEMA[:PATH]]"
 msgstr "[SCHEMA[:PATH]]"
 
-#: ../gio/gsettings-tool.c:563
+#: ../gio/gsettings-tool.c:565
 msgid "Get the value of KEY"
 msgstr "Get the value of KEY"
 
-#: ../gio/gsettings-tool.c:564 ../gio/gsettings-tool.c:570
-#: ../gio/gsettings-tool.c:576 ../gio/gsettings-tool.c:588
-#: ../gio/gsettings-tool.c:600
+#: ../gio/gsettings-tool.c:566 ../gio/gsettings-tool.c:572
+#: ../gio/gsettings-tool.c:578 ../gio/gsettings-tool.c:590
+#: ../gio/gsettings-tool.c:602
 msgid "SCHEMA[:PATH] KEY"
 msgstr "SCHEMA[:PATH] KEY"
 
-#: ../gio/gsettings-tool.c:569
+#: ../gio/gsettings-tool.c:571
 msgid "Query the range of valid values for KEY"
 msgstr "Query the range of valid values for KEY"
 
-#: ../gio/gsettings-tool.c:575
+#: ../gio/gsettings-tool.c:577
 msgid "Query the description for KEY"
 msgstr "Query the description for KEY"
 
-#: ../gio/gsettings-tool.c:581
+#: ../gio/gsettings-tool.c:583
 msgid "Set the value of KEY to VALUE"
 msgstr "Set the value of KEY to VALUE"
 
-#: ../gio/gsettings-tool.c:582
+#: ../gio/gsettings-tool.c:584
 msgid "SCHEMA[:PATH] KEY VALUE"
 msgstr "SCHEMA[:PATH] KEY VALUE"
 
-#: ../gio/gsettings-tool.c:587
+#: ../gio/gsettings-tool.c:589
 msgid "Reset KEY to its default value"
 msgstr "Reset KEY to its default value"
 
-#: ../gio/gsettings-tool.c:593
+#: ../gio/gsettings-tool.c:595
 msgid "Reset all keys in SCHEMA to their defaults"
 msgstr "Reset all keys in SCHEMA to their defaults"
 
-#: ../gio/gsettings-tool.c:599
+#: ../gio/gsettings-tool.c:601
 msgid "Check if KEY is writable"
 msgstr "Check if KEY is writable"
 
-#: ../gio/gsettings-tool.c:605
+#: ../gio/gsettings-tool.c:607
 msgid ""
 "Monitor KEY for changes.\n"
 "If no KEY is specified, monitor all keys in SCHEMA.\n"
@@ -3348,11 +3313,11 @@ msgstr ""
 "If no KEY is specified, monitor all keys in SCHEMA.\n"
 "Use ^C to stop monitoring.\n"
 
-#: ../gio/gsettings-tool.c:608
+#: ../gio/gsettings-tool.c:610
 msgid "SCHEMA[:PATH] [KEY]"
 msgstr "SCHEMA[:PATH] [KEY]"
 
-#: ../gio/gsettings-tool.c:620
+#: ../gio/gsettings-tool.c:622
 msgid ""
 "Usage:\n"
 "  gsettings --version\n"
@@ -3400,7 +3365,7 @@ msgstr ""
 "Use “gsettings help COMMAND” to get detailed help.\n"
 "\n"
 
-#: ../gio/gsettings-tool.c:644
+#: ../gio/gsettings-tool.c:646
 #, c-format
 msgid ""
 "Usage:\n"
@@ -3415,11 +3380,11 @@ msgstr ""
 "%s\n"
 "\n"
 
-#: ../gio/gsettings-tool.c:650
+#: ../gio/gsettings-tool.c:652
 msgid "  SCHEMADIR A directory to search for additional schemas\n"
 msgstr "  SCHEMADIR A directory to search for additional schemas\n"
 
-#: ../gio/gsettings-tool.c:658
+#: ../gio/gsettings-tool.c:660
 msgid ""
 "  SCHEMA    The name of the schema\n"
 "  PATH      The path, for relocatable schemas\n"
@@ -3427,176 +3392,176 @@ msgstr ""
 "  SCHEMA    The name of the schema\n"
 "  PATH      The path, for relocatable schemas\n"
 
-#: ../gio/gsettings-tool.c:663
+#: ../gio/gsettings-tool.c:665
 msgid "  KEY       The (optional) key within the schema\n"
 msgstr "  KEY       The (optional) key within the schema\n"
 
-#: ../gio/gsettings-tool.c:667
+#: ../gio/gsettings-tool.c:669
 msgid "  KEY       The key within the schema\n"
 msgstr "  KEY       The key within the schema\n"
 
-#: ../gio/gsettings-tool.c:671
+#: ../gio/gsettings-tool.c:673
 msgid "  VALUE     The value to set\n"
 msgstr "  VALUE     The value to set\n"
 
-#: ../gio/gsettings-tool.c:726
+#: ../gio/gsettings-tool.c:728
 #, c-format
 msgid "Could not load schemas from %s: %s\n"
 msgstr "Could not load schemas from %s: %s\n"
 
-#: ../gio/gsettings-tool.c:738
+#: ../gio/gsettings-tool.c:740
 #, c-format
 msgid "No schemas installed\n"
 msgstr "No schemas installed\n"
 
-#: ../gio/gsettings-tool.c:809
+#: ../gio/gsettings-tool.c:811
 #, c-format
 msgid "Empty schema name given\n"
 msgstr "Empty schema name given\n"
 
-#: ../gio/gsettings-tool.c:864
+#: ../gio/gsettings-tool.c:866
 #, c-format
 msgid "No such key “%s”\n"
 msgstr "No such key “%s”\n"
 
-#: ../gio/gsocket.c:369
+#: ../gio/gsocket.c:379
 msgid "Invalid socket, not initialized"
 msgstr "Invalid socket, not initialized"
 
-#: ../gio/gsocket.c:376
+#: ../gio/gsocket.c:386
 #, c-format
 msgid "Invalid socket, initialization failed due to: %s"
 msgstr "Invalid socket, initialization failed due to: %s"
 
-#: ../gio/gsocket.c:384
+#: ../gio/gsocket.c:394
 msgid "Socket is already closed"
 msgstr "Socket is already closed"
 
-#: ../gio/gsocket.c:399 ../gio/gsocket.c:2754 ../gio/gsocket.c:3939
-#: ../gio/gsocket.c:3995
+#: ../gio/gsocket.c:409 ../gio/gsocket.c:2764 ../gio/gsocket.c:3949
+#: ../gio/gsocket.c:4005
 msgid "Socket I/O timed out"
 msgstr "Socket I/O timed out"
 
-#: ../gio/gsocket.c:531
+#: ../gio/gsocket.c:541
 #, c-format
 msgid "creating GSocket from fd: %s"
 msgstr "creating GSocket from fd: %s"
 
-#: ../gio/gsocket.c:559 ../gio/gsocket.c:613 ../gio/gsocket.c:620
+#: ../gio/gsocket.c:569 ../gio/gsocket.c:623 ../gio/gsocket.c:630
 #, c-format
 msgid "Unable to create socket: %s"
 msgstr "Unable to create socket: %s"
 
-#: ../gio/gsocket.c:613
+#: ../gio/gsocket.c:623
 msgid "Unknown family was specified"
 msgstr "Unknown family was specified"
 
-#: ../gio/gsocket.c:620
+#: ../gio/gsocket.c:630
 msgid "Unknown protocol was specified"
 msgstr "Unknown protocol was specified"
 
-#: ../gio/gsocket.c:1111
+#: ../gio/gsocket.c:1121
 #, c-format
 msgid "Cannot use datagram operations on a non-datagram socket."
 msgstr "Cannot use datagram operations on a non-datagram socket."
 
-#: ../gio/gsocket.c:1128
+#: ../gio/gsocket.c:1138
 #, c-format
 msgid "Cannot use datagram operations on a socket with a timeout set."
 msgstr "Cannot use datagram operations on a socket with a timeout set."
 
-#: ../gio/gsocket.c:1932
+#: ../gio/gsocket.c:1942
 #, c-format
 msgid "could not get local address: %s"
 msgstr "could not get local address: %s"
 
-#: ../gio/gsocket.c:1975
+#: ../gio/gsocket.c:1985
 #, c-format
 msgid "could not get remote address: %s"
 msgstr "could not get remote address: %s"
 
-#: ../gio/gsocket.c:2041
+#: ../gio/gsocket.c:2051
 #, c-format
 msgid "could not listen: %s"
 msgstr "could not listen: %s"
 
-#: ../gio/gsocket.c:2140
+#: ../gio/gsocket.c:2150
 #, c-format
 msgid "Error binding to address: %s"
 msgstr "Error binding to address: %s"
 
-#: ../gio/gsocket.c:2255 ../gio/gsocket.c:2292
+#: ../gio/gsocket.c:2265 ../gio/gsocket.c:2302
 #, c-format
 msgid "Error joining multicast group: %s"
 msgstr "Error joining multicast group: %s"
 
-#: ../gio/gsocket.c:2256 ../gio/gsocket.c:2293
+#: ../gio/gsocket.c:2266 ../gio/gsocket.c:2303
 #, c-format
 msgid "Error leaving multicast group: %s"
 msgstr "Error leaving multicast group: %s"
 
-#: ../gio/gsocket.c:2257
+#: ../gio/gsocket.c:2267
 msgid "No support for source-specific multicast"
 msgstr "No support for source-specific multicast"
 
-#: ../gio/gsocket.c:2477
+#: ../gio/gsocket.c:2487
 #, c-format
 msgid "Error accepting connection: %s"
 msgstr "Error accepting connection: %s"
 
-#: ../gio/gsocket.c:2598
+#: ../gio/gsocket.c:2608
 msgid "Connection in progress"
 msgstr "Connection in progress"
 
-#: ../gio/gsocket.c:2647
+#: ../gio/gsocket.c:2657
 msgid "Unable to get pending error: "
 msgstr "Unable to get pending error: "
 
-#: ../gio/gsocket.c:2817
+#: ../gio/gsocket.c:2827
 #, c-format
 msgid "Error receiving data: %s"
 msgstr "Error receiving data: %s"
 
-#: ../gio/gsocket.c:3012
+#: ../gio/gsocket.c:3022
 #, c-format
 msgid "Error sending data: %s"
 msgstr "Error sending data: %s"
 
-#: ../gio/gsocket.c:3199
+#: ../gio/gsocket.c:3209
 #, c-format
 msgid "Unable to shutdown socket: %s"
 msgstr "Unable to shutdown socket: %s"
 
-#: ../gio/gsocket.c:3280
+#: ../gio/gsocket.c:3290
 #, c-format
 msgid "Error closing socket: %s"
 msgstr "Error closing socket: %s"
 
-#: ../gio/gsocket.c:3932
+#: ../gio/gsocket.c:3942
 #, c-format
 msgid "Waiting for socket condition: %s"
 msgstr "Waiting for socket condition: %s"
 
-#: ../gio/gsocket.c:4404 ../gio/gsocket.c:4484 ../gio/gsocket.c:4662
+#: ../gio/gsocket.c:4414 ../gio/gsocket.c:4494 ../gio/gsocket.c:4672
 #, c-format
 msgid "Error sending message: %s"
 msgstr "Error sending message: %s"
 
-#: ../gio/gsocket.c:4428
+#: ../gio/gsocket.c:4438
 msgid "GSocketControlMessage not supported on Windows"
 msgstr "GSocketControlMessage not supported on Windows"
 
-#: ../gio/gsocket.c:4881 ../gio/gsocket.c:4954 ../gio/gsocket.c:5180
+#: ../gio/gsocket.c:4891 ../gio/gsocket.c:4964 ../gio/gsocket.c:5190
 #, c-format
 msgid "Error receiving message: %s"
 msgstr "Error receiving message: %s"
 
-#: ../gio/gsocket.c:5452
+#: ../gio/gsocket.c:5462
 #, c-format
 msgid "Unable to read socket credentials: %s"
 msgstr "Unable to read socket credentials: %s"
 
-#: ../gio/gsocket.c:5461
+#: ../gio/gsocket.c:5471
 msgid "g_socket_get_credentials not implemented for this OS"
 msgstr "g_socket_get_credentials not implemented for this OS"
 
@@ -3781,15 +3746,17 @@ msgstr ""
 "This is the last chance to enter the password correctly before your access "
 "is locked out."
 
-#: ../gio/gtlspassword.c:113
+#. Translators: This is not the 'This is the last chance' string. It is
+#. * displayed when more than one attempt is allowed.
+#: ../gio/gtlspassword.c:115
 msgid ""
-"Several password entered have been incorrect, and your access will be locked "
-"out after further failures."
+"Several passwords entered have been incorrect, and your access will be "
+"locked out after further failures."
 msgstr ""
-"Several password entered have been incorrect, and your access will be locked "
-"out after further failures."
+"Several passwords entered have been incorrect, and your access will be "
+"locked out after further failures."
 
-#: ../gio/gtlspassword.c:115
+#: ../gio/gtlspassword.c:117
 msgid "The password entered is incorrect."
 msgstr "The password entered is incorrect."
 
@@ -3856,7 +3823,7 @@ msgstr "Error reading from file descriptor: %s"
 msgid "Error closing file descriptor: %s"
 msgstr "Error closing file descriptor: %s"
 
-#: ../gio/gunixmounts.c:2429 ../gio/gunixmounts.c:2482
+#: ../gio/gunixmounts.c:2422 ../gio/gunixmounts.c:2475
 msgid "Filesystem root"
 msgstr "Filesystem root"
 
@@ -4007,8 +3974,8 @@ msgstr "No application with name “%s” registered a bookmark for “%s”"
 msgid "Failed to expand exec line “%s” with URI “%s”"
 msgstr "Failed to expand exec line “%s” with URI “%s”"
 
-#: ../glib/gconvert.c:477 ../glib/gutf8.c:852 ../glib/gutf8.c:1064
-#: ../glib/gutf8.c:1201 ../glib/gutf8.c:1305
+#: ../glib/gconvert.c:477 ../glib/gutf8.c:862 ../glib/gutf8.c:1074
+#: ../glib/gutf8.c:1211 ../glib/gutf8.c:1315
 msgid "Partial character sequence at end of input"
 msgstr "Partial character sequence at end of input"
 
@@ -4017,340 +3984,340 @@ msgstr "Partial character sequence at end of input"
 msgid "Cannot convert fallback “%s” to codeset “%s”"
 msgstr "Cannot convert fallback “%s” to codeset “%s”"
 
-#: ../glib/gconvert.c:1566
+#: ../glib/gconvert.c:1513
 #, c-format
 msgid "The URI “%s” is not an absolute URI using the “file” scheme"
 msgstr "The URI “%s” is not an absolute URI using the “file” scheme"
 
-#: ../glib/gconvert.c:1576
+#: ../glib/gconvert.c:1523
 #, c-format
 msgid "The local file URI “%s” may not include a “#”"
 msgstr "The local file URI “%s” may not include a “#”"
 
-#: ../glib/gconvert.c:1593
+#: ../glib/gconvert.c:1540
 #, c-format
 msgid "The URI “%s” is invalid"
 msgstr "The URI “%s” is invalid"
 
-#: ../glib/gconvert.c:1605
+#: ../glib/gconvert.c:1552
 #, c-format
 msgid "The hostname of the URI “%s” is invalid"
 msgstr "The hostname of the URI “%s” is invalid"
 
-#: ../glib/gconvert.c:1621
+#: ../glib/gconvert.c:1568
 #, c-format
 msgid "The URI “%s” contains invalidly escaped characters"
 msgstr "The URI “%s” contains invalidly escaped characters"
 
-#: ../glib/gconvert.c:1716
+#: ../glib/gconvert.c:1640
 #, c-format
 msgid "The pathname “%s” is not an absolute path"
 msgstr "The pathname “%s” is not an absolute path"
 
-#. Translators: 'before midday' indicator
-#: ../glib/gdatetime.c:199
-msgctxt "GDateTime"
-msgid "AM"
-msgstr "AM"
-
-#. Translators: 'after midday' indicator
-#: ../glib/gdatetime.c:201
-msgctxt "GDateTime"
-msgid "PM"
-msgstr "PM"
-
 #. Translators: this is the preferred format for expressing the date and the time
-#: ../glib/gdatetime.c:204
+#: ../glib/gdatetime.c:202
 msgctxt "GDateTime"
 msgid "%a %b %e %H:%M:%S %Y"
 msgstr "%Z %H:%M:%S %Y %b %d %a"
 
 #. Translators: this is the preferred format for expressing the date
-#: ../glib/gdatetime.c:207
+#: ../glib/gdatetime.c:205
 msgctxt "GDateTime"
 msgid "%m/%d/%y"
 msgstr "%d/%m/%y"
 
 #. Translators: this is the preferred format for expressing the time
-#: ../glib/gdatetime.c:210
+#: ../glib/gdatetime.c:208
 msgctxt "GDateTime"
 msgid "%H:%M:%S"
 msgstr "%H:%M:%S"
 
 #. Translators: this is the preferred format for expressing 12 hour time
-#: ../glib/gdatetime.c:213
+#: ../glib/gdatetime.c:211
 msgctxt "GDateTime"
 msgid "%I:%M:%S %p"
 msgstr "%I:%M:%S %P"
 
-#: ../glib/gdatetime.c:226
+#: ../glib/gdatetime.c:224
 msgctxt "full month name"
 msgid "January"
 msgstr "ינואר"
 
-#: ../glib/gdatetime.c:228
+#: ../glib/gdatetime.c:226
 msgctxt "full month name"
 msgid "February"
 msgstr "פברואר"
 
-#: ../glib/gdatetime.c:230
+#: ../glib/gdatetime.c:228
 msgctxt "full month name"
 msgid "March"
 msgstr "מרץ"
 
-#: ../glib/gdatetime.c:232
+#: ../glib/gdatetime.c:230
 msgctxt "full month name"
 msgid "April"
 msgstr "אפריל"
 
-#: ../glib/gdatetime.c:234
+#: ../glib/gdatetime.c:232
 msgctxt "full month name"
 msgid "May"
 msgstr "מאי"
 
-#: ../glib/gdatetime.c:236
+#: ../glib/gdatetime.c:234
 msgctxt "full month name"
 msgid "June"
 msgstr "יוני"
 
-#: ../glib/gdatetime.c:238
+#: ../glib/gdatetime.c:236
 msgctxt "full month name"
 msgid "July"
 msgstr "יולי"
 
-#: ../glib/gdatetime.c:240
+#: ../glib/gdatetime.c:238
 msgctxt "full month name"
 msgid "August"
 msgstr "אוגוסט"
 
-#: ../glib/gdatetime.c:242
+#: ../glib/gdatetime.c:240
 msgctxt "full month name"
 msgid "September"
 msgstr "ספטמבר"
 
-#: ../glib/gdatetime.c:244
+#: ../glib/gdatetime.c:242
 msgctxt "full month name"
 msgid "October"
 msgstr "אוקטובר"
 
-#: ../glib/gdatetime.c:246
+#: ../glib/gdatetime.c:244
 msgctxt "full month name"
 msgid "November"
 msgstr "נובמבר"
 
-#: ../glib/gdatetime.c:248
+#: ../glib/gdatetime.c:246
 msgctxt "full month name"
 msgid "December"
 msgstr "דצמבר"
 
-#: ../glib/gdatetime.c:263
+#: ../glib/gdatetime.c:261
 msgctxt "abbreviated month name"
 msgid "Jan"
 msgstr "ינו"
 
-#: ../glib/gdatetime.c:265
+#: ../glib/gdatetime.c:263
 msgctxt "abbreviated month name"
 msgid "Feb"
 msgstr "פבר"
 
-#: ../glib/gdatetime.c:267
+#: ../glib/gdatetime.c:265
 msgctxt "abbreviated month name"
 msgid "Mar"
 msgstr "מרץ"
 
-#: ../glib/gdatetime.c:269
+#: ../glib/gdatetime.c:267
 msgctxt "abbreviated month name"
 msgid "Apr"
 msgstr "אפר"
 
-#: ../glib/gdatetime.c:271
+#: ../glib/gdatetime.c:269
 msgctxt "abbreviated month name"
 msgid "May"
 msgstr "מאי"
 
-#: ../glib/gdatetime.c:273
+#: ../glib/gdatetime.c:271
 msgctxt "abbreviated month name"
 msgid "Jun"
 msgstr "יונ"
 
-#: ../glib/gdatetime.c:275
+#: ../glib/gdatetime.c:273
 msgctxt "abbreviated month name"
 msgid "Jul"
 msgstr "יול"
 
-#: ../glib/gdatetime.c:277
+#: ../glib/gdatetime.c:275
 msgctxt "abbreviated month name"
 msgid "Aug"
 msgstr "אוג"
 
-#: ../glib/gdatetime.c:279
+#: ../glib/gdatetime.c:277
 msgctxt "abbreviated month name"
 msgid "Sep"
 msgstr "ספט"
 
-#: ../glib/gdatetime.c:281
+#: ../glib/gdatetime.c:279
 msgctxt "abbreviated month name"
 msgid "Oct"
 msgstr "אוק"
 
-#: ../glib/gdatetime.c:283
+#: ../glib/gdatetime.c:281
 msgctxt "abbreviated month name"
 msgid "Nov"
 msgstr "נוב"
 
-#: ../glib/gdatetime.c:285
+#: ../glib/gdatetime.c:283
 msgctxt "abbreviated month name"
 msgid "Dec"
 msgstr "דצמ"
 
-#: ../glib/gdatetime.c:300
+#: ../glib/gdatetime.c:298
 msgctxt "full weekday name"
 msgid "Monday"
 msgstr "יום שני"
 
-#: ../glib/gdatetime.c:302
+#: ../glib/gdatetime.c:300
 msgctxt "full weekday name"
 msgid "Tuesday"
 msgstr "יום שלישי"
 
-#: ../glib/gdatetime.c:304
+#: ../glib/gdatetime.c:302
 msgctxt "full weekday name"
 msgid "Wednesday"
 msgstr "יום רביעי"
 
-#: ../glib/gdatetime.c:306
+#: ../glib/gdatetime.c:304
 msgctxt "full weekday name"
 msgid "Thursday"
 msgstr "יום חמישי"
 
-#: ../glib/gdatetime.c:308
+#: ../glib/gdatetime.c:306
 msgctxt "full weekday name"
 msgid "Friday"
 msgstr "יום שישי"
 
-#: ../glib/gdatetime.c:310
+#: ../glib/gdatetime.c:308
 msgctxt "full weekday name"
 msgid "Saturday"
 msgstr "שבת"
 
-#: ../glib/gdatetime.c:312
+#: ../glib/gdatetime.c:310
 msgctxt "full weekday name"
 msgid "Sunday"
 msgstr "יום ראשון"
 
-#: ../glib/gdatetime.c:327
+#: ../glib/gdatetime.c:325
 msgctxt "abbreviated weekday name"
 msgid "Mon"
 msgstr "ב׳"
 
-#: ../glib/gdatetime.c:329
+#: ../glib/gdatetime.c:327
 msgctxt "abbreviated weekday name"
 msgid "Tue"
 msgstr "ג׳"
 
-#: ../glib/gdatetime.c:331
+#: ../glib/gdatetime.c:329
 msgctxt "abbreviated weekday name"
 msgid "Wed"
 msgstr "ד׳"
 
-#: ../glib/gdatetime.c:333
+#: ../glib/gdatetime.c:331
 msgctxt "abbreviated weekday name"
 msgid "Thu"
 msgstr "ה"
 
-#: ../glib/gdatetime.c:335
+#: ../glib/gdatetime.c:333
 msgctxt "abbreviated weekday name"
 msgid "Fri"
 msgstr "ו׳"
 
-#: ../glib/gdatetime.c:337
+#: ../glib/gdatetime.c:335
 msgctxt "abbreviated weekday name"
 msgid "Sat"
 msgstr "ש׳"
 
-#: ../glib/gdatetime.c:339
+#: ../glib/gdatetime.c:337
 msgctxt "abbreviated weekday name"
 msgid "Sun"
 msgstr "א׳"
 
+#. Translators: 'before midday' indicator
+#: ../glib/gdatetime.c:354
+msgctxt "GDateTime"
+msgid "AM"
+msgstr "AM"
+
+#. Translators: 'after midday' indicator
+#: ../glib/gdatetime.c:357
+msgctxt "GDateTime"
+msgid "PM"
+msgstr "PM"
+
 #: ../glib/gdir.c:155
 #, c-format
 msgid "Error opening directory “%s”: %s"
 msgstr "Error opening directory “%s”: %s"
 
-#: ../glib/gfileutils.c:700 ../glib/gfileutils.c:792
+#: ../glib/gfileutils.c:706 ../glib/gfileutils.c:798
 #, c-format
 msgid "Could not allocate %lu byte to read file “%s”"
 msgid_plural "Could not allocate %lu bytes to read file “%s”"
 msgstr[0] "Could not allocate %lu bytes to read file “%s”"
 msgstr[1] "Could not allocate %lu bytes to read file \"%s\""
 
-#: ../glib/gfileutils.c:717
+#: ../glib/gfileutils.c:723
 #, c-format
 msgid "Error reading file “%s”: %s"
 msgstr "Error reading file “%s”: %s"
 
-#: ../glib/gfileutils.c:753
+#: ../glib/gfileutils.c:759
 #, c-format
 msgid "File “%s” is too large"
 msgstr "File “%s” is too large"
 
-#: ../glib/gfileutils.c:817
+#: ../glib/gfileutils.c:823
 #, c-format
 msgid "Failed to read from file “%s”: %s"
 msgstr "Failed to read from file “%s”: %s"
 
-#: ../glib/gfileutils.c:865 ../glib/gfileutils.c:937
+#: ../glib/gfileutils.c:871 ../glib/gfileutils.c:943
 #, c-format
 msgid "Failed to open file “%s”: %s"
 msgstr "Failed to open file “%s”: %s"
 
-#: ../glib/gfileutils.c:877
+#: ../glib/gfileutils.c:883
 #, c-format
 msgid "Failed to get attributes of file “%s”: fstat() failed: %s"
 msgstr "Failed to get attributes of file “%s”: fstat() failed: %s"
 
-#: ../glib/gfileutils.c:907
+#: ../glib/gfileutils.c:913
 #, c-format
 msgid "Failed to open file “%s”: fdopen() failed: %s"
 msgstr "Failed to open file “%s”: fdopen() failed: %s"
 
-#: ../glib/gfileutils.c:1006
+#: ../glib/gfileutils.c:1012
 #, c-format
 msgid "Failed to rename file “%s” to “%s”: g_rename() failed: %s"
 msgstr "Failed to rename file “%s” to “%s”: g_rename() failed: %s"
 
-#: ../glib/gfileutils.c:1041 ../glib/gfileutils.c:1548
+#: ../glib/gfileutils.c:1047 ../glib/gfileutils.c:1554
 #, c-format
 msgid "Failed to create file “%s”: %s"
 msgstr "Failed to create file “%s”: %s"
 
-#: ../glib/gfileutils.c:1068
+#: ../glib/gfileutils.c:1074
 #, c-format
 msgid "Failed to write file “%s”: write() failed: %s"
 msgstr "Failed to write file “%s”: write() failed: %s"
 
-#: ../glib/gfileutils.c:1111
+#: ../glib/gfileutils.c:1117
 #, c-format
 msgid "Failed to write file “%s”: fsync() failed: %s"
 msgstr "Failed to write file “%s”: fsync() failed: %s"
 
-#: ../glib/gfileutils.c:1235
+#: ../glib/gfileutils.c:1241
 #, c-format
 msgid "Existing file “%s” could not be removed: g_unlink() failed: %s"
 msgstr "Existing file “%s” could not be removed: g_unlink() failed: %s"
 
-#: ../glib/gfileutils.c:1514
+#: ../glib/gfileutils.c:1520
 #, c-format
 msgid "Template “%s” invalid, should not contain a “%s”"
 msgstr "Template “%s” invalid, should not contain a “%s”"
 
-#: ../glib/gfileutils.c:1527
+#: ../glib/gfileutils.c:1533
 #, c-format
 msgid "Template “%s” doesn’t contain XXXXXX"
 msgstr "Template “%s” doesn’t contain XXXXXX"
 
-#: ../glib/gfileutils.c:2052
+#: ../glib/gfileutils.c:2058
 #, c-format
 msgid "Failed to read the symbolic link “%s”: %s"
 msgstr "Failed to read the symbolic link “%s”: %s"
@@ -5146,77 +5113,77 @@ msgstr "Text ended before matching quote was found for %c. (The text was “%s
 msgid "Text was empty (or contained only whitespace)"
 msgstr "Text was empty (or contained only whitespace)"
 
-#: ../glib/gspawn.c:207
+#: ../glib/gspawn.c:250
 #, c-format
 msgid "Failed to read data from child process (%s)"
 msgstr "Failed to read data from child process (%s)"
 
-#: ../glib/gspawn.c:351
+#: ../glib/gspawn.c:394
 #, c-format
 msgid "Unexpected error in select() reading data from a child process (%s)"
 msgstr "Unexpected error in select() reading data from a child process (%s)"
 
-#: ../glib/gspawn.c:436
+#: ../glib/gspawn.c:479
 #, c-format
 msgid "Unexpected error in waitpid() (%s)"
 msgstr "Unexpected error in waitpid() (%s)"
 
-#: ../glib/gspawn.c:842 ../glib/gspawn-win32.c:1231
+#: ../glib/gspawn.c:886 ../glib/gspawn-win32.c:1231
 #, c-format
 msgid "Child process exited with code %ld"
 msgstr "Child process exited with code %ld"
 
-#: ../glib/gspawn.c:850
+#: ../glib/gspawn.c:894
 #, c-format
 msgid "Child process killed by signal %ld"
 msgstr "Child process killed by signal %ld"
 
-#: ../glib/gspawn.c:857
+#: ../glib/gspawn.c:901
 #, c-format
 msgid "Child process stopped by signal %ld"
 msgstr "Child process stopped by signal %ld"
 
-#: ../glib/gspawn.c:864
+#: ../glib/gspawn.c:908
 #, c-format
 msgid "Child process exited abnormally"
 msgstr "Child process exited abnormally"
 
-#: ../glib/gspawn.c:1269 ../glib/gspawn-win32.c:337 ../glib/gspawn-win32.c:345
+#: ../glib/gspawn.c:1313 ../glib/gspawn-win32.c:337 ../glib/gspawn-win32.c:345
 #, c-format
 msgid "Failed to read from child pipe (%s)"
 msgstr "Failed to read from child pipe (%s)"
 
-#: ../glib/gspawn.c:1339
+#: ../glib/gspawn.c:1383
 #, c-format
 msgid "Failed to fork (%s)"
 msgstr "Failed to fork (%s)"
 
-#: ../glib/gspawn.c:1488 ../glib/gspawn-win32.c:368
+#: ../glib/gspawn.c:1532 ../glib/gspawn-win32.c:368
 #, c-format
 msgid "Failed to change to directory “%s” (%s)"
 msgstr "Failed to change to directory “%s” (%s)"
 
-#: ../glib/gspawn.c:1498
+#: ../glib/gspawn.c:1542
 #, c-format
 msgid "Failed to execute child process “%s” (%s)"
 msgstr "Failed to execute child process “%s” (%s)"
 
-#: ../glib/gspawn.c:1508
+#: ../glib/gspawn.c:1552
 #, c-format
 msgid "Failed to redirect output or input of child process (%s)"
 msgstr "Failed to redirect output or input of child process (%s)"
 
-#: ../glib/gspawn.c:1517
+#: ../glib/gspawn.c:1561
 #, c-format
 msgid "Failed to fork child process (%s)"
 msgstr "Failed to fork child process (%s)"
 
-#: ../glib/gspawn.c:1525
+#: ../glib/gspawn.c:1569
 #, c-format
 msgid "Unknown error executing child process “%s”"
 msgstr "Unknown error executing child process “%s”"
 
-#: ../glib/gspawn.c:1549
+#: ../glib/gspawn.c:1593
 #, c-format
 msgid "Failed to read enough data from child pid pipe (%s)"
 msgstr "Failed to read enough data from child pid pipe (%s)"
@@ -5241,18 +5208,16 @@ msgid "Invalid program name: %s"
 msgstr "Invalid program name: %s"
 
 #: ../glib/gspawn-win32.c:453 ../glib/gspawn-win32.c:720
-#: ../glib/gspawn-win32.c:1295
 #, c-format
 msgid "Invalid string in argument vector at %d: %s"
 msgstr "Invalid string in argument vector at %d: %s"
 
 #: ../glib/gspawn-win32.c:464 ../glib/gspawn-win32.c:735
-#: ../glib/gspawn-win32.c:1328
 #, c-format
 msgid "Invalid string in environment: %s"
 msgstr "Invalid string in environment: %s"
 
-#: ../glib/gspawn-win32.c:716 ../glib/gspawn-win32.c:1276
+#: ../glib/gspawn-win32.c:716
 #, c-format
 msgid "Invalid working directory: %s"
 msgstr "Invalid working directory: %s"
@@ -5270,92 +5235,111 @@ msgstr ""
 "Unexpected error in g_io_channel_win32_poll() reading data from a child "
 "process"
 
-#: ../glib/gutf8.c:798
+#: ../glib/gstrfuncs.c:3237 ../glib/gstrfuncs.c:3338
+msgid "Empty string is not a number"
+msgstr "Empty string is not a number"
+
+#: ../glib/gstrfuncs.c:3261
+#, c-format
+msgid "“%s” is not a signed number"
+msgstr "“%s” is not a signed number"
+
+#: ../glib/gstrfuncs.c:3271 ../glib/gstrfuncs.c:3374
+#, c-format
+msgid "Number “%s” is out of bounds [%s, %s]"
+msgstr "Number “%s” is out of bounds [%s, %s]"
+
+#: ../glib/gstrfuncs.c:3364
+#, c-format
+msgid "“%s” is not an unsigned number"
+msgstr "“%s” is not an unsigned number"
+
+#: ../glib/gutf8.c:808
 msgid "Failed to allocate memory"
 msgstr "Failed to allocate memory"
 
-#: ../glib/gutf8.c:931
+#: ../glib/gutf8.c:941
 msgid "Character out of range for UTF-8"
 msgstr "Character out of range for UTF-8"
 
-#: ../glib/gutf8.c:1032 ../glib/gutf8.c:1041 ../glib/gutf8.c:1171
-#: ../glib/gutf8.c:1180 ../glib/gutf8.c:1319 ../glib/gutf8.c:1416
+#: ../glib/gutf8.c:1042 ../glib/gutf8.c:1051 ../glib/gutf8.c:1181
+#: ../glib/gutf8.c:1190 ../glib/gutf8.c:1329 ../glib/gutf8.c:1426
 msgid "Invalid sequence in conversion input"
 msgstr "Invalid sequence in conversion input"
 
-#: ../glib/gutf8.c:1330 ../glib/gutf8.c:1427
+#: ../glib/gutf8.c:1340 ../glib/gutf8.c:1437
 msgid "Character out of range for UTF-16"
 msgstr "Character out of range for UTF-16"
 
-#: ../glib/gutils.c:2139 ../glib/gutils.c:2166 ../glib/gutils.c:2272
+#: ../glib/gutils.c:2147 ../glib/gutils.c:2174 ../glib/gutils.c:2280
 #, c-format
 msgid "%u byte"
 msgid_plural "%u bytes"
 msgstr[0] "בית אחד"
 msgstr[1] "%u בתים"
 
-#: ../glib/gutils.c:2145
+#: ../glib/gutils.c:2153
 #, c-format
 msgid "%.1f KiB"
 msgstr "%.1f KiB"
 
-#: ../glib/gutils.c:2147
+#: ../glib/gutils.c:2155
 #, c-format
 msgid "%.1f MiB"
 msgstr "%.1f MiB"
 
-#: ../glib/gutils.c:2150
+#: ../glib/gutils.c:2158
 #, c-format
 msgid "%.1f GiB"
 msgstr "%.1f GiB"
 
-#: ../glib/gutils.c:2153
+#: ../glib/gutils.c:2161
 #, c-format
 msgid "%.1f TiB"
 msgstr "%.1f TiB"
 
-#: ../glib/gutils.c:2156
+#: ../glib/gutils.c:2164
 #, c-format
 msgid "%.1f PiB"
 msgstr "%.1f PiB"
 
-#: ../glib/gutils.c:2159
+#: ../glib/gutils.c:2167
 #, c-format
 msgid "%.1f EiB"
 msgstr "%.1f EiB"
 
-#: ../glib/gutils.c:2172
+#: ../glib/gutils.c:2180
 #, c-format
 msgid "%.1f kB"
 msgstr "%.1f ק״ב"
 
-#: ../glib/gutils.c:2175 ../glib/gutils.c:2290
+#: ../glib/gutils.c:2183 ../glib/gutils.c:2298
 #, c-format
 msgid "%.1f MB"
 msgstr "%.1f מ״ב"
 
-#: ../glib/gutils.c:2178 ../glib/gutils.c:2295
+#: ../glib/gutils.c:2186 ../glib/gutils.c:2303
 #, c-format
 msgid "%.1f GB"
 msgstr "%.1f ג״ב"
 
-#: ../glib/gutils.c:2180 ../glib/gutils.c:2300
+#: ../glib/gutils.c:2188 ../glib/gutils.c:2308
 #, c-format
 msgid "%.1f TB"
 msgstr "%.1f ט״ב"
 
-#: ../glib/gutils.c:2183 ../glib/gutils.c:2305
+#: ../glib/gutils.c:2191 ../glib/gutils.c:2313
 #, c-format
 msgid "%.1f PB"
 msgstr "%.1f פ״ב"
 
-#: ../glib/gutils.c:2186 ../glib/gutils.c:2310
+#: ../glib/gutils.c:2194 ../glib/gutils.c:2318
 #, c-format
 msgid "%.1f EB"
 msgstr "%.1f א״ב"
 
 #. Translators: the %s in "%s bytes" will always be replaced by a number.
-#: ../glib/gutils.c:2223
+#: ../glib/gutils.c:2231
 #, c-format
 msgid "%s byte"
 msgid_plural "%s bytes"
@@ -5367,11 +5351,41 @@ msgstr[1] "%s בתים"
 #. * compatibility.  Users will not see this string unless a program is using this deprecated function.
 #. * Please translate as literally as possible.
 #.
-#: ../glib/gutils.c:2285
+#: ../glib/gutils.c:2293
 #, c-format
 msgid "%.1f KB"
 msgstr "%.1f ק״ב"
 
+#~ msgid "No files given"
+#~ msgstr "No files given"
+
+#~ msgid "Error getting writable attributes: %s\n"
+#~ msgstr "Error getting writable attributes: %s\n"
+
+#~ msgid "Error mounting location: %s\n"
+#~ msgstr "Error mounting location: %s\n"
+
+#~ msgid "Error unmounting mount: %s\n"
+#~ msgstr "Error unmounting mount: %s\n"
+
+#~ msgid "Error finding enclosing mount: %s\n"
+#~ msgstr "Error finding enclosing mount: %s\n"
+
+#~ msgid "Error ejecting mount: %s\n"
+#~ msgstr "Error ejecting mount: %s\n"
+
+#~ msgid "Error mounting %s: %s\n"
+#~ msgstr "Error mounting %s: %s\n"
+
+#~ msgid "No files to open"
+#~ msgstr "No files to open"
+
+#~ msgid "No files to delete"
+#~ msgstr "No files to delete"
+
+#~ msgid "Error setting attribute: %s\n"
+#~ msgstr "Error setting attribute: %s\n"
+
 #~ msgid "No such interface"
 #~ msgstr "No such interface"
 
index 4623150..de3ddb4 100644 (file)
@@ -146,16 +146,12 @@ endif
 
 EXTRA_DIST += \
        $(test_scripts)                         \
-       makefile.msc.in                         \
        gen-casefold-txt.pl                     \
        gen-casemap-txt.pl                      \
        iochannel-test-infile                   \
        timeloop-basic.c                        \
        assert-msg-test.gdb
 
-BUILT_EXTRA_DIST +=                            \
-       makefile.msc
-
 DISTCLEANFILES +=              \
        iochannel-test-outfile  \
        file-test-get-contents  \
index 6964d69..472a1e6 100644 (file)
@@ -158,7 +158,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = makefile.msc
+CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -709,9 +709,8 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
        $(TEST_LOG_FLAGS)
 DIST_SUBDIRS = $(SUBDIRS)
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/makefile.msc.in \
-       $(top_srcdir)/depcomp $(top_srcdir)/glib.mk \
-       $(top_srcdir)/test-driver
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+       $(top_srcdir)/glib.mk $(top_srcdir)/test-driver
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -992,15 +991,14 @@ NULL =
 
 # initialize variables for unconditional += appending
 BUILT_SOURCES = 
-BUILT_EXTRA_DIST = makefile.msc
+BUILT_EXTRA_DIST = 
 CLEANFILES = *.log *.trs $(am__append_14)
 DISTCLEANFILES = iochannel-test-outfile file-test-get-contents maptest \
        mapchild collate.out
 MAINTAINERCLEANFILES = 
 EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
-       $(test_scripts) makefile.msc.in gen-casefold-txt.pl \
-       gen-casemap-txt.pl iochannel-test-infile timeloop-basic.c \
-       assert-msg-test.gdb
+       $(test_scripts) gen-casefold-txt.pl gen-casemap-txt.pl \
+       iochannel-test-infile timeloop-basic.c assert-msg-test.gdb
 
 # We support a fairly large range of possible variables.  It is expected that all types of files in a test suite
 # will belong in exactly one of the following variables.
@@ -1178,8 +1176,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-makefile.msc: $(top_builddir)/config.status $(srcdir)/makefile.msc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 clean-checkLTLIBRARIES:
        -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES)
index 0deafa4..f7b47ab 100644 (file)
@@ -1,4 +1,4 @@
-# Test cases generated from Unicode 9.0.0 data
+# Test cases generated from Unicode 10.0.0 data
 # by gen-casefold-test.pl. Do not edit.
 #
 # Some special hand crafted tests
index 9164757..5e983f7 100644 (file)
@@ -1,4 +1,4 @@
-# Test cases generated from Unicode 9.0.0 data
+# Test cases generated from Unicode 10.0.0 data
 # by gen-case-tests.pl. Do not edit.
 #
 # Some special hand crafted tests
index 2869dd5..01e00bf 100644 (file)
@@ -1,7 +1,5 @@
 #include "testmarshal.h"
-
-#include       <glib-object.h>
-
+#include <glib-object.h>
 
 #ifdef G_ENABLE_DEBUG
 #define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
 #define g_marshal_value_peek_variant(v)  (v)->data[0].v_pointer
 #endif /* !G_ENABLE_DEBUG */
 
-
 /* BOOLEAN:INT (./testmarshal.list:2) */
-extern void test_marshal_BOOLEAN__INT (GClosure     *closure,
-                                       GValue       *return_value,
-                                       guint         n_param_values,
-                                       const GValue *param_values,
-                                       gpointer      invocation_hint,
-                                       gpointer      marshal_data);
 void
 test_marshal_BOOLEAN__INT (GClosure     *closure,
                            GValue       *return_value,
@@ -65,12 +56,12 @@ test_marshal_BOOLEAN__INT (GClosure     *closure,
                            gpointer      invocation_hint G_GNUC_UNUSED,
                            gpointer      marshal_data)
 {
-  typedef gboolean (*GMarshalFunc_BOOLEAN__INT) (gpointer     data1,
-                                                 gint         arg_1,
-                                                 gpointer     data2);
-  GMarshalFunc_BOOLEAN__INT callback;
-  GCClosure *cc = (GCClosure*) closure;
+  typedef gboolean (*GMarshalFunc_BOOLEAN__INT) (gpointer data1,
+                                                 gint arg1,
+                                                 gpointer data2);
+  GCClosure *cc = (GCClosure *) closure;
   gpointer data1, data2;
+  GMarshalFunc_BOOLEAN__INT callback;
   gboolean v_return;
 
   g_return_if_fail (return_value != NULL);
@@ -96,12 +87,6 @@ test_marshal_BOOLEAN__INT (GClosure     *closure,
 }
 
 /* STRING:INT (./testmarshal.list:3) */
-extern void test_marshal_STRING__INT (GClosure     *closure,
-                                      GValue       *return_value,
-                                      guint         n_param_values,
-                                      const GValue *param_values,
-                                      gpointer      invocation_hint,
-                                      gpointer      marshal_data);
 void
 test_marshal_STRING__INT (GClosure     *closure,
                           GValue       *return_value,
@@ -110,12 +95,12 @@ test_marshal_STRING__INT (GClosure     *closure,
                           gpointer      invocation_hint G_GNUC_UNUSED,
                           gpointer      marshal_data)
 {
-  typedef gchar* (*GMarshalFunc_STRING__INT) (gpointer     data1,
-                                              gint         arg_1,
-                                              gpointer     data2);
-  GMarshalFunc_STRING__INT callback;
-  GCClosure *cc = (GCClosure*) closure;
+  typedef gchar* (*GMarshalFunc_STRING__INT) (gpointer data1,
+                                              gint arg1,
+                                              gpointer data2);
+  GCClosure *cc = (GCClosure *) closure;
   gpointer data1, data2;
+  GMarshalFunc_STRING__INT callback;
   gchar* v_return;
 
   g_return_if_fail (return_value != NULL);
@@ -141,12 +126,6 @@ test_marshal_STRING__INT (GClosure     *closure,
 }
 
 /* VARIANT:POINTER (./testmarshal.list:4) */
-extern void test_marshal_VARIANT__POINTER (GClosure     *closure,
-                                           GValue       *return_value,
-                                           guint         n_param_values,
-                                           const GValue *param_values,
-                                           gpointer      invocation_hint,
-                                           gpointer      marshal_data);
 void
 test_marshal_VARIANT__POINTER (GClosure     *closure,
                                GValue       *return_value,
@@ -155,12 +134,12 @@ test_marshal_VARIANT__POINTER (GClosure     *closure,
                                gpointer      invocation_hint G_GNUC_UNUSED,
                                gpointer      marshal_data)
 {
-  typedef GVariant* (*GMarshalFunc_VARIANT__POINTER) (gpointer     data1,
-                                                      gpointer     arg_1,
-                                                      gpointer     data2);
-  GMarshalFunc_VARIANT__POINTER callback;
-  GCClosure *cc = (GCClosure*) closure;
+  typedef GVariant* (*GMarshalFunc_VARIANT__POINTER) (gpointer data1,
+                                                      gpointer arg1,
+                                                      gpointer data2);
+  GCClosure *cc = (GCClosure *) closure;
   gpointer data1, data2;
+  GMarshalFunc_VARIANT__POINTER callback;
   GVariant* v_return;
 
   g_return_if_fail (return_value != NULL);
index 183e6d6..3ece36f 100644 (file)
@@ -1,36 +1,39 @@
+/* This file is generated, all changes will be lost */
+#ifndef __TEST_MARSHAL_MARSHAL_H__
+#define __TEST_MARSHAL_MARSHAL_H__
 
-#ifndef __test_marshal_MARSHAL_H__
-#define __test_marshal_MARSHAL_H__
-
-#include       <glib-object.h>
+#include <glib-object.h>
 
 G_BEGIN_DECLS
 
 /* BOOLEAN:INT (./testmarshal.list:2) */
-extern void test_marshal_BOOLEAN__INT (GClosure     *closure,
-                                       GValue       *return_value,
-                                       guint         n_param_values,
-                                       const GValue *param_values,
-                                       gpointer      invocation_hint,
-                                       gpointer      marshal_data);
+extern
+void test_marshal_BOOLEAN__INT (GClosure     *closure,
+                                GValue       *return_value,
+                                guint         n_param_values,
+                                const GValue *param_values,
+                                gpointer      invocation_hint,
+                                gpointer      marshal_data);
 
 /* STRING:INT (./testmarshal.list:3) */
-extern void test_marshal_STRING__INT (GClosure     *closure,
-                                      GValue       *return_value,
-                                      guint         n_param_values,
-                                      const GValue *param_values,
-                                      gpointer      invocation_hint,
-                                      gpointer      marshal_data);
+extern
+void test_marshal_STRING__INT (GClosure     *closure,
+                               GValue       *return_value,
+                               guint         n_param_values,
+                               const GValue *param_values,
+                               gpointer      invocation_hint,
+                               gpointer      marshal_data);
 
 /* VARIANT:POINTER (./testmarshal.list:4) */
-extern void test_marshal_VARIANT__POINTER (GClosure     *closure,
-                                           GValue       *return_value,
-                                           guint         n_param_values,
-                                           const GValue *param_values,
-                                           gpointer      invocation_hint,
-                                           gpointer      marshal_data);
+extern
+void test_marshal_VARIANT__POINTER (GClosure     *closure,
+                                    GValue       *return_value,
+                                    guint         n_param_values,
+                                    const GValue *param_values,
+                                    gpointer      invocation_hint,
+                                    gpointer      marshal_data);
 
-G_END_DECLS
 
-#endif /* __test_marshal_MARSHAL_H__ */
+G_END_DECLS
 
+#endif /* __TEST_MARSHAL_MARSHAL_H__ */
diff --git a/tests/makefile.msc b/tests/makefile.msc
deleted file mode 100644 (file)
index f87c58f..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-## Makefile for building the GLib test programs with Microsoft C
-## Use: nmake -f makefile.msc check
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I ..\glib -I ..\gmodule
-DEFINES = -DHAVE_CONFIG_H -DENABLE_REGEX
-
-NONAUTOMATIC_TESTS = \
-       testglib.exe    \
-       testgdate.exe   \
-       testgdateparser.exe \
-       unicode-normalize.exe \
-       unicode-collate.exe
-
-TESTS = \
-       atomic-test.exe \
-       asyncqueue-test.exe \
-       base64-test.exe \
-       bit-test.exe \
-       bookmarkfile-test.exe \
-       child-test.exe \
-       checksum-test.exe \
-       completion-test.exe \
-       convert-test.exe \
-       date-test.exe   \
-       dirname-test.exe \
-       env-test.exe \
-       errorcheck-mutex-test.exe \
-       file-test.exe \
-       gio-test.exe    \
-       iochannel-test.exe \
-       hash-test.exe   \
-       list-test.exe   \
-       mainloop-test.exe \
-       mapping-test.exe \
-#c99   markup-collect.exe \
-       markup-escape-test.exe \
-       markup-test.exe \
-#main? memchunks.exe \
-       module-test.exe \
-       node-test.exe   \
-#c99   onceinit.exe \
-       patterntest.exe \
-       queue-test.exe  \
-       qsort-test.exe \
-       regex-test.exe \
-       relation-test.exe \
-       scannerapi.exe \
-       sequence-test.exe \
-       shell-test.exe  \
-       slice-color.exe \
-#unistd        slice-concurrent.exe\
-       slice-threadinit.exe \
-       slice-test.exe  \
-       slist-test.exe  \
-       spawn-test.exe  \
-       testingbase64.exe \
-       thread-test.exe \
-       threadpool-test.exe \
-#unistd        timeloop-basic.exe \
-#unistd        timeloop-closure.exe \
-#unistd        timeloop.exe \
-       tree-test.exe   \
-       type-test.exe   \
-       unicode-caseconv.exe \
-       unicode-encoding.exe \
-       utf8-validate.exe \
-       utf8-pointer.exe \
-       uri-test.exe \
-       \
-       gio-ls.exe
-
-DLLS = \
-       libmoduletestplugin_a.dll \
-       libmoduletestplugin_b.dll
-
-all :  $(TESTS) $(NONAUTOMATIC_TESTS) $(DLLS)
-
-.c.exe :
-       $(CC) $(CFLAGS) -c $<
-       $(CC) $(CFLAGS) -Fe$@ $< ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
-
-gio-ls.exe : gio-ls.obj
-       $(CC) $(CFLAGS) -Fe$@ gio-ls.obj \
-       ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib \
-       ..\gobject\gobject-2.0.lib ..\gio\gio-2.0.lib \
-       $(LDFLAGS) user32.lib /subsystem:console
-
-slice-test.exe : memchunks.obj slice-test.obj 
-       $(CC) $(CFLAGS) -Fe$@ memchunks.obj slice-test.obj \
-       ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
-       
-libmoduletestplugin_a.dll : libmoduletestplugin_a.obj
-       $(CC) $(CFLAGS) -LD libmoduletestplugin_a.obj ..\gmodule\gmodule-2.0.lib ..\glib\glib-2.0.lib $(LDFLAGS)
-
-libmoduletestplugin_b.dll : libmoduletestplugin_b.obj
-       $(CC) $(CFLAGS) -LD libmoduletestplugin_b.obj ..\gmodule\gmodule-2.0.lib ..\glib\glib-2.0.lib $(LDFLAGS)
-
-check: all
-       for %p in ($(TESTS)) do set PATH=..\glib;..\gmodule;..\gobject;..\gthread;%PATH% && %p
diff --git a/tests/makefile.msc.in b/tests/makefile.msc.in
deleted file mode 100644 (file)
index f87c58f..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-## Makefile for building the GLib test programs with Microsoft C
-## Use: nmake -f makefile.msc check
-
-TOP = ..\..
-
-!INCLUDE ..\build\win32\make.msc
-
-################################################################
-
-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I ..\glib -I ..\gmodule
-DEFINES = -DHAVE_CONFIG_H -DENABLE_REGEX
-
-NONAUTOMATIC_TESTS = \
-       testglib.exe    \
-       testgdate.exe   \
-       testgdateparser.exe \
-       unicode-normalize.exe \
-       unicode-collate.exe
-
-TESTS = \
-       atomic-test.exe \
-       asyncqueue-test.exe \
-       base64-test.exe \
-       bit-test.exe \
-       bookmarkfile-test.exe \
-       child-test.exe \
-       checksum-test.exe \
-       completion-test.exe \
-       convert-test.exe \
-       date-test.exe   \
-       dirname-test.exe \
-       env-test.exe \
-       errorcheck-mutex-test.exe \
-       file-test.exe \
-       gio-test.exe    \
-       iochannel-test.exe \
-       hash-test.exe   \
-       list-test.exe   \
-       mainloop-test.exe \
-       mapping-test.exe \
-#c99   markup-collect.exe \
-       markup-escape-test.exe \
-       markup-test.exe \
-#main? memchunks.exe \
-       module-test.exe \
-       node-test.exe   \
-#c99   onceinit.exe \
-       patterntest.exe \
-       queue-test.exe  \
-       qsort-test.exe \
-       regex-test.exe \
-       relation-test.exe \
-       scannerapi.exe \
-       sequence-test.exe \
-       shell-test.exe  \
-       slice-color.exe \
-#unistd        slice-concurrent.exe\
-       slice-threadinit.exe \
-       slice-test.exe  \
-       slist-test.exe  \
-       spawn-test.exe  \
-       testingbase64.exe \
-       thread-test.exe \
-       threadpool-test.exe \
-#unistd        timeloop-basic.exe \
-#unistd        timeloop-closure.exe \
-#unistd        timeloop.exe \
-       tree-test.exe   \
-       type-test.exe   \
-       unicode-caseconv.exe \
-       unicode-encoding.exe \
-       utf8-validate.exe \
-       utf8-pointer.exe \
-       uri-test.exe \
-       \
-       gio-ls.exe
-
-DLLS = \
-       libmoduletestplugin_a.dll \
-       libmoduletestplugin_b.dll
-
-all :  $(TESTS) $(NONAUTOMATIC_TESTS) $(DLLS)
-
-.c.exe :
-       $(CC) $(CFLAGS) -c $<
-       $(CC) $(CFLAGS) -Fe$@ $< ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
-
-gio-ls.exe : gio-ls.obj
-       $(CC) $(CFLAGS) -Fe$@ gio-ls.obj \
-       ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib \
-       ..\gobject\gobject-2.0.lib ..\gio\gio-2.0.lib \
-       $(LDFLAGS) user32.lib /subsystem:console
-
-slice-test.exe : memchunks.obj slice-test.obj 
-       $(CC) $(CFLAGS) -Fe$@ memchunks.obj slice-test.obj \
-       ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
-       
-libmoduletestplugin_a.dll : libmoduletestplugin_a.obj
-       $(CC) $(CFLAGS) -LD libmoduletestplugin_a.obj ..\gmodule\gmodule-2.0.lib ..\glib\glib-2.0.lib $(LDFLAGS)
-
-libmoduletestplugin_b.dll : libmoduletestplugin_b.obj
-       $(CC) $(CFLAGS) -LD libmoduletestplugin_b.obj ..\gmodule\gmodule-2.0.lib ..\glib\glib-2.0.lib $(LDFLAGS)
-
-check: all
-       for %p in ($(TESTS)) do set PATH=..\glib;..\gmodule;..\gobject;..\gthread;%PATH% && %p
index 5052505..b595aa0 100644 (file)
@@ -15,12 +15,17 @@ def main(argv):
 
     replace_items = {'@PYTHON@': 'python',
                      '@PERL_PATH@': 'perl',
-                     '@GLIB_VERSION@': args.version}
+                     '@GLIB_VERSION@': args.version,
+                     '@VERSION@': args.version}
 
     if args.type == 'glib-mkenums':
         replace_multi(srcroot + '/gobject/glib-mkenums.in',
                       srcroot + '/gobject/glib-mkenums',
                       replace_items)
+    elif args.type == 'glib-genmarshal':
+        replace_multi(srcroot + '/gobject/glib-genmarshal.in',
+                      srcroot + '/gobject/glib-genmarshal',
+                      replace_items)
     elif args.type == 'gdbus-codegen':
         replace_multi(srcroot + '/gio/gdbus-2.0/codegen/gdbus-codegen.in',
                       srcroot + '/gio/gdbus-2.0/codegen/gdbus-codegen',
index 85f0372..cddbb44 100644 (file)
@@ -21,8 +21,6 @@ EXTRA_DIST = \
        glib.sln                        \
        glib.vcxprojin                  \
        glib.vcxproj.filtersin          \
-       glib-genmarshal.vcxproj         \
-       glib-genmarshal.vcxproj.filters         \
        gspawn-win32-helper-console.vcxproj     \
        gspawn-win32-helper-console.vcxproj.filters     \
        gspawn-win32-helper.vcxproj             \
index 46399c2..7c6d0bd 100644 (file)
@@ -399,8 +399,6 @@ EXTRA_DIST = \
        glib.sln                        \
        glib.vcxprojin                  \
        glib.vcxproj.filtersin          \
-       glib-genmarshal.vcxproj         \
-       glib-genmarshal.vcxproj.filters         \
        gspawn-win32-helper-console.vcxproj     \
        gspawn-win32-helper-console.vcxproj.filters     \
        gspawn-win32-helper.vcxproj             \
index 001f86b..e73fcc9 100644 (file)
@@ -24,6 +24,11 @@ builds, and correspondingly
 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ for 64-bit\r
 builds.\r
 \r
+A Python 2.7.x or 3.x interpreter is also required, in order to generate\r
+the utility scripts, as well as the pkg-config files for the build.  Please\r
+see the entry "PythonDir" in glib-version-paths.props to verify that\r
+it is correct.\r
+\r
 One may wish to build his/her own ZLib-It is recommended that ZLib is\r
 built using the win32/Makefile.msc makefile with VS10 with the ASM routines\r
 to avoid linking problems-see win32/Makefile.msc in ZLib for more details.\r
diff --git a/win32/vs10/glib-genmarshal.vcxproj b/win32/vs10/glib-genmarshal.vcxproj
deleted file mode 100644 (file)
index 2ce4b28..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{BD12E835-5C52-4E5D-8234-1C579F33E27A}</ProjectGuid>
-    <RootNamespace>glibgenmarshal</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="glib.vcxproj">
-      <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/win32/vs10/glib-genmarshal.vcxproj.filters b/win32/vs10/glib-genmarshal.vcxproj.filters
deleted file mode 100644 (file)
index bcb3d4a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>
index 5ecc7c5..2549743 100644 (file)
@@ -18,8 +18,6 @@ copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.exe $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.pdb $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.exe $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.pdb $(CopyDir)\bin
 copy $(BinDir)\glib-compile-schemas.exe $(CopyDir)\bin
@@ -36,8 +34,9 @@ copy $(BinDir)\gdbus.exe $(CopyDir)\bin
 copy $(BinDir)\gdbus.pdb $(CopyDir)\bin
 copy $(BinDir)\gio.exe $(CopyDir)\bin
 copy $(BinDir)\gio.pdb $(CopyDir)\bin
-if exist ..\..\gio\gdbus-2.0\codegen\gdbus-codegen copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
-if exist ..\..\gobject\glib-mkenums copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-genmarshal $(CopyDir)\bin
+copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
 mkdir $(CopyDir)\include\glib-$(ApiVersion)\glib\deprecated
 copy ..\..\msvc_recommended_pragmas.h $(CopyDir)\include\glib-$(ApiVersion)
 copy ..\..\glib\glib.h $(CopyDir)\include\glib-$(ApiVersion)
@@ -317,11 +316,12 @@ copy ..\..\gio\gschema.dtd $(CopyDir)\share\glib-$(ApiVersion)\schemas
 mkdir $(CopyDir)\share\glib-$(ApiVersion)\codegen
 copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codegen
 </GlibDoInstall>
-    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
+    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gobject\glib-genmarshal;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
     <GlibPCFiles>..\gio-windows-2.0.pc;..\gio-2.0.pc;..\gobject-2.0.pc;..\gmodule-no-export-2.0.pc;..\gmodule-export-2.0.pc;..\gmodule-2.0.pc;..\gthread-2.0.pc;..\glib-2.0.pc</GlibPCFiles>
-    <GenGLibMKEnums>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
-    <GenGDBusCodegen>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
-    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
+    <GenGLibMKEnums>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
+    <GenGLibGenmarshal>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-genmarshal --version=$(GlibVersion)</GenGLibGenmarshal>
+    <GenGDBusCodegen>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
+    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; ($(PythonDir)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibinstallprops</_PropertySheetDisplayName>
@@ -342,6 +342,9 @@ copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codege
     <BuildMacro Include="GenGLibMKEnums">
       <Value>$(GenGLibMKEnums)</Value>
     </BuildMacro>
+    <BuildMacro Include="GenGLibGenmarshal">
+      <Value>$(GenGLibGenmarshal)</Value>
+    </BuildMacro>
     <BuildMacro Include="GenGDBusCodegen">
       <Value>$(GenGDBusCodegen)</Value>
     </BuildMacro>
index c5b43bb..93762df 100644 (file)
@@ -18,8 +18,6 @@ copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.exe $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.pdb $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.exe $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.pdb $(CopyDir)\bin
 copy $(BinDir)\glib-compile-schemas.exe $(CopyDir)\bin
@@ -37,8 +35,9 @@ copy $(BinDir)\gdbus.pdb $(CopyDir)\bin
 copy $(BinDir)\gio.exe $(CopyDir)\bin
 copy $(BinDir)\gio.pdb $(CopyDir)\bin
 
-if exist ..\..\gio\gdbus-2.0\codegen\gdbus-codegen copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
-if exist ..\..\gobject\glib-mkenums copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-genmarshal $(CopyDir)\bin
+copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
 
 mkdir $(CopyDir)\include\glib-$(ApiVersion)\glib\deprecated
 copy ..\..\msvc_recommended_pragmas.h $(CopyDir)\include\glib-$(ApiVersion)
@@ -83,11 +82,12 @@ copy ..\..\gio\gschema.dtd $(CopyDir)\share\glib-$(ApiVersion)\schemas
 mkdir $(CopyDir)\share\glib-$(ApiVersion)\codegen
 copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codegen
 </GlibDoInstall>
-    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
+    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gobject\glib-genmarshal;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
     <GlibPCFiles>..\gio-windows-2.0.pc;..\gio-2.0.pc;..\gobject-2.0.pc;..\gmodule-no-export-2.0.pc;..\gmodule-export-2.0.pc;..\gmodule-2.0.pc;..\gthread-2.0.pc;..\glib-2.0.pc</GlibPCFiles>
-    <GenGLibMKEnums>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
-    <GenGDBusCodegen>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
-    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
+    <GenGLibMKEnums>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
+    <GenGLibGenmarshal>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-genmarshal --version=$(GlibVersion)</GenGLibGenmarshal>
+    <GenGDBusCodegen>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
+    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; ($(PythonDir)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibinstallprops</_PropertySheetDisplayName>
@@ -108,6 +108,9 @@ copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codege
     <BuildMacro Include="GenGLibMKEnums">
       <Value>$(GenGLibMKEnums)</Value>
     </BuildMacro>
+    <BuildMacro Include="GenGLibGenmarshal">
+      <Value>$(GenGLibGenmarshal)</Value>
+    </BuildMacro>
     <BuildMacro Include="GenGDBusCodegen">
       <Value>$(GenGDBusCodegen)</Value>
     </BuildMacro>
index 41009b7..3204bb0 100644 (file)
       <Command Condition="'$(Configuration)'=='Release'">$(GenGLibMKEnums)</Command>
       <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-mkenums;%(Outputs)</Outputs>
     </CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in">
+      <Message Condition="'$(Configuration)'=='Debug'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Debug'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Debug'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)'=='Release'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Release'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+    </CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in">
       <Message Condition="'$(Configuration)'=='Debug'">Generating gdbus-codegen...</Message>
       <Command Condition="'$(Configuration)'=='Debug'">$(GenGDBusCodegen)</Command>
       <Project>{f3d1583c-5613-4809-bd98-7cc1c1276f92}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="glib-genmarshal.vcxproj">
-      <Project>{bd12e835-5c52-4e5d-8234-1c579f33e27a}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="glib.vcxproj">
       <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 6748dcf..aae1215 100644 (file)
@@ -8,6 +8,7 @@
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\..\gobject\glib-mkenums.in"><Filter>Resource Files</Filter></CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="glib_install_placeholder"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\glibpc.py"><Filter>Resource Files</Filter></CustomBuild>
index 845efc6..7c85f47 100644 (file)
@@ -2,7 +2,7 @@
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup Label="UserMacros">
     <VSVer>10</VSVer>
-    <GlibVersion>2.53.3</GlibVersion>
+    <GlibVersion>2.53.4</GlibVersion>
     <ApiVersion>2.0</ApiVersion>
     <GlibEtcInstallRoot>..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
     <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
     <GlibSeparateVSDllSuffix>-2-vs$(VSVer)</GlibSeparateVSDllSuffix>
     <GlibDllPrefix>$(GlibSeparateVSDllPrefix)</GlibDllPrefix>
     <GlibDllSuffix>$(GlibSeparateVSDllSuffix)</GlibDllSuffix>
-    <PythonPath>c:\python27</PythonPath>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '10.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '11.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '12.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '14.0'">c:\python36</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '15.0'">c:\python36</PythonDir>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibversionpathsprops</_PropertySheetDisplayName>
@@ -51,8 +55,8 @@
     <BuildMacro Include="GlibDllSuffix">
       <Value>$(GlibDllSuffix)</Value>
     </BuildMacro>
-    <BuildMacro Include="PythonPath">
-      <Value>$(PythonPath)</Value>
+    <BuildMacro Include="PythonDir">
+      <Value>$(PythonDir)</Value>
     </BuildMacro>
   </ItemGroup>
 </Project>
index 468e558..e711df9 100644 (file)
     <GlibSeparateVSDllSuffix>-2-vs$(VSVer)</GlibSeparateVSDllSuffix>
     <GlibDllPrefix>$(GlibSeparateVSDllPrefix)</GlibDllPrefix>
     <GlibDllSuffix>$(GlibSeparateVSDllSuffix)</GlibDllSuffix>
-    <PythonPath>c:\python27</PythonPath>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '10.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '11.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '12.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '14.0'">c:\python36</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '15.0'">c:\python36</PythonDir>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibversionpathsprops</_PropertySheetDisplayName>
@@ -51,8 +55,8 @@
     <BuildMacro Include="GlibDllSuffix">
       <Value>$(GlibDllSuffix)</Value>
     </BuildMacro>
-    <BuildMacro Include="PythonPath">
-      <Value>$(PythonPath)</Value>
+    <BuildMacro Include="PythonDir">
+      <Value>$(PythonDir)</Value>
     </BuildMacro>
   </ItemGroup>
 </Project>
index 848c2cf..71c671e 100644 (file)
@@ -8,8 +8,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gobject", "gobject.vcxproj"
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gthread", "gthread.vcxproj", "{C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-genmarshal", "glib-genmarshal.vcxproj", "{BD12E835-5C52-4E5D-8234-1C579F33E27A}"\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio", "gio.vcxproj", "{F3D1583C-5613-4809-BD98-7CC1C1276F92}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gspawn-win32-helper", "gspawn-win32-helper.vcxproj", "{289240E7-E167-47CE-A20C-58D852E520BA}"\r
@@ -28,10 +26,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-querymodules", "gio-que
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdbus", "gdbus.vcxproj", "{95A1571F-61BE-4C51-BE53-2F2DAB280687}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
-EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -108,22 +106,6 @@ Global
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.Build.0 = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|x64.ActiveCfg = Debug|x64\r
@@ -268,38 +250,38 @@ Global
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index fbdb0ad..b1fbcae 100644 (file)
@@ -3,8 +3,6 @@ EXTRA_DIST = \
        glib.sln \
        glib.vcxproj \
        glib.vcxproj.filters \
-       glib-genmarshal.vcxproj \
-       glib-genmarshal.vcxproj.filters \
        gspawn-win32-helper-console.vcxproj \
        gspawn-win32-helper-console.vcxproj.filters \
        gspawn-win32-helper.vcxproj \
index 63e4057..e834db1 100644 (file)
@@ -399,8 +399,6 @@ EXTRA_DIST = \
        glib.sln \
        glib.vcxproj \
        glib.vcxproj.filters \
-       glib-genmarshal.vcxproj \
-       glib-genmarshal.vcxproj.filters \
        gspawn-win32-helper-console.vcxproj \
        gspawn-win32-helper-console.vcxproj.filters \
        gspawn-win32-helper.vcxproj \
index ac9233d..1354562 100644 (file)
@@ -24,6 +24,11 @@ builds, and correspondingly
 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ for 64-bit\r
 builds.\r
 \r
+A Python 2.7.x or 3.x interpreter is also required, in order to generate\r
+the utility scripts, as well as the pkg-config files for the build.  Please\r
+see the entry "PythonDir" in glib-version-paths.props to verify that\r
+it is correct.\r
+\r
 One may wish to build his/her own ZLib-It is recommended that ZLib is\r
 built using the win32/Makefile.msc makefile with VS11 with the ASM routines\r
 to avoid linking problems-see win32/Makefile.msc in ZLib for more details.\r
diff --git a/win32/vs11/glib-genmarshal.vcxproj b/win32/vs11/glib-genmarshal.vcxproj
deleted file mode 100644 (file)
index 4cca67c..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{BD12E835-5C52-4E5D-8234-1C579F33E27A}</ProjectGuid>
-    <RootNamespace>glibgenmarshal</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v110</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v110</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v110</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v110</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="glib.vcxproj">
-      <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/win32/vs11/glib-genmarshal.vcxproj.filters b/win32/vs11/glib-genmarshal.vcxproj.filters
deleted file mode 100644 (file)
index bcb3d4a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>
index 5ecc7c5..2549743 100644 (file)
@@ -18,8 +18,6 @@ copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.exe $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.pdb $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.exe $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.pdb $(CopyDir)\bin
 copy $(BinDir)\glib-compile-schemas.exe $(CopyDir)\bin
@@ -36,8 +34,9 @@ copy $(BinDir)\gdbus.exe $(CopyDir)\bin
 copy $(BinDir)\gdbus.pdb $(CopyDir)\bin
 copy $(BinDir)\gio.exe $(CopyDir)\bin
 copy $(BinDir)\gio.pdb $(CopyDir)\bin
-if exist ..\..\gio\gdbus-2.0\codegen\gdbus-codegen copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
-if exist ..\..\gobject\glib-mkenums copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-genmarshal $(CopyDir)\bin
+copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
 mkdir $(CopyDir)\include\glib-$(ApiVersion)\glib\deprecated
 copy ..\..\msvc_recommended_pragmas.h $(CopyDir)\include\glib-$(ApiVersion)
 copy ..\..\glib\glib.h $(CopyDir)\include\glib-$(ApiVersion)
@@ -317,11 +316,12 @@ copy ..\..\gio\gschema.dtd $(CopyDir)\share\glib-$(ApiVersion)\schemas
 mkdir $(CopyDir)\share\glib-$(ApiVersion)\codegen
 copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codegen
 </GlibDoInstall>
-    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
+    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gobject\glib-genmarshal;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
     <GlibPCFiles>..\gio-windows-2.0.pc;..\gio-2.0.pc;..\gobject-2.0.pc;..\gmodule-no-export-2.0.pc;..\gmodule-export-2.0.pc;..\gmodule-2.0.pc;..\gthread-2.0.pc;..\glib-2.0.pc</GlibPCFiles>
-    <GenGLibMKEnums>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
-    <GenGDBusCodegen>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
-    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
+    <GenGLibMKEnums>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
+    <GenGLibGenmarshal>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-genmarshal --version=$(GlibVersion)</GenGLibGenmarshal>
+    <GenGDBusCodegen>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
+    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; ($(PythonDir)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibinstallprops</_PropertySheetDisplayName>
@@ -342,6 +342,9 @@ copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codege
     <BuildMacro Include="GenGLibMKEnums">
       <Value>$(GenGLibMKEnums)</Value>
     </BuildMacro>
+    <BuildMacro Include="GenGLibGenmarshal">
+      <Value>$(GenGLibGenmarshal)</Value>
+    </BuildMacro>
     <BuildMacro Include="GenGDBusCodegen">
       <Value>$(GenGDBusCodegen)</Value>
     </BuildMacro>
index 5f42f4a..81089e4 100644 (file)
       <Command Condition="'$(Configuration)'=='Release'">$(GenGLibMKEnums)</Command>
       <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-mkenums;%(Outputs)</Outputs>
     </CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in">
+      <Message Condition="'$(Configuration)'=='Debug'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Debug'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Debug'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)'=='Release'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Release'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+    </CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in">
       <Message Condition="'$(Configuration)'=='Debug'">Generating gdbus-codegen...</Message>
       <Command Condition="'$(Configuration)'=='Debug'">$(GenGDBusCodegen)</Command>
       <Project>{f3d1583c-5613-4809-bd98-7cc1c1276f92}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="glib-genmarshal.vcxproj">
-      <Project>{bd12e835-5c52-4e5d-8234-1c579f33e27a}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="glib.vcxproj">
       <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 6748dcf..aae1215 100644 (file)
@@ -8,6 +8,7 @@
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\..\gobject\glib-mkenums.in"><Filter>Resource Files</Filter></CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="glib_install_placeholder"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\glibpc.py"><Filter>Resource Files</Filter></CustomBuild>
index c95365d..6735465 100644 (file)
@@ -2,7 +2,7 @@
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup Label="UserMacros">
     <VSVer>11</VSVer>
-    <GlibVersion>2.53.3</GlibVersion>
+    <GlibVersion>2.53.4</GlibVersion>
     <ApiVersion>2.0</ApiVersion>
     <GlibEtcInstallRoot>..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
     <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
     <GlibSeparateVSDllSuffix>-2-vs$(VSVer)</GlibSeparateVSDllSuffix>
     <GlibDllPrefix>$(GlibSeparateVSDllPrefix)</GlibDllPrefix>
     <GlibDllSuffix>$(GlibSeparateVSDllSuffix)</GlibDllSuffix>
-    <PythonPath>c:\python27</PythonPath>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '10.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '11.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '12.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '14.0'">c:\python36</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '15.0'">c:\python36</PythonDir>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibversionpathsprops</_PropertySheetDisplayName>
@@ -51,8 +55,8 @@
     <BuildMacro Include="GlibDllSuffix">
       <Value>$(GlibDllSuffix)</Value>
     </BuildMacro>
-    <BuildMacro Include="PythonPath">
-      <Value>$(PythonPath)</Value>
+    <BuildMacro Include="PythonDir">
+      <Value>$(PythonDir)</Value>
     </BuildMacro>
   </ItemGroup>
 </Project>
index 1e5f84b..d6a3b32 100644 (file)
@@ -8,8 +8,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gobject", "gobject.vcxproj"
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gthread", "gthread.vcxproj", "{C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-genmarshal", "glib-genmarshal.vcxproj", "{BD12E835-5C52-4E5D-8234-1C579F33E27A}"\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio", "gio.vcxproj", "{F3D1583C-5613-4809-BD98-7CC1C1276F92}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gspawn-win32-helper", "gspawn-win32-helper.vcxproj", "{289240E7-E167-47CE-A20C-58D852E520BA}"\r
@@ -28,10 +26,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-querymodules", "gio-que
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdbus", "gdbus.vcxproj", "{95A1571F-61BE-4C51-BE53-2F2DAB280687}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
-EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -108,22 +106,6 @@ Global
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.Build.0 = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|x64.ActiveCfg = Debug|x64\r
@@ -268,38 +250,38 @@ Global
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 898bf89..a57df61 100644 (file)
@@ -3,8 +3,6 @@ EXTRA_DIST = \
        glib.sln \
        glib.vcxproj \
        glib.vcxproj.filters \
-       glib-genmarshal.vcxproj \
-       glib-genmarshal.vcxproj.filters \
        gspawn-win32-helper-console.vcxproj \
        gspawn-win32-helper-console.vcxproj.filters \
        gspawn-win32-helper.vcxproj \
index 8430969..cf23758 100644 (file)
@@ -399,8 +399,6 @@ EXTRA_DIST = \
        glib.sln \
        glib.vcxproj \
        glib.vcxproj.filters \
-       glib-genmarshal.vcxproj \
-       glib-genmarshal.vcxproj.filters \
        gspawn-win32-helper-console.vcxproj \
        gspawn-win32-helper-console.vcxproj.filters \
        gspawn-win32-helper.vcxproj \
index 53f5a62..fffb5c5 100644 (file)
@@ -24,6 +24,11 @@ builds, and correspondingly
 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ for 64-bit\r
 builds.\r
 \r
+A Python 2.7.x or 3.x interpreter is also required, in order to generate\r
+the utility scripts, as well as the pkg-config files for the build.  Please\r
+see the entry "PythonDir" in glib-version-paths.props to verify that\r
+it is correct.\r
+\r
 One may wish to build his/her own ZLib-It is recommended that ZLib is\r
 built using the win32/Makefile.msc makefile with VS12 with the ASM routines\r
 to avoid linking problems-see win32/Makefile.msc in ZLib for more details.\r
diff --git a/win32/vs12/glib-genmarshal.vcxproj b/win32/vs12/glib-genmarshal.vcxproj
deleted file mode 100644 (file)
index cbfa252..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{BD12E835-5C52-4E5D-8234-1C579F33E27A}</ProjectGuid>
-    <RootNamespace>glibgenmarshal</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v120</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v120</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v120</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v120</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="glib.vcxproj">
-      <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/win32/vs12/glib-genmarshal.vcxproj.filters b/win32/vs12/glib-genmarshal.vcxproj.filters
deleted file mode 100644 (file)
index bcb3d4a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>
index 5ecc7c5..2549743 100644 (file)
@@ -18,8 +18,6 @@ copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.exe $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.pdb $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.exe $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.pdb $(CopyDir)\bin
 copy $(BinDir)\glib-compile-schemas.exe $(CopyDir)\bin
@@ -36,8 +34,9 @@ copy $(BinDir)\gdbus.exe $(CopyDir)\bin
 copy $(BinDir)\gdbus.pdb $(CopyDir)\bin
 copy $(BinDir)\gio.exe $(CopyDir)\bin
 copy $(BinDir)\gio.pdb $(CopyDir)\bin
-if exist ..\..\gio\gdbus-2.0\codegen\gdbus-codegen copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
-if exist ..\..\gobject\glib-mkenums copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-genmarshal $(CopyDir)\bin
+copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
 mkdir $(CopyDir)\include\glib-$(ApiVersion)\glib\deprecated
 copy ..\..\msvc_recommended_pragmas.h $(CopyDir)\include\glib-$(ApiVersion)
 copy ..\..\glib\glib.h $(CopyDir)\include\glib-$(ApiVersion)
@@ -317,11 +316,12 @@ copy ..\..\gio\gschema.dtd $(CopyDir)\share\glib-$(ApiVersion)\schemas
 mkdir $(CopyDir)\share\glib-$(ApiVersion)\codegen
 copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codegen
 </GlibDoInstall>
-    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
+    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gobject\glib-genmarshal;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
     <GlibPCFiles>..\gio-windows-2.0.pc;..\gio-2.0.pc;..\gobject-2.0.pc;..\gmodule-no-export-2.0.pc;..\gmodule-export-2.0.pc;..\gmodule-2.0.pc;..\gthread-2.0.pc;..\glib-2.0.pc</GlibPCFiles>
-    <GenGLibMKEnums>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
-    <GenGDBusCodegen>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
-    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
+    <GenGLibMKEnums>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
+    <GenGLibGenmarshal>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-genmarshal --version=$(GlibVersion)</GenGLibGenmarshal>
+    <GenGDBusCodegen>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
+    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; ($(PythonDir)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibinstallprops</_PropertySheetDisplayName>
@@ -342,6 +342,9 @@ copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codege
     <BuildMacro Include="GenGLibMKEnums">
       <Value>$(GenGLibMKEnums)</Value>
     </BuildMacro>
+    <BuildMacro Include="GenGLibGenmarshal">
+      <Value>$(GenGLibGenmarshal)</Value>
+    </BuildMacro>
     <BuildMacro Include="GenGDBusCodegen">
       <Value>$(GenGDBusCodegen)</Value>
     </BuildMacro>
index 1ba7fa4..4f12fdd 100644 (file)
       <Command Condition="'$(Configuration)'=='Release'">$(GenGLibMKEnums)</Command>
       <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-mkenums;%(Outputs)</Outputs>
     </CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in">
+      <Message Condition="'$(Configuration)'=='Debug'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Debug'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Debug'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)'=='Release'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Release'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+    </CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in">
       <Message Condition="'$(Configuration)'=='Debug'">Generating gdbus-codegen...</Message>
       <Command Condition="'$(Configuration)'=='Debug'">$(GenGDBusCodegen)</Command>
       <Project>{f3d1583c-5613-4809-bd98-7cc1c1276f92}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="glib-genmarshal.vcxproj">
-      <Project>{bd12e835-5c52-4e5d-8234-1c579f33e27a}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="glib.vcxproj">
       <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 6748dcf..aae1215 100644 (file)
@@ -8,6 +8,7 @@
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\..\gobject\glib-mkenums.in"><Filter>Resource Files</Filter></CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="glib_install_placeholder"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\glibpc.py"><Filter>Resource Files</Filter></CustomBuild>
index ca86d23..76b6b75 100644 (file)
@@ -2,7 +2,7 @@
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup Label="UserMacros">
     <VSVer>12</VSVer>
-    <GlibVersion>2.53.3</GlibVersion>
+    <GlibVersion>2.53.4</GlibVersion>
     <ApiVersion>2.0</ApiVersion>
     <GlibEtcInstallRoot>..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
     <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
     <GlibSeparateVSDllSuffix>-2-vs$(VSVer)</GlibSeparateVSDllSuffix>
     <GlibDllPrefix>$(GlibSeparateVSDllPrefix)</GlibDllPrefix>
     <GlibDllSuffix>$(GlibSeparateVSDllSuffix)</GlibDllSuffix>
-    <PythonPath>c:\python27</PythonPath>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '10.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '11.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '12.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '14.0'">c:\python36</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '15.0'">c:\python36</PythonDir>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibversionpathsprops</_PropertySheetDisplayName>
@@ -51,8 +55,8 @@
     <BuildMacro Include="GlibDllSuffix">
       <Value>$(GlibDllSuffix)</Value>
     </BuildMacro>
-    <BuildMacro Include="PythonPath">
-      <Value>$(PythonPath)</Value>
+    <BuildMacro Include="PythonDir">
+      <Value>$(PythonDir)</Value>
     </BuildMacro>
   </ItemGroup>
 </Project>
index 5b3d408..338dd66 100644 (file)
@@ -8,8 +8,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gobject", "gobject.vcxproj"
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gthread", "gthread.vcxproj", "{C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-genmarshal", "glib-genmarshal.vcxproj", "{BD12E835-5C52-4E5D-8234-1C579F33E27A}"\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio", "gio.vcxproj", "{F3D1583C-5613-4809-BD98-7CC1C1276F92}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gspawn-win32-helper", "gspawn-win32-helper.vcxproj", "{289240E7-E167-47CE-A20C-58D852E520BA}"\r
@@ -28,10 +26,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-querymodules", "gio-que
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdbus", "gdbus.vcxproj", "{95A1571F-61BE-4C51-BE53-2F2DAB280687}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
-EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -108,22 +106,6 @@ Global
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.Build.0 = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|x64.ActiveCfg = Debug|x64\r
@@ -268,38 +250,38 @@ Global
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 982ca95..c22d2ac 100644 (file)
@@ -3,8 +3,6 @@ EXTRA_DIST = \
        glib.sln \
        glib.vcxproj \
        glib.vcxproj.filters \
-       glib-genmarshal.vcxproj \
-       glib-genmarshal.vcxproj.filters \
        gspawn-win32-helper-console.vcxproj \
        gspawn-win32-helper-console.vcxproj.filters \
        gspawn-win32-helper.vcxproj \
index b8fe68e..28694f0 100644 (file)
@@ -399,8 +399,6 @@ EXTRA_DIST = \
        glib.sln \
        glib.vcxproj \
        glib.vcxproj.filters \
-       glib-genmarshal.vcxproj \
-       glib-genmarshal.vcxproj.filters \
        gspawn-win32-helper-console.vcxproj \
        gspawn-win32-helper-console.vcxproj.filters \
        gspawn-win32-helper.vcxproj \
index 5830b4d..cb1e20e 100644 (file)
@@ -24,6 +24,11 @@ builds, and correspondingly
 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ for 64-bit\r
 builds.\r
 \r
+A Python 2.7.x or 3.x interpreter is also required, in order to generate\r
+the utility scripts, as well as the pkg-config files for the build.  Please\r
+see the entry "PythonDir" in glib-version-paths.props to verify that\r
+it is correct.\r
+\r
 One may wish to build his/her own ZLib-It is recommended that ZLib is\r
 built using the win32/Makefile.msc makefile with VS14 with the ASM routines\r
 to avoid linking problems-see win32/Makefile.msc in ZLib for more details.\r
diff --git a/win32/vs14/glib-genmarshal.vcxproj b/win32/vs14/glib-genmarshal.vcxproj
deleted file mode 100644 (file)
index 5316fbd..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{BD12E835-5C52-4E5D-8234-1C579F33E27A}</ProjectGuid>
-    <RootNamespace>glibgenmarshal</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="glib.vcxproj">
-      <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/win32/vs14/glib-genmarshal.vcxproj.filters b/win32/vs14/glib-genmarshal.vcxproj.filters
deleted file mode 100644 (file)
index bcb3d4a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>
index 5ecc7c5..2549743 100644 (file)
@@ -18,8 +18,6 @@ copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.exe $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.pdb $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.exe $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.pdb $(CopyDir)\bin
 copy $(BinDir)\glib-compile-schemas.exe $(CopyDir)\bin
@@ -36,8 +34,9 @@ copy $(BinDir)\gdbus.exe $(CopyDir)\bin
 copy $(BinDir)\gdbus.pdb $(CopyDir)\bin
 copy $(BinDir)\gio.exe $(CopyDir)\bin
 copy $(BinDir)\gio.pdb $(CopyDir)\bin
-if exist ..\..\gio\gdbus-2.0\codegen\gdbus-codegen copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
-if exist ..\..\gobject\glib-mkenums copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-genmarshal $(CopyDir)\bin
+copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
 mkdir $(CopyDir)\include\glib-$(ApiVersion)\glib\deprecated
 copy ..\..\msvc_recommended_pragmas.h $(CopyDir)\include\glib-$(ApiVersion)
 copy ..\..\glib\glib.h $(CopyDir)\include\glib-$(ApiVersion)
@@ -317,11 +316,12 @@ copy ..\..\gio\gschema.dtd $(CopyDir)\share\glib-$(ApiVersion)\schemas
 mkdir $(CopyDir)\share\glib-$(ApiVersion)\codegen
 copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codegen
 </GlibDoInstall>
-    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
+    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gobject\glib-genmarshal;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
     <GlibPCFiles>..\gio-windows-2.0.pc;..\gio-2.0.pc;..\gobject-2.0.pc;..\gmodule-no-export-2.0.pc;..\gmodule-export-2.0.pc;..\gmodule-2.0.pc;..\gthread-2.0.pc;..\glib-2.0.pc</GlibPCFiles>
-    <GenGLibMKEnums>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
-    <GenGDBusCodegen>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
-    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
+    <GenGLibMKEnums>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
+    <GenGLibGenmarshal>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-genmarshal --version=$(GlibVersion)</GenGLibGenmarshal>
+    <GenGDBusCodegen>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
+    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; ($(PythonDir)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibinstallprops</_PropertySheetDisplayName>
@@ -342,6 +342,9 @@ copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codege
     <BuildMacro Include="GenGLibMKEnums">
       <Value>$(GenGLibMKEnums)</Value>
     </BuildMacro>
+    <BuildMacro Include="GenGLibGenmarshal">
+      <Value>$(GenGLibGenmarshal)</Value>
+    </BuildMacro>
     <BuildMacro Include="GenGDBusCodegen">
       <Value>$(GenGDBusCodegen)</Value>
     </BuildMacro>
index 4673412..4ffd1d9 100644 (file)
       <Command Condition="'$(Configuration)'=='Release'">$(GenGLibMKEnums)</Command>
       <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-mkenums;%(Outputs)</Outputs>
     </CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in">
+      <Message Condition="'$(Configuration)'=='Debug'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Debug'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Debug'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)'=='Release'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Release'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+    </CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in">
       <Message Condition="'$(Configuration)'=='Debug'">Generating gdbus-codegen...</Message>
       <Command Condition="'$(Configuration)'=='Debug'">$(GenGDBusCodegen)</Command>
       <Project>{f3d1583c-5613-4809-bd98-7cc1c1276f92}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="glib-genmarshal.vcxproj">
-      <Project>{bd12e835-5c52-4e5d-8234-1c579f33e27a}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="glib.vcxproj">
       <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 6748dcf..aae1215 100644 (file)
@@ -8,6 +8,7 @@
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\..\gobject\glib-mkenums.in"><Filter>Resource Files</Filter></CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="glib_install_placeholder"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\glibpc.py"><Filter>Resource Files</Filter></CustomBuild>
index 6eb1e62..bc54258 100644 (file)
@@ -2,7 +2,7 @@
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup Label="UserMacros">
     <VSVer>14</VSVer>
-    <GlibVersion>2.53.3</GlibVersion>
+    <GlibVersion>2.53.4</GlibVersion>
     <ApiVersion>2.0</ApiVersion>
     <GlibEtcInstallRoot>..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
     <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
     <GlibSeparateVSDllSuffix>-2-vs$(VSVer)</GlibSeparateVSDllSuffix>
     <GlibDllPrefix>$(GlibSeparateVSDllPrefix)</GlibDllPrefix>
     <GlibDllSuffix>$(GlibSeparateVSDllSuffix)</GlibDllSuffix>
-    <PythonPath>c:\python27</PythonPath>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '10.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '11.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '12.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '14.0'">c:\python36</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '15.0'">c:\python36</PythonDir>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibversionpathsprops</_PropertySheetDisplayName>
@@ -51,8 +55,8 @@
     <BuildMacro Include="GlibDllSuffix">
       <Value>$(GlibDllSuffix)</Value>
     </BuildMacro>
-    <BuildMacro Include="PythonPath">
-      <Value>$(PythonPath)</Value>
+    <BuildMacro Include="PythonDir">
+      <Value>$(PythonDir)</Value>
     </BuildMacro>
   </ItemGroup>
 </Project>
index 874676e..e1f90ec 100644 (file)
@@ -8,8 +8,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gobject", "gobject.vcxproj"
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gthread", "gthread.vcxproj", "{C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-genmarshal", "glib-genmarshal.vcxproj", "{BD12E835-5C52-4E5D-8234-1C579F33E27A}"\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio", "gio.vcxproj", "{F3D1583C-5613-4809-BD98-7CC1C1276F92}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gspawn-win32-helper", "gspawn-win32-helper.vcxproj", "{289240E7-E167-47CE-A20C-58D852E520BA}"\r
@@ -28,10 +26,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-querymodules", "gio-que
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdbus", "gdbus.vcxproj", "{95A1571F-61BE-4C51-BE53-2F2DAB280687}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
-EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -108,22 +106,6 @@ Global
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.Build.0 = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|x64.ActiveCfg = Debug|x64\r
@@ -268,38 +250,38 @@ Global
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index 6adc96d..94408c6 100644 (file)
@@ -3,8 +3,6 @@ EXTRA_DIST = \
        glib.sln \
        glib.vcxproj \
        glib.vcxproj.filters \
-       glib-genmarshal.vcxproj \
-       glib-genmarshal.vcxproj.filters \
        gspawn-win32-helper-console.vcxproj \
        gspawn-win32-helper-console.vcxproj.filters \
        gspawn-win32-helper.vcxproj \
index d397095..f9c85a2 100644 (file)
@@ -399,8 +399,6 @@ EXTRA_DIST = \
        glib.sln \
        glib.vcxproj \
        glib.vcxproj.filters \
-       glib-genmarshal.vcxproj \
-       glib-genmarshal.vcxproj.filters \
        gspawn-win32-helper-console.vcxproj \
        gspawn-win32-helper-console.vcxproj.filters \
        gspawn-win32-helper.vcxproj \
index 7807c0a..e80a9ec 100644 (file)
@@ -24,6 +24,11 @@ builds, and correspondingly
 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ for 64-bit\r
 builds.\r
 \r
+A Python 2.7.x or 3.x interpreter is also required, in order to generate\r
+the utility scripts, as well as the pkg-config files for the build.  Please\r
+see the entry "PythonDir" in glib-version-paths.props to verify that\r
+it is correct.\r
+\r
 One may wish to build his/her own ZLib-It is recommended that ZLib is\r
 built using the win32/Makefile.msc makefile with VS15 with the ASM routines\r
 to avoid linking problems-see win32/Makefile.msc in ZLib for more details.\r
diff --git a/win32/vs15/glib-genmarshal.vcxproj b/win32/vs15/glib-genmarshal.vcxproj
deleted file mode 100644 (file)
index b3dcab0..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{BD12E835-5C52-4E5D-8234-1C579F33E27A}</ProjectGuid>
-    <RootNamespace>glibgenmarshal</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v141</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v141</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v141</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v141</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="glib-build-defines.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsC</CompileAs>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="glib.vcxproj">
-      <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/win32/vs15/glib-genmarshal.vcxproj.filters b/win32/vs15/glib-genmarshal.vcxproj.filters
deleted file mode 100644 (file)
index bcb3d4a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\gobject\glib-genmarshal.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>
index 5ecc7c5..2549743 100644 (file)
@@ -18,8 +18,6 @@ copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin
 copy $(BinDir)\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.exe $(CopyDir)\bin
-copy $(BinDir)\glib-genmarshal.pdb $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.exe $(CopyDir)\bin
 copy $(BinDir)\gspawn-win*-helper*.pdb $(CopyDir)\bin
 copy $(BinDir)\glib-compile-schemas.exe $(CopyDir)\bin
@@ -36,8 +34,9 @@ copy $(BinDir)\gdbus.exe $(CopyDir)\bin
 copy $(BinDir)\gdbus.pdb $(CopyDir)\bin
 copy $(BinDir)\gio.exe $(CopyDir)\bin
 copy $(BinDir)\gio.pdb $(CopyDir)\bin
-if exist ..\..\gio\gdbus-2.0\codegen\gdbus-codegen copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
-if exist ..\..\gobject\glib-mkenums copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-mkenums $(CopyDir)\bin
+copy ..\..\gobject\glib-genmarshal $(CopyDir)\bin
+copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin
 mkdir $(CopyDir)\include\glib-$(ApiVersion)\glib\deprecated
 copy ..\..\msvc_recommended_pragmas.h $(CopyDir)\include\glib-$(ApiVersion)
 copy ..\..\glib\glib.h $(CopyDir)\include\glib-$(ApiVersion)
@@ -317,11 +316,12 @@ copy ..\..\gio\gschema.dtd $(CopyDir)\share\glib-$(ApiVersion)\schemas
 mkdir $(CopyDir)\share\glib-$(ApiVersion)\codegen
 copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codegen
 </GlibDoInstall>
-    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
+    <GlibUtilScripts>..\..\gobject\glib-mkenums;..\..\gobject\glib-genmarshal;..\..\gio\gdbus-2.0\codegen\gdbus-codegen</GlibUtilScripts>
     <GlibPCFiles>..\gio-windows-2.0.pc;..\gio-2.0.pc;..\gobject-2.0.pc;..\gmodule-no-export-2.0.pc;..\gmodule-export-2.0.pc;..\gmodule-2.0.pc;..\gthread-2.0.pc;..\glib-2.0.pc</GlibPCFiles>
-    <GenGLibMKEnums>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
-    <GenGDBusCodegen>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
-    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
+    <GenGLibMKEnums>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)</GenGLibMKEnums>
+    <GenGLibGenmarshal>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-genmarshal --version=$(GlibVersion)</GenGLibGenmarshal>
+    <GenGDBusCodegen>$(PythonDir)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)</GenGDBusCodegen>
+    <GlibGenPC>(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; ($(PythonDir)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))</GlibGenPC>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibinstallprops</_PropertySheetDisplayName>
@@ -342,6 +342,9 @@ copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codege
     <BuildMacro Include="GenGLibMKEnums">
       <Value>$(GenGLibMKEnums)</Value>
     </BuildMacro>
+    <BuildMacro Include="GenGLibGenmarshal">
+      <Value>$(GenGLibGenmarshal)</Value>
+    </BuildMacro>
     <BuildMacro Include="GenGDBusCodegen">
       <Value>$(GenGDBusCodegen)</Value>
     </BuildMacro>
index b4f26a1..9abc98d 100644 (file)
       <Command Condition="'$(Configuration)'=='Release'">$(GenGLibMKEnums)</Command>
       <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-mkenums;%(Outputs)</Outputs>
     </CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in">
+      <Message Condition="'$(Configuration)'=='Debug'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Debug'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Debug'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)'=='Release'">Generating glib-genmarshal...</Message>
+      <Command Condition="'$(Configuration)'=='Release'">$(GenGLibGenmarshal)</Command>
+      <Outputs Condition="'$(Configuration)'=='Release'">..\..\gobject\glib-genmarshal;%(Outputs)</Outputs>
+    </CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in">
       <Message Condition="'$(Configuration)'=='Debug'">Generating gdbus-codegen...</Message>
       <Command Condition="'$(Configuration)'=='Debug'">$(GenGDBusCodegen)</Command>
       <Project>{f3d1583c-5613-4809-bd98-7cc1c1276f92}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="glib-genmarshal.vcxproj">
-      <Project>{bd12e835-5c52-4e5d-8234-1c579f33e27a}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="glib.vcxproj">
       <Project>{12bca020-eabf-429e-876a-a476bc9c10c0}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 6748dcf..aae1215 100644 (file)
@@ -8,6 +8,7 @@
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\..\gobject\glib-mkenums.in"><Filter>Resource Files</Filter></CustomBuild>
+    <CustomBuild Include="..\..\gobject\glib-genmarshal.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="glib_install_placeholder"><Filter>Resource Files</Filter></CustomBuild>
     <CustomBuild Include="..\glibpc.py"><Filter>Resource Files</Filter></CustomBuild>
index f9b4d1b..9dbb57c 100644 (file)
@@ -2,7 +2,7 @@
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup Label="UserMacros">
     <VSVer>15</VSVer>
-    <GlibVersion>2.53.3</GlibVersion>
+    <GlibVersion>2.53.4</GlibVersion>
     <ApiVersion>2.0</ApiVersion>
     <GlibEtcInstallRoot>..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
     <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
     <GlibSeparateVSDllSuffix>-2-vs$(VSVer)</GlibSeparateVSDllSuffix>
     <GlibDllPrefix>$(GlibSeparateVSDllPrefix)</GlibDllPrefix>
     <GlibDllSuffix>$(GlibSeparateVSDllSuffix)</GlibDllSuffix>
-    <PythonPath>c:\python27</PythonPath>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '10.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '11.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '12.0'">c:\python34</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '14.0'">c:\python36</PythonDir>
+    <PythonDir Condition="'$(VisualStudioVersion)' == '15.0'">c:\python36</PythonDir>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>glibversionpathsprops</_PropertySheetDisplayName>
@@ -51,8 +55,8 @@
     <BuildMacro Include="GlibDllSuffix">
       <Value>$(GlibDllSuffix)</Value>
     </BuildMacro>
-    <BuildMacro Include="PythonPath">
-      <Value>$(PythonPath)</Value>
+    <BuildMacro Include="PythonDir">
+      <Value>$(PythonDir)</Value>
     </BuildMacro>
   </ItemGroup>
 </Project>
index 60f7a34..87b6e82 100644 (file)
@@ -8,8 +8,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gobject", "gobject.vcxproj"
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gthread", "gthread.vcxproj", "{C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-genmarshal", "glib-genmarshal.vcxproj", "{BD12E835-5C52-4E5D-8234-1C579F33E27A}"\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio", "gio.vcxproj", "{F3D1583C-5613-4809-BD98-7CC1C1276F92}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gspawn-win32-helper", "gspawn-win32-helper.vcxproj", "{289240E7-E167-47CE-A20C-58D852E520BA}"\r
@@ -28,10 +26,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-querymodules", "gio-que
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdbus", "gdbus.vcxproj", "{95A1571F-61BE-4C51-BE53-2F2DAB280687}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
-EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcxproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"\r
+EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -108,22 +106,6 @@ Global
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|Win32.Build.0 = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug|x64.ActiveCfg = Debug|x64\r
@@ -268,38 +250,38 @@ Global
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
                {B0CDEC7F-DCE1-4F7E-B8A4-A3009C18FB2A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release|x64.Build.0 = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B10}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
index e40d350..01fa052 100644 (file)
@@ -14,7 +14,6 @@ EXTRA_DIST = \
        README.txt              \
        glib.sln                \
        glib.vcprojin           \
-       glib-genmarshal.vcproj  \
        gspawn-win32-helper-console.vcproj      \
        gspawn-win32-helper.vcproj      \
        gmodule.vcproj          \
index c44a78c..dc9926e 100644 (file)
@@ -392,7 +392,6 @@ EXTRA_DIST = \
        README.txt              \
        glib.sln                \
        glib.vcprojin           \
-       glib-genmarshal.vcproj  \
        gspawn-win32-helper-console.vcproj      \
        gspawn-win32-helper.vcproj      \
        gmodule.vcproj          \
index 1625b71..2dbd41b 100644 (file)
@@ -22,7 +22,12 @@ proxy-libintl-dev and zlib-dev zipfiles from
 http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ for 32-bit\r
 builds, and correspondingly\r
 http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ for 64-bit\r
-builds. \r
+builds.\r
+\r
+A Python 2.7.x or 3.x interpreter is also required, in order to generate\r
+the utility scripts, as well as the pkg-config files for the build.  Please\r
+see the entry "PythonDir" in glib-version-paths.vsprops to verify that\r
+it is correct.\r
 \r
 One may wish to build his/her own ZLib-It is recommended that ZLib is\r
 built using the win32/Makefile.msc makefile with VS9 with the ASM routines\r
diff --git a/win32/vs9/glib-genmarshal.vcproj b/win32/vs9/glib-genmarshal.vcproj
deleted file mode 100644 (file)
index b50be25..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="9,00"
-       Name="glib-genmarshal"
-       ProjectGUID="{BD12E835-5C52-4E5D-8234-1C579F33E27A}"
-       RootNamespace="glibgenmarshal"
-       Keyword="Win32Proj"
-       TargetFrameworkVersion="131072"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-               <Platform
-                       Name="x64"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       InheritedPropertySheets=".\glib-build-defines.vsprops"
-                       ConfigurationType="1"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               PreprocessorDefinitions="_DEBUG"
-                               MinimalRebuild="true"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               DebugInformationFormat="4"
-                               CompileAs="1"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               LinkIncremental="2"
-                               GenerateDebugInformation="true"
-                               SubSystem="1"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               TargetMachine="1"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       InheritedPropertySheets=".\glib-build-defines.vsprops"
-                       ConfigurationType="1"
-                       CharacterSet="2"
-                       WholeProgramOptimization="1"
-                       >
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               PreprocessorDefinitions=""
-                               RuntimeLibrary="2"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               DebugInformationFormat="3"
-                               CompileAs="1"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               LinkIncremental="1"
-                               GenerateDebugInformation="true"
-                               SubSystem="1"
-                               OptimizeReferences="2"
-                               EnableCOMDATFolding="2"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               TargetMachine="1"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Debug|x64"
-                       InheritedPropertySheets=".\glib-build-defines.vsprops"
-                       ConfigurationType="1"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               PreprocessorDefinitions="_DEBUG"
-                               MinimalRebuild="true"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               DebugInformationFormat="3"
-                               CompileAs="1"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               LinkIncremental="2"
-                               GenerateDebugInformation="true"
-                               SubSystem="1"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               TargetMachine="17"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|x64"
-                       InheritedPropertySheets=".\glib-build-defines.vsprops"
-                       ConfigurationType="1"
-                       CharacterSet="2"
-                       WholeProgramOptimization="1"
-                       >
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               PreprocessorDefinitions=""
-                               RuntimeLibrary="2"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               DebugInformationFormat="3"
-                               CompileAs="1"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               LinkIncremental="1"
-                               GenerateDebugInformation="true"
-                               SubSystem="1"
-                               OptimizeReferences="2"
-                               EnableCOMDATFolding="2"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               TargetMachine="17"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-                       >
-                       <File
-                               RelativePath="..\..\gobject\glib-genmarshal.c"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl;inc;xsd"
-                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-                       >
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-                       >
-               </Filter>
-       </Files>
-</VisualStudioProject>
index a2e31a4..37a6a7c 100644 (file)
                                        />
                                </FileConfiguration>
                        </File>
+                       <File RelativePath="..\..\gobject\glib-genmarshal.in">
+                               <FileConfiguration Name="Debug|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Generating glib-genmarshal..."
+                                               CommandLine="$(GenGLibGenmarshal)"
+                                               Outputs="..\..\gobject\glib-genmarshal"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Generating glib-genmarshal..."
+                                               CommandLine="$(GenGLibGenmarshal)"
+                                               Outputs="..\..\gobject\glib-genmarshal"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Debug|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Generating glib-genmarshal..."
+                                               CommandLine="$(GenGLibGenmarshal)"
+                                               Outputs="..\..\gobject\glib-genmarshal"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Generating glib-genmarshal..."
+                                               CommandLine="$(GenGLibGenmarshal)"
+                                               Outputs="..\..\gobject\glib-genmarshal"
+                                       />
+                               </FileConfiguration>
+                       </File>
                        <File RelativePath="..\..\gio\gdbus-2.0\codegen\gdbus-codegen.in">
                                <FileConfiguration Name="Debug|Win32">
                                        <Tool
index 31625da..66ba18c 100644 (file)
@@ -20,8 +20,6 @@ copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(GlibDllPrefix)gobj
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-genmarshal.exe $(CopyDir)\bin&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-genmarshal.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gspawn-win*-helper*.exe $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gspawn-win*-helper*.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-compile-schemas.exe $(CopyDir)\bin&#x0D;&#x0A;
@@ -38,8 +36,9 @@ copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gdbus.exe $(CopyDir)
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gdbus.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gio.exe $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gio.pdb $(CopyDir)\bin&#x0D;&#x0A;
-if exist ..\..\gio\gdbus-2.0\codegen\gdbus-codegen copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin&#x0D;&#x0A;
-if exist ..\..\gobject\glib-mkenums copy ..\..\gobject\glib-mkenums $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\gobject\glib-mkenums $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\gobject\glib-genmarshal $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin&#x0D;&#x0A;
 mkdir $(CopyDir)\include\glib-$(ApiVersion)\glib\deprecated&#x0D;&#x0A;
 copy ..\..\msvc_recommended_pragmas.h $(CopyDir)\include\glib-$(ApiVersion)&#x0D;&#x0A;
 copy ..\..\glib\glib.h $(CopyDir)\include\glib-$(ApiVersion)&#x0D;&#x0A;
@@ -322,14 +321,18 @@ copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codege
  />
  <UserMacro
   Name="GenGLibMKEnums"
-  Value="if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)"
+  Value="$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)"
+ />
+ <UserMacro
+  Name="GenGLibGenmarshal"
+  Value="$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-genmarshal --version=$(GlibVersion)"
  />
  <UserMacro
   Name="GenGDBusCodegen"
-  Value="if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)"
+  Value="$(PythonDir)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)"
  />
  <UserMacro
   Name="GlibGenPC"
-  Value="(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))"
+  Value="(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; ($(PythonDir)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))"
  />
 </VisualStudioPropertySheet>
index c7b024a..c1e36d2 100644 (file)
@@ -20,8 +20,6 @@ copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(GlibDllPrefix)gobj
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(GlibDllPrefix)gobject$(GlibDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(GlibDllPrefix)gio$(GlibDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(GlibDllPrefix)gio$(GlibDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-genmarshal.exe $(CopyDir)\bin&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-genmarshal.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gspawn-win*-helper*.exe $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gspawn-win*-helper*.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\glib-compile-schemas.exe $(CopyDir)\bin&#x0D;&#x0A;
@@ -38,8 +36,9 @@ copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gdbus.exe $(CopyDir)
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gdbus.pdb $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gio.exe $(CopyDir)\bin&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\gio.pdb $(CopyDir)\bin&#x0D;&#x0A;
-if exist ..\..\gio\gdbus-2.0\codegen\gdbus-codegen copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin&#x0D;&#x0A;
-if exist ..\..\gobject\glib-mkenums copy ..\..\gobject\glib-mkenums $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\gobject\glib-mkenums $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\gobject\glib-genmarshal $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\gio\gdbus-2.0\codegen\gdbus-codegen $(CopyDir)\bin&#x0D;&#x0A;
 
 mkdir $(CopyDir)\include\glib-$(ApiVersion)\glib\deprecated&#x0D;&#x0A;
 copy ..\..\msvc_recommended_pragmas.h $(CopyDir)\include\glib-$(ApiVersion)&#x0D;&#x0A;
@@ -87,14 +86,18 @@ copy ..\..\gio\gdbus-2.0\codegen\*.py $(CopyDir)\share\glib-$(ApiVersion)\codege
        />
        <UserMacro
                Name="GenGLibMKEnums"
-               Value="if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)"
+               Value="$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-mkenums --version=$(GlibVersion)"
+       />
+       <UserMacro
+               Name="GenGLibGenmarshal"
+               Value="$(PythonDir)\python.exe ..\gen_util_scripts.py --type=glib-genmarshal --version=$(GlibVersion)"
        />
        <UserMacro
                Name="GenGDBusCodegen"
-               Value="if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)"
+               Value="$(PythonDir)\python.exe ..\gen_util_scripts.py --type=gdbus-codegen --version=$(GlibVersion)"
        />
        <UserMacro
                Name="GlibGenPC"
-               Value="(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; (if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))"
+               Value="(if not exist $(CopyDir) mkdir $(CopyDir)) &amp; ($(PythonDir)\python.exe ..\glibpc.py --prefix=$(CopyDir) --version=$(GlibVersion))"
        />
 </VisualStudioPropertySheet>
index 38224ac..2b6d1bf 100644 (file)
@@ -10,7 +10,7 @@
        />
        <UserMacro
                Name="GlibVersion"
-               Value="2.53.3"
+               Value="2.53.4"
        />
        <UserMacro
                Name="ApiVersion"
@@ -51,7 +51,7 @@
                Value="$(GlibSeparateVSDllSuffix)"
        />
        <UserMacro
-               Name="PythonPath"
+               Name="PythonDir"
                Value="c:\python27"
        />
 </VisualStudioPropertySheet>
index 1b55c5c..af7739f 100644 (file)
@@ -51,7 +51,7 @@
                Value="$(GlibSeparateVSDllSuffix)"
        />
        <UserMacro
-               Name="PythonPath"
+               Name="PythonDir"
                Value="c:\python27"
        />
 </VisualStudioPropertySheet>
index 9b593cb..2add207 100644 (file)
@@ -18,11 +18,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gthread", "gthread.vcproj",
                {12BCA020-EABF-429E-876A-A476BC9C10C0} = {12BCA020-EABF-429E-876A-A476BC9C10C0}\r
        EndProjectSection\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-genmarshal", "glib-genmarshal.vcproj", "{BD12E835-5C52-4E5D-8234-1C579F33E27A}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-               {12BCA020-EABF-429E-876A-A476BC9C10C0} = {12BCA020-EABF-429E-876A-A476BC9C10C0}\r
-       EndProjectSection\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio", "gio.vcproj", "{F3D1583C-5613-4809-BD98-7CC1C1276F92}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {12BCA020-EABF-429E-876A-A476BC9C10C0} = {12BCA020-EABF-429E-876A-A476BC9C10C0}\r
@@ -83,17 +78,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdbus", "gdbus.vcproj", "{9
                {F3D1583C-5613-4809-BD98-7CC1C1276F92} = {F3D1583C-5613-4809-BD98-7CC1C1276F92}\r
        EndProjectSection\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"
-       ProjectSection(ProjectDependencies) = postProject
-               {F3D1583C-5613-4809-BD98-7CC1C1276F92} = {F3D1583C-5613-4809-BD98-7CC1C1276F92}
-               {F172EFFC-E30F-4593-809E-DB2024B1E753} = {F172EFFC-E30F-4593-809E-DB2024B1E753}
-               {12BCA020-EABF-429E-876A-A476BC9C10C0} = {12BCA020-EABF-429E-876A-A476BC9C10C0}
-       EndProjectSection
-EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-tool", "gio-tool.vcproj", "{D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {F3D1583C-5613-4809-BD98-7CC1C1276F92} = {F3D1583C-5613-4809-BD98-7CC1C1276F92}\r
+               {F172EFFC-E30F-4593-809E-DB2024B1E753} = {F172EFFC-E30F-4593-809E-DB2024B1E753}\r
+               {12BCA020-EABF-429E-876A-A476BC9C10C0} = {12BCA020-EABF-429E-876A-A476BC9C10C0}\r
+       EndProjectSection\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-install.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {12BCA020-EABF-429E-876A-A476BC9C10C0} = {12BCA020-EABF-429E-876A-A476BC9C10C0}\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A} = {BD12E835-5C52-4E5D-8234-1C579F33E27A}\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92} = {F3D1583C-5613-4809-BD98-7CC1C1276F92}\r
                {4214047C-F5C1-40B3-8369-5DCED8C32770} = {4214047C-F5C1-40B3-8369-5DCED8C32770}\r
                {E40E8A7E-7CAE-4659-9B8B-BC38898E3074} = {E40E8A7E-7CAE-4659-9B8B-BC38898E3074}\r
@@ -106,7 +100,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-install", "glib-instal
                {95A1571F-61BE-4C51-BE53-2F2DAB280685} = {95A1571F-61BE-4C51-BE53-2F2DAB280685}\r
                {95A1571F-61BE-4C51-BE53-2F2DAB280686} = {95A1571F-61BE-4C51-BE53-2F2DAB280686}\r
                {95A1571F-61BE-4C51-BE53-2F2DAB280687} = {95A1571F-61BE-4C51-BE53-2F2DAB280687}\r
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338} = {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338} = {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}\r
        EndProjectSection\r
 EndProject\r
 Global\r
@@ -185,22 +179,6 @@ Global
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|Win32.Build.0 = Release|Win32\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|x64.ActiveCfg = Release|x64\r
                {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.Build.0 = Debug|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.ActiveCfg = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.Build.0 = Debug|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.ActiveCfg = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.Build.0 = Release|Win32\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.ActiveCfg = Release|x64\r
-               {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.Build.0 = Release|x64\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
                {F3D1583C-5613-4809-BD98-7CC1C1276F92}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
@@ -345,22 +323,22 @@ Global
                {95A1571F-61BE-4C51-BE53-2F2DAB280687}.Release|Win32.Build.0 = Release|Win32\r
                {95A1571F-61BE-4C51-BE53-2F2DAB280687}.Release|x64.ActiveCfg = Release|x64\r
                {95A1571F-61BE-4C51-BE53-2F2DAB280687}.Release|x64.Build.0 = Release|x64\r
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64
-               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug_BundledPCRE|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release_BundledPCRE|x64.Build.0 = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|Win32.Build.0 = Debug|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.ActiveCfg = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Debug|x64.Build.0 = Debug|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.ActiveCfg = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|Win32.Build.0 = Release|Win32\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.ActiveCfg = Release|x64\r
+               {D0403E9A-2B00-4FD3-B3DD-3C8F9CB9A338}.Release|x64.Build.0 = Release|x64\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.ActiveCfg = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|Win32.Build.0 = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug_BundledPCRE|x64.ActiveCfg = Debug|x64\r