summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-27 14:33:46 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-27 14:33:56 +0900
commitd4d9c8661d2b38e51d3c8cfb25f019161b7e6363 (patch)
tree66ac20e7c1ea7f5f3b74b51a4c533332a843d440
parentd91059be31d10dbca6410f55aabae6e6075d72c1 (diff)
downloadgobject-introspection-d4d9c8661d2b38e51d3c8cfb25f019161b7e6363.tar.gz
gobject-introspection-d4d9c8661d2b38e51d3c8cfb25f019161b7e6363.tar.bz2
gobject-introspection-d4d9c8661d2b38e51d3c8cfb25f019161b7e6363.zip
Imported Upstream version 1.47.92
Change-Id: I8e1cb0c2834050c38e3ae569fe593389ca5c4187 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
-rw-r--r--Makefile.am1
-rw-r--r--Makefile.in117
-rw-r--r--Makefile.introspection2
-rw-r--r--aclocal.m4408
-rwxr-xr-xautogen.sh31
-rwxr-xr-xbuild-aux/compile2
-rwxr-xr-xbuild-aux/config.guess233
-rwxr-xr-xbuild-aux/config.sub73
-rwxr-xr-xbuild-aux/depcomp2
-rwxr-xr-xbuild-aux/install-sh373
-rw-r--r--build-aux/ltmain.sh5449
-rwxr-xr-xbuild-aux/missing6
-rwxr-xr-xbuild-aux/py-compile2
-rwxr-xr-xbuild-aux/test-driver35
-rwxr-xr-xbuild-aux/ylwrap28
-rw-r--r--build/Makefile.am13
-rw-r--r--build/Makefile.in39
-rw-r--r--build/Makefile.msvc-introspection2
-rw-r--r--build/gi-setenv-msvc.mak13
-rw-r--r--build/win32/Makefile.am12
-rw-r--r--build/win32/Makefile.in37
-rw-r--r--build/win32/detectenv-msvc.mak (renamed from build/detectenv_msvc.mak)145
-rw-r--r--build/win32/gen-win32-cairo-gir.py (renamed from build/gen-win32-cairo-gir.py)17
-rw-r--r--build/win32/gen-win32-g-ir-tools.py (renamed from build/gen-win32-g-ir-tools.py)2
-rw-r--r--build/win32/gi-build-common-msvc.mak (renamed from build/gi-build-common-msvc.mak)9
-rw-r--r--build/win32/gi-introspection-msvc.mak (renamed from build/gi-introspection-msvc.mak)84
-rw-r--r--build/win32/gi-setenv-msvc.mak12
-rw-r--r--build/win32/gi-tests-msvc.mak (renamed from build/gi-tests-msvc.mak)158
-rw-r--r--build/win32/gi_msvc_build_utils.py (renamed from build/gi_msvc_build_utils.py)0
-rw-r--r--build/win32/introspection-msvc.mak (renamed from build/introspection-msvc.mak)55
-rw-r--r--build/win32/replace.py (renamed from build/replace.py)13
-rw-r--r--build/win32/vs10/Makefile.am2
-rw-r--r--build/win32/vs10/Makefile.in27
-rw-r--r--build/win32/vs10/README.txt30
-rw-r--r--build/win32/vs10/cmph-bdz-test.vcxproj2
-rw-r--r--build/win32/vs10/g-ir-compiler.vcxproj3
-rw-r--r--build/win32/vs10/g-ir-compiler.vcxprojin3
-rw-r--r--build/win32/vs10/g-ir-generate.vcxproj2
-rw-r--r--build/win32/vs10/gi-build-defines.props2
-rw-r--r--build/win32/vs10/gi-extra-paths.props6
-rw-r--r--build/win32/vs10/gi-gen-srcs.props4
-rw-r--r--build/win32/vs10/gi-install.props16
-rw-r--r--build/win32/vs10/gi-install.propsin17
-rw-r--r--build/win32/vs10/gi-install.vcxproj (renamed from build/win32/vs10/install.vcxproj)10
-rw-r--r--build/win32/vs10/gi-prebuild.vcxproj4
-rw-r--r--build/win32/vs10/girepository.vcxproj2
-rw-r--r--build/win32/vs10/girepository.vcxprojin2
-rw-r--r--build/win32/vs10/glib-print.vcxproj2
-rw-r--r--build/win32/vs10/gobject-introspection.sln2
-rw-r--r--build/win32/vs11/Makefile.am2
-rw-r--r--build/win32/vs11/Makefile.in31
-rw-r--r--build/win32/vs11/README.txt30
-rw-r--r--build/win32/vs11/cmph-bdz-test.vcxproj2
-rw-r--r--build/win32/vs11/g-ir-compiler.vcxproj3
-rw-r--r--build/win32/vs11/g-ir-generate.vcxproj2
-rw-r--r--build/win32/vs11/gi-build-defines.props2
-rw-r--r--build/win32/vs11/gi-extra-paths.props6
-rw-r--r--build/win32/vs11/gi-gen-srcs.props4
-rw-r--r--build/win32/vs11/gi-install.props16
-rw-r--r--build/win32/vs11/gi-install.vcxproj (renamed from build/win32/vs11/install.vcxproj)10
-rw-r--r--build/win32/vs11/gi-prebuild.vcxproj4
-rw-r--r--build/win32/vs11/girepository.vcxproj2
-rw-r--r--build/win32/vs11/glib-print.vcxproj2
-rw-r--r--build/win32/vs11/gobject-introspection.sln2
-rw-r--r--build/win32/vs12/Makefile.am2
-rw-r--r--build/win32/vs12/Makefile.in31
-rw-r--r--build/win32/vs12/README.txt30
-rw-r--r--build/win32/vs12/cmph-bdz-test.vcxproj2
-rw-r--r--build/win32/vs12/g-ir-compiler.vcxproj3
-rw-r--r--build/win32/vs12/g-ir-generate.vcxproj2
-rw-r--r--build/win32/vs12/gi-build-defines.props2
-rw-r--r--build/win32/vs12/gi-extra-paths.props6
-rw-r--r--build/win32/vs12/gi-gen-srcs.props4
-rw-r--r--build/win32/vs12/gi-install.props16
-rw-r--r--build/win32/vs12/gi-install.vcxproj (renamed from build/win32/vs12/install.vcxproj)10
-rw-r--r--build/win32/vs12/gi-prebuild.vcxproj4
-rw-r--r--build/win32/vs12/girepository.vcxproj2
-rw-r--r--build/win32/vs12/glib-print.vcxproj2
-rw-r--r--build/win32/vs12/gobject-introspection.sln2
-rw-r--r--build/win32/vs14/Makefile.am2
-rw-r--r--build/win32/vs14/Makefile.in31
-rw-r--r--build/win32/vs14/README.txt30
-rw-r--r--build/win32/vs14/cmph-bdz-test.vcxproj2
-rw-r--r--build/win32/vs14/g-ir-compiler.vcxproj3
-rw-r--r--build/win32/vs14/g-ir-generate.vcxproj2
-rw-r--r--build/win32/vs14/gi-build-defines.props2
-rw-r--r--build/win32/vs14/gi-extra-paths.props6
-rw-r--r--build/win32/vs14/gi-gen-srcs.props4
-rw-r--r--build/win32/vs14/gi-install.props16
-rw-r--r--build/win32/vs14/gi-install.vcxproj (renamed from build/win32/vs14/install.vcxproj)10
-rw-r--r--build/win32/vs14/gi-prebuild.vcxproj4
-rw-r--r--build/win32/vs14/girepository.vcxproj2
-rw-r--r--build/win32/vs14/glib-print.vcxproj2
-rw-r--r--build/win32/vs14/gobject-introspection.sln2
-rw-r--r--build/win32/vs9/Makefile.am2
-rw-r--r--build/win32/vs9/Makefile.in27
-rw-r--r--build/win32/vs9/README.txt28
-rw-r--r--build/win32/vs9/gi-build-defines.vsprops2
-rw-r--r--build/win32/vs9/gi-extra-paths.vsprops4
-rw-r--r--build/win32/vs9/gi-gen-srcs.vsprops8
-rw-r--r--build/win32/vs9/gi-install.vcproj (renamed from build/win32/vs9/install.vcproj)0
-rw-r--r--build/win32/vs9/gi-install.vsprops8
-rw-r--r--build/win32/vs9/gi-install.vspropsin8
-rw-r--r--build/win32/vs9/gobject-introspection.sln2
-rw-r--r--common.mk4
-rw-r--r--config.h.in9
-rw-r--r--config.h.win326
-rwxr-xr-xconfigure2534
-rw-r--r--configure.ac6
-rw-r--r--docs/Makefile.in25
-rw-r--r--docs/reference/Makefile.in107
-rw-r--r--docs/reference/html/GIRepository.html1693
-rw-r--r--docs/reference/html/annotation-glossary.html60
-rw-r--r--docs/reference/html/api-index-1-29-0.html28
-rw-r--r--docs/reference/html/api-index-1-29-17.html40
-rw-r--r--docs/reference/html/api-index-1-30-1.html28
-rw-r--r--docs/reference/html/api-index-1-34.html38
-rw-r--r--docs/reference/html/api-index-1-35-8.html28
-rw-r--r--docs/reference/html/api-index-deprecated.html21
-rw-r--r--docs/reference/html/api-index-full.html496
-rw-r--r--docs/reference/html/ch01.html21
-rw-r--r--docs/reference/html/ch03.html21
-rw-r--r--docs/reference/html/gi-GIArgInfo.html960
-rw-r--r--docs/reference/html/gi-GIBaseInfo.html1056
-rw-r--r--docs/reference/html/gi-GICallableInfo.html901
-rw-r--r--docs/reference/html/gi-GICallbackInfo.html69
-rw-r--r--docs/reference/html/gi-GIConstantInfo.html277
-rw-r--r--docs/reference/html/gi-GIEnumInfo.html516
-rw-r--r--docs/reference/html/gi-GIFieldInfo.html501
-rw-r--r--docs/reference/html/gi-GIFunctionInfo.html646
-rw-r--r--docs/reference/html/gi-GIInterfaceInfo.html967
-rw-r--r--docs/reference/html/gi-GIObjectInfo.html2097
-rw-r--r--docs/reference/html/gi-GIPropertyInfo.html273
-rw-r--r--docs/reference/html/gi-GIRegisteredTypeInfo.html286
-rw-r--r--docs/reference/html/gi-GISignalInfo.html276
-rw-r--r--docs/reference/html/gi-GIStructInfo.html576
-rw-r--r--docs/reference/html/gi-GITypeInfo.html628
-rw-r--r--docs/reference/html/gi-GITypelib.html3096
-rw-r--r--docs/reference/html/gi-GIUnionInfo.html660
-rw-r--r--docs/reference/html/gi-GIVFuncInfo.html560
-rw-r--r--docs/reference/html/gi-GIValueInfo.html69
-rw-r--r--docs/reference/html/gi-building.html23
-rw-r--r--docs/reference/html/gi-common-types.html514
-rw-r--r--docs/reference/html/gi-gir-reference.html23
-rw-r--r--docs/reference/html/gi-girffi.html638
-rw-r--r--docs/reference/html/gi-gitypelib.html391
-rw-r--r--docs/reference/html/gi-programming.html23
-rw-r--r--docs/reference/html/gi-struct-hierarchy.html23
-rw-r--r--docs/reference/html/gi-typelib.html21
-rw-r--r--docs/reference/html/gi.devhelp2703
-rw-r--r--docs/reference/html/gi.html21
-rw-r--r--docs/reference/html/home.pngbin654 -> 256 bytes
-rw-r--r--docs/reference/html/index.html11
-rw-r--r--docs/reference/html/index.sgml520
-rw-r--r--docs/reference/html/left-insensitive.pngbin0 -> 395 bytes
-rw-r--r--docs/reference/html/left.pngbin459 -> 262 bytes
-rw-r--r--docs/reference/html/overview.html21
-rw-r--r--docs/reference/html/right-insensitive.pngbin0 -> 373 bytes
-rw-r--r--docs/reference/html/right.pngbin472 -> 261 bytes
-rw-r--r--docs/reference/html/style.css421
-rw-r--r--docs/reference/html/up-insensitive.pngbin0 -> 374 bytes
-rw-r--r--docs/reference/html/up.pngbin406 -> 260 bytes
-rw-r--r--docs/reference/version.xml2
-rw-r--r--gir/gio-2.0.c1010
-rw-r--r--gir/glib-2.0.c638
-rw-r--r--gir/gobject-2.0.c617
-rw-r--r--girepository/gdump.c8
-rw-r--r--girepository/girepository.c21
-rw-r--r--giscanner/ccompiler.py8
-rw-r--r--giscanner/gdumpparser.py6
-rw-r--r--giscanner/giscannermodule.c29
-rw-r--r--giscanner/maintransformer.py1
-rw-r--r--giscanner/msvccompiler.py2
-rw-r--r--giscanner/scannerlexer.l26
-rwxr-xr-xgiscanner/scannermain.py9
-rw-r--r--giscanner/transformer.py3
-rw-r--r--gobject-introspection-1.0.pc4
-rw-r--r--gobject-introspection-no-export-1.0.pc4
-rw-r--r--gtk-doc.make66
-rw-r--r--m4/gtk-doc.m447
-rw-r--r--m4/libtool.m42594
-rw-r--r--m4/ltoptions.m4127
-rw-r--r--m4/ltsugar.m47
-rw-r--r--m4/ltversion.m412
-rw-r--r--m4/lt~obsolete.m47
-rw-r--r--scannerlexer.c164
-rw-r--r--scannerparser.c2096
-rw-r--r--scannerparser.h208
-rw-r--r--tests/Makefile.in42
-rw-r--r--tests/offsets/Makefile.in46
-rw-r--r--tests/offsets/offsets.h2
-rw-r--r--tests/repository/Makefile.in35
-rw-r--r--tests/scanner/Makefile.in46
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page4
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_array_len_prop.page38
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page56
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page47
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_struct_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page4
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_array_len_prop.page26
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page36
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page36
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_struct_out.page32
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page4
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_array_len_prop.page37
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page53
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page45
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_struct_out.page45
-rw-r--r--tests/scanner/Regress-1.0-expected.gir76
-rw-r--r--tests/scanner/Regress-1.0-sections-expected.txt4
-rw-r--r--tests/scanner/annotationparser/Makefile.in38
-rw-r--r--tests/scanner/regress.c55
-rw-r--r--tests/scanner/regress.h13
-rw-r--r--tests/warn/Makefile.in36
-rw-r--r--tools/g-ir-tool-template.in4
215 files changed, 23323 insertions, 16184 deletions
diff --git a/Makefile.am b/Makefile.am
index 437c673f..b080a891 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -50,6 +50,7 @@ dist_make_DATA = Makefile.introspection
EXTRA_DIST += \
COPYING.LGPL \
COPYING.GPL \
+ autogen.sh \
CONTRIBUTORS \
$(pkgconfig_DATA) \
$(man_MANS) \
diff --git a/Makefile.in b/Makefile.in
index c83a69e0..96279f02 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -99,7 +99,17 @@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -167,32 +177,6 @@ bin_PROGRAMS = g-ir-compiler$(EXEEXT) g-ir-generate$(EXEEXT)
noinst_PROGRAMS = $(am__EXEEXT_1) glib-print$(EXEEXT)
EXTRA_PROGRAMS = cmph-bdz-test$(EXEEXT) gthash-test$(EXEEXT)
TESTS = cmph-bdz-test$(EXEEXT) gthash-test$(EXEEXT)
-DIST_COMMON = $(srcdir)/common.mk $(srcdir)/Makefile.introspection \
- $(srcdir)/Makefile-cmph.am $(srcdir)/Makefile-girepository.am \
- $(srcdir)/Makefile-giscanner.am $(srcdir)/Makefile-examples.am \
- $(srcdir)/Makefile-gir.am $(srcdir)/Makefile-tools.am \
- $(srcdir)/Makefile-msvcproj.am \
- $(top_srcdir)/build/Makefile.msvcproj $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/configure \
- $(am__configure_deps) $(srcdir)/config.h.in \
- $(srcdir)/gobject-introspection-1.0.pc.in \
- $(srcdir)/gobject-introspection-no-export-1.0.pc.in \
- $(srcdir)/config.h.win32.in scannerlexer.c scannerparser.h \
- scannerparser.c $(top_srcdir)/build-aux/depcomp \
- $(top_srcdir)/build-aux/ylwrap $(collections_PYTHON) \
- $(pkgpyexec_PYTHON) $(top_srcdir)/build-aux/py-compile \
- $(dist_make_DATA) $(nobase_dist_template_DATA) \
- $(girepo_HEADERS) $(top_srcdir)/build-aux/test-driver AUTHORS \
- COPYING ChangeLog NEWS README TODO build-aux/compile \
- build-aux/config.guess build-aux/config.sub build-aux/depcomp \
- build-aux/install-sh build-aux/missing build-aux/py-compile \
- build-aux/ylwrap build-aux/ltmain.sh \
- $(top_srcdir)/build-aux/compile \
- $(top_srcdir)/build-aux/config.guess \
- $(top_srcdir)/build-aux/config.sub \
- $(top_srcdir)/build-aux/install-sh \
- $(top_srcdir)/build-aux/ltmain.sh \
- $(top_srcdir)/build-aux/missing
@OS_WIN32_FALSE@am__append_1 = gi-dump-types
# Windows requires Python extension modules to be explicitly
@@ -217,6 +201,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(collections_PYTHON) \
+ $(pkgpyexec_PYTHON) $(dist_make_DATA) \
+ $(nobase_dist_template_DATA) $(girepo_HEADERS) \
+ $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
@@ -694,6 +683,31 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile-cmph.am \
+ $(srcdir)/Makefile-examples.am $(srcdir)/Makefile-gir.am \
+ $(srcdir)/Makefile-girepository.am \
+ $(srcdir)/Makefile-giscanner.am $(srcdir)/Makefile-msvcproj.am \
+ $(srcdir)/Makefile-tools.am $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.introspection $(srcdir)/common.mk \
+ $(srcdir)/config.h.in $(srcdir)/config.h.win32.in \
+ $(srcdir)/gobject-introspection-1.0.pc.in \
+ $(srcdir)/gobject-introspection-no-export-1.0.pc.in \
+ $(top_srcdir)/build-aux/compile \
+ $(top_srcdir)/build-aux/config.guess \
+ $(top_srcdir)/build-aux/config.sub \
+ $(top_srcdir)/build-aux/depcomp \
+ $(top_srcdir)/build-aux/install-sh \
+ $(top_srcdir)/build-aux/ltmain.sh \
+ $(top_srcdir)/build-aux/missing \
+ $(top_srcdir)/build-aux/py-compile \
+ $(top_srcdir)/build-aux/test-driver \
+ $(top_srcdir)/build-aux/ylwrap \
+ $(top_srcdir)/build/Makefile.msvcproj AUTHORS COPYING \
+ ChangeLog NEWS README TODO build-aux/compile \
+ build-aux/config.guess build-aux/config.sub build-aux/depcomp \
+ build-aux/install-sh build-aux/ltmain.sh build-aux/missing \
+ build-aux/py-compile build-aux/ylwrap scannerlexer.c \
+ scannerparser.c scannerparser.h
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -797,6 +811,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -818,6 +833,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -906,6 +922,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -920,9 +937,10 @@ EXTRA_DIST = girepository/docs.c $(STATIC_GIRSOURCES) \
gir/cairo-1.0.gir.in gir/glib-2.0.c gir/gmodule-2.0.c \
gir/gobject-2.0.c gir/gio-2.0.c tools/g-ir-tool-template.in \
$(MSVCPROJ_GENERATED) config.h.win32 COPYING.LGPL COPYING.GPL \
- CONTRIBUTORS $(pkgconfig_DATA) $(man_MANS) $(m4_DATA) \
- misc/pep8.py misc/pyflakes.py misc/update-glib-annotations.py \
- misc/update-gtkdoc-tests.py misc/verbump.py
+ autogen.sh CONTRIBUTORS $(pkgconfig_DATA) $(man_MANS) \
+ $(m4_DATA) misc/pep8.py misc/pyflakes.py \
+ misc/update-glib-annotations.py misc/update-gtkdoc-tests.py \
+ misc/verbump.py
lib_LTLIBRARIES = libgirepository-1.0.la
noinst_LTLIBRARIES = libgirepository-internals.la \
libgirepository-gthash.la libgiscanner.la
@@ -953,8 +971,13 @@ INTROSPECTION_SCANNER_ARGS = \
--add-include-path=$(top_builddir) \
--add-include-path=$(top_builddir)/gir
+
+# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler.
+# Normally will be undefined but can be set (e.g. to wine or qemu)
+# when cross-compiling
INTROSPECTION_COMPILER = \
env PATH=".libs:$(PATH)" \
+ $(GI_CROSS_LAUNCHER) \
$(top_builddir)/g-ir-compiler$(EXEEXT)
INTROSPECTION_COMPILER_ARGS = \
@@ -1015,7 +1038,7 @@ _gir_silent_scanner_opts_0 = --quiet
_gir_silent_compiler = $(_gir_silent_compiler_$(V))
_gir_silent_compiler_ = $(_gir_silent_compiler_$(_gir_verbosity))
_gir_silent_compiler_0 = @echo " GICOMP $(1)";
-_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)"
+_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)"
libcmph_la_CPPFLAGS = -Icmph $(GLIB_CFLAGS) $(GI_HIDDEN_VISIBILITY_CFLAGS)
libcmph_la_LIBADD = -lm $(GLIB_LIBS)
libcmph_la_SOURCES = \
@@ -1550,7 +1573,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/co
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1560,7 +1582,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
-$(srcdir)/common.mk $(srcdir)/Makefile.introspection $(srcdir)/Makefile-cmph.am $(srcdir)/Makefile-girepository.am $(srcdir)/Makefile-giscanner.am $(srcdir)/Makefile-examples.am $(srcdir)/Makefile-gir.am $(srcdir)/Makefile-tools.am $(srcdir)/Makefile-msvcproj.am $(top_srcdir)/build/Makefile.msvcproj:
+$(srcdir)/common.mk $(srcdir)/Makefile.introspection $(srcdir)/Makefile-cmph.am $(srcdir)/Makefile-girepository.am $(srcdir)/Makefile-giscanner.am $(srcdir)/Makefile-examples.am $(srcdir)/Makefile-gir.am $(srcdir)/Makefile-tools.am $(srcdir)/Makefile-msvcproj.am $(top_srcdir)/build/Makefile.msvcproj $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
@@ -1572,8 +1594,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -1905,14 +1927,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -2882,7 +2904,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -3102,10 +3124,16 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -3140,16 +3168,17 @@ distcheck: dist
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
- mkdir $(distdir)/_build $(distdir)/_inst
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && $(am__cd) $(distdir)/_build/sub \
+ && ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@@ -3382,6 +3411,8 @@ uninstall-man: uninstall-man1
uninstall-pkgpyexecLTLIBRARIES uninstall-pkgpyexecPYTHON \
uninstall-typelibsDATA
+.PRECIOUS: Makefile
+
# Make sure the required variables are set, these should under normal
# circumstances come from introspection.m4
diff --git a/Makefile.introspection b/Makefile.introspection
index cd7bd1b1..57bec209 100644
--- a/Makefile.introspection
+++ b/Makefile.introspection
@@ -84,7 +84,7 @@ _gir_silent_compiler = $(_gir_silent_compiler_$(V))
_gir_silent_compiler_ = $(_gir_silent_compiler_$(_gir_verbosity))
_gir_silent_compiler_0 = @echo " GICOMP $(1)";
-_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)"
+_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)"
#
# Creates a GIR by scanning C headers/sources
diff --git a/aclocal.m4 b/aclocal.m4
index 29eeea60..02a45900 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,32 +20,63 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-#
-# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
+dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+dnl serial 11 (pkg-config-0.29)
+dnl
+dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -67,18 +98,19 @@ if test -n "$PKG_CONFIG"; then
PKG_CONFIG=""
fi
fi[]dnl
-])# PKG_PROG_PKG_CONFIG
+])dnl PKG_PROG_PKG_CONFIG
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
@@ -88,8 +120,10 @@ m4_ifvaln([$3], [else
$3])dnl
fi])
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
@@ -101,10 +135,11 @@ m4_define([_PKG_CONFIG],
else
pkg_failed=untried
fi[]dnl
-])# _PKG_CONFIG
+])dnl _PKG_CONFIG
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -112,19 +147,17 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
else
_pkg_short_errors_supported=no
fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
@@ -178,16 +211,40 @@ else
AC_MSG_RESULT([yes])
$3
fi[]dnl
-])# PKG_CHECK_MODULES
+])dnl PKG_CHECK_MODULES
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
@@ -198,16 +255,18 @@ AC_ARG_WITH([pkgconfigdir],
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
+])dnl PKG_INSTALLDIR
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
@@ -218,9 +277,26 @@ AC_ARG_WITH([noarch-pkgconfigdir],
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
+])dnl PKG_NOARCH_INSTALLDIR
+
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])dnl PKG_CHECK_VAR
+
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -232,10 +308,10 @@ m4_popdef([pkg_description])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.13.4], [],
+m4_if([$1], [1.15], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -251,14 +327,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.4])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -303,15 +379,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -342,7 +417,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -533,7 +608,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -609,7 +684,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -618,6 +693,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -693,8 +774,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -726,6 +807,51 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
@@ -734,7 +860,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -756,7 +881,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -767,7 +892,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -777,7 +902,7 @@ if test x"${install_sh}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -799,7 +924,7 @@ AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -834,7 +959,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -882,41 +1007,9 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -955,7 +1048,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -984,7 +1077,54 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1219,7 +1359,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
sys.exit(sys.hexversion < minverhex)"
AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1238,7 +1378,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1319,7 +1459,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1379,7 +1519,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1407,7 +1547,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1426,7 +1566,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 00000000..58fa019e
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+test -n "$srcdir" || srcdir=`dirname "$0"`
+test -n "$srcdir" || srcdir=.
+
+olddir=`pwd`
+cd "$srcdir"
+
+GTKDOCIZE=$(which gtkdocize 2>/dev/null)
+if test -z $GTKDOCIZE; then
+ echo "You don't have gtk-doc installed, and thus won't be able to generate the documentation."
+ rm -f gtk-doc.make
+ cat > gtk-doc.make <<EOF
+EXTRA_DIST =
+CLEANFILES =
+EOF
+else
+ gtkdocize --flavour no-tmpl || exit $?
+fi
+
+AUTORECONF=`which autoreconf`
+if test -z $AUTORECONF; then
+ echo "*** No autoreconf found, please install it ***"
+ exit 1
+fi
+
+autoreconf --force --install --verbose || exit $?
+
+cd "$olddir"
+test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
diff --git a/build-aux/compile b/build-aux/compile
index 531136b0..a85b723c 100755
--- a/build-aux/compile
+++ b/build-aux/compile
@@ -3,7 +3,7 @@
scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/build-aux/config.guess b/build-aux/config.guess
index b79252d6..16592509 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2013-06-10'
+timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -24,12 +24,12 @@ timestamp='2013-06-10'
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
#
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
LIBC=gnu
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
;;
esac
@@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
@@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
os=netbsd
;;
esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
+ esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
@@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
+ echo "${machine}-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -235,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -579,8 +596,9 @@ EOF
else
IBM_ARCH=powerpc
fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
@@ -826,7 +844,7 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -932,6 +950,9 @@ EOF
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -969,10 +990,10 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or1k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
exit ;;
- or32:Linux:*:*)
+ or32:Linux:*:* | or1k*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
@@ -1020,7 +1041,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1260,16 +1281,26 @@ EOF
if test "$UNAME_PROCESSOR" = unknown ; then
UNAME_PROCESSOR=powerpc
fi
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
@@ -1361,154 +1392,6 @@ EOF
exit ;;
esac
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
cat >&2 <<EOF
$0: unable to guess system type
diff --git a/build-aux/config.sub b/build-aux/config.sub
index c765b34b..1acc966a 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2013 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2013-04-24'
+timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@ timestamp='2013-04-24'
# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
@@ -255,16 +255,18 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | epiphany \
- | fido | fr30 | frv \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -282,8 +284,10 @@ case $basic_machine in
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
@@ -295,14 +299,14 @@ case $basic_machine in
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | open8 \
- | or1k | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
+ | riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -310,6 +314,7 @@ case $basic_machine in
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@@ -324,7 +329,10 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -369,18 +377,20 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | elxsi-* \
+ | e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
@@ -400,8 +410,10 @@ case $basic_machine in
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
@@ -413,16 +425,18 @@ case $basic_machine in
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -430,6 +444,7 @@ case $basic_machine in
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
+ | visium-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@@ -506,6 +521,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -767,6 +785,9 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
@@ -794,7 +815,7 @@ case $basic_machine in
os=-mingw64
;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@@ -822,6 +843,10 @@ case $basic_machine in
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
@@ -830,7 +855,7 @@ case $basic_machine in
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-msys
;;
mvs)
@@ -1006,7 +1031,7 @@ case $basic_machine in
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
@@ -1354,7 +1379,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1367,14 +1392,14 @@ case $os in
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1546,6 +1571,9 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
+ c8051-*)
+ os=-elf
+ ;;
hexagon-*)
os=-elf
;;
@@ -1589,9 +1617,6 @@ case $basic_machine in
mips*-*)
os=-elf
;;
- or1k-*)
- os=-elf
- ;;
or32-*)
os=-coff
;;
diff --git a/build-aux/depcomp b/build-aux/depcomp
index 4ebd5b3a..fc98710e 100755
--- a/build-aux/depcomp
+++ b/build-aux/depcomp
@@ -3,7 +3,7 @@
scriptversion=2013-05-30.07; # UTC
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/build-aux/install-sh b/build-aux/install-sh
index 377bb868..59990a10 100755
--- a/build-aux/install-sh
+++ b/build-aux/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2014-09-12.12; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
# This script is compatible with the BSD install script, but was written
# from scratch.
+tab=' '
nl='
'
-IFS=" "" $nl"
+IFS=" $tab$nl"
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
-# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
posix_mkdir=
# Desired mode of installed file.
@@ -97,7 +82,7 @@ dir_arg=
dst_arg=
copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift;;
+ shift;;
-s) stripcmd=$stripprog;;
- -t) dst_arg=$2
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
- shift;;
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
- -T) no_target_directory=true;;
+ -T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
- --) shift
- break;;
+ --) shift
+ break;;
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
*) break;;
esac
shift
done
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
+
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -208,6 +204,15 @@ if test $# -eq 0; then
fi
if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
+
+if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw='% 200'
+ u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw=,u+rw
+ u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@@ -269,41 +274,15 @@ do
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
+ dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
@@ -314,74 +293,81 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ # $RANDOM is not portable (e.g. dash); use it when possible to
+ # lower collision chance
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
+ # create the $tmpdir first (and fail if unsuccessful) to make sure
+ # that nobody tries to guess the $tmpdir name.
+ if (umask $mkdir_umask &&
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
esac
if
$posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
@@ -391,53 +377,51 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
- *) prefix='';;
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
esac
- eval "$initialize_posix_glob"
-
oIFS=$IFS
IFS=/
- $posix_glob set -f
+ set -f
set fnord $dstdir
shift
- $posix_glob set +f
+ set +f
IFS=$oIFS
prefixes=
for d
do
- test X"$d" = X && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
done
if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
fi
fi
@@ -472,15 +456,12 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
+ set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
@@ -493,24 +474,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh
index 63ae69dc..147d758a 100644
--- a/build-aux/ltmain.sh
+++ b/build-aux/ltmain.sh
@@ -1,9 +1,12 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+## by inline-source v2014-01-03.01
-# libtool (GNU libtool) 2.4.2
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -23,881 +26,2112 @@
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --no-quiet, --no-silent
-# print informational messages (default)
-# --no-warn don't display warning messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print more informational messages than default
-# --no-verbose don't print the extra informational messages
-# --version print version information
-# -h, --help, --help-all print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE. When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2
-# automake: $automake_version
-# autoconf: $autoconf_version
-#
-# Report bugs to <bug-libtool@gnu.org>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
PROGRAM=libtool
PACKAGE=libtool
-VERSION=2.4.2
-TIMESTAMP=""
-package_revision=1.3337
+VERSION="2.4.6 Debian-2.4.6-0.1"
+package_revision=2.4.6
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
- eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- $lt_var=C
- export $lt_var
- lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
- lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ eval "if test set = \"\${$_G_var+set}\"; then
+ save_$_G_var=\$$_G_var
+ $_G_var=C
+ export $_G_var
+ _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
fi"
done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
-$lt_unset CDPATH
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+ _G_progs_list=$1
+ _G_check_func=$2
+ _G_PATH=${3-"$PATH"}
+
+ _G_path_prog_max=0
+ _G_path_prog_found=false
+ _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+ for _G_dir in $_G_PATH; do
+ IFS=$_G_save_IFS
+ test -z "$_G_dir" && _G_dir=.
+ for _G_prog_name in $_G_progs_list; do
+ for _exeext in '' .EXE; do
+ _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+ func_executable_p "$_G_path_prog" || continue
+ case `"$_G_path_prog" --version 2>&1` in
+ *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+ *) $_G_check_func $_G_path_prog
+ func_path_progs_result=$func_check_prog_result
+ ;;
+ esac
+ $_G_path_prog_found && break 3
+ done
+ done
+ done
+ IFS=$_G_save_IFS
+ test -z "$func_path_progs_result" && {
+ echo "no acceptable sed could be found in \$PATH" >&2
+ exit 1
+ }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+ _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for _G_i in 1 2 3 4 5 6 7; do
+ _G_sed_script=$_G_sed_script$nl$_G_sed_script
+ done
+ echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+ _G_sed_script=
+
+ func_check_prog_sed ()
+ {
+ _G_path_prog=$1
+ _G_count=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo '' >> conftest.nl
+ "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+ rm -f conftest.sed
+ SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+ func_check_prog_grep ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ _G_path_prog_max=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo 'GREP' >> conftest.nl
+ "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+ GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables. These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
: ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-} # func_dirname may be replaced by extended shell implementation
-
-
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
- func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same. If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion. Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+ s/$_G_bs4/&\\
+/g
+ s/^$_G_bs2$_G_dollar/$_G_bs&/
+ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+ s/\n//g"
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
- esac
-} # func_stripname may be replaced by extended shell implementation
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
- s@/\./@/@g
- t dotsl
- s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-# value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
- # Start from root dir and reassemble the path.
- func_normal_abspath_result=
- func_normal_abspath_tpath=$1
- func_normal_abspath_altnamespace=
- case $func_normal_abspath_tpath in
- "")
- # Empty path, that just means $cwd.
- func_stripname '' '/' "`pwd`"
- func_normal_abspath_result=$func_stripname_result
- return
- ;;
- # The next three entries are used to spot a run of precisely
- # two leading slashes without using negated character classes;
- # we take advantage of case's first-match behaviour.
- ///*)
- # Unusual form of absolute path, do nothing.
- ;;
- //*)
- # Not necessarily an ordinary path; POSIX reserves leading '//'
- # and for example Cygwin uses it to access remote file shares
- # over CIFS/SMB, so we conserve a leading double slash if found.
- func_normal_abspath_altnamespace=/
- ;;
- /*)
- # Absolute path, do nothing.
- ;;
- *)
- # Relative path, prepend $cwd.
- func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
- ;;
- esac
- # Cancel out all the simple stuff to save iterations. We also want
- # the path to end with a slash for ease of parsing, so make sure
- # there is one (and only one) here.
- func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
- while :; do
- # Processed it all yet?
- if test "$func_normal_abspath_tpath" = / ; then
- # If we ascended to the root using ".." the result may be empty now.
- if test -z "$func_normal_abspath_result" ; then
- func_normal_abspath_result=/
- fi
- break
- fi
- func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$pathcar"`
- func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$pathcdr"`
- # Figure out what to do with it
- case $func_normal_abspath_tcomponent in
- "")
- # Trailing empty path component, ignore it.
- ;;
- ..)
- # Parent dir; strip last assembled component from result.
- func_dirname "$func_normal_abspath_result"
- func_normal_abspath_result=$func_dirname_result
- ;;
- *)
- # Actual path component, append it.
- func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
- ;;
- esac
- done
- # Restore leading double-slash if one was found on entry.
- func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-# value returned in "$func_relative_path_result"
-func_relative_path ()
-{
- func_relative_path_result=
- func_normal_abspath "$1"
- func_relative_path_tlibdir=$func_normal_abspath_result
- func_normal_abspath "$2"
- func_relative_path_tbindir=$func_normal_abspath_result
-
- # Ascend the tree starting from libdir
- while :; do
- # check if we have found a prefix of bindir
- case $func_relative_path_tbindir in
- $func_relative_path_tlibdir)
- # found an exact match
- func_relative_path_tcancelled=
- break
- ;;
- $func_relative_path_tlibdir*)
- # found a matching prefix
- func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
- func_relative_path_tcancelled=$func_stripname_result
- if test -z "$func_relative_path_result"; then
- func_relative_path_result=.
- fi
- break
- ;;
- *)
- func_dirname $func_relative_path_tlibdir
- func_relative_path_tlibdir=${func_dirname_result}
- if test "x$func_relative_path_tlibdir" = x ; then
- # Have to descend all the way to the root!
- func_relative_path_result=../$func_relative_path_result
- func_relative_path_tcancelled=$func_relative_path_tbindir
- break
- fi
- func_relative_path_result=../$func_relative_path_result
- ;;
- esac
- done
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
- # Now calculate path; take care to avoid doubling-up slashes.
- func_stripname '' '/' "$func_relative_path_result"
- func_relative_path_result=$func_stripname_result
- func_stripname '/' '/' "$func_relative_path_tcancelled"
- if test "x$func_stripname_result" != x ; then
- func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
- fi
+# By convention, finish your script with:
+#
+# exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
- # Normalisation. If bindir is libdir, return empty string,
- # else relative path ending with a slash; either way, target
- # file name can be directly appended.
- if test ! -z "$func_relative_path_result"; then
- func_stripname './' '' "$func_relative_path_result/"
- func_relative_path_result=$func_stripname_result
- fi
-}
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
-# Make sure we have an absolute path for reexecution:
+# Make sure we have an absolute progpath for reexecution:
case $progpath in
[\\/]*|[A-Za-z]:\\*) ;;
*[\\/]*)
- progdir=$func_dirname_result
+ progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
progdir=`cd "$progdir" && pwd`
- progpath="$progdir/$progname"
+ progpath=$progdir/$progname
;;
*)
- save_IFS="$IFS"
+ _G_IFS=$IFS
IFS=${PATH_SEPARATOR-:}
for progdir in $PATH; do
- IFS="$save_IFS"
+ IFS=$_G_IFS
test -x "$progdir/$progname" && break
done
- IFS="$save_IFS"
+ IFS=$_G_IFS
test -n "$progdir" || progdir=`pwd`
- progpath="$progdir/$progname"
+ progpath=$progdir/$progname
;;
esac
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes. A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
- s/$bs4/&\\
-/g
- s/^$bs2$dollar/$bs&/
- s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
- s/\n//g"
-
-# Standard options:
opt_dry_run=false
-opt_help=false
opt_quiet=false
opt_verbose=false
-opt_warning=:
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
+# Categories 'all' and 'none' are always available. Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
+
+# By default, display warnings according to 'opt_warning_types'. Set
+# 'warning_func' to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
+
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
+
+
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
{
- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
+ $debug_cmd
+
+ test -t 1 && {
+ # COLORTERM and USE_ANSI_COLORS environment variables take
+ # precedence, because most terminfo databases neglect to describe
+ # whether color sequences are supported.
+ test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+ if test 1 = "$USE_ANSI_COLORS"; then
+ # Standard ANSI escape sequences
+ tc_reset=''
+ tc_bold=''; tc_standout=''
+ tc_red=''; tc_green=''
+ tc_blue=''; tc_cyan=''
+ else
+ # Otherwise trust the terminfo database after all.
+ test -n "`tput sgr0 2>/dev/null`" && {
+ tc_reset=`tput sgr0`
+ test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+ tc_standout=$tc_bold
+ test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+ test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+ test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+ test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+ test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+ }
+ fi
+ }
+
+ require_term_colors=:
}
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
+
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+ # We should try to minimise forks, especially on Windows where they are
+ # unreasonably slow, so skip the feature probes when bash or zsh are
+ # being used:
+ if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+ : ${_G_HAVE_ARITH_OP="yes"}
+ : ${_G_HAVE_XSI_OPS="yes"}
+ # The += operator was introduced in bash 3.1
+ case $BASH_VERSION in
+ [12].* | 3.0 | 3.0*) ;;
+ *)
+ : ${_G_HAVE_PLUSEQ_OP="yes"}
+ ;;
+ esac
+ fi
+
+ # _G_HAVE_PLUSEQ_OP
+ # Can be empty, in which case the shell is probed, "yes" if += is
+ # useable or anything else if it does not work.
+ test -z "$_G_HAVE_PLUSEQ_OP" \
+ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+ && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_append ()
+ {
+ $debug_cmd
+
+ eval "$1+=\$2"
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_append ()
+ {
+ $debug_cmd
+
+ eval "$1=\$$1\$2"
+ }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+ eval 'func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1+=\\ \$func_quote_for_eval_result"
+ }'
+else
+ func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE. For example:
+#
+# func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
{
- $opt_verbose && func_echo ${1+"$@"}
+ $debug_cmd
- # A bug in bash halts the script if the last line of a function
- # fails when set -e is in force, so we need another command to
- # work around that:
- :
+ eval _G_current_value='`$ECHO $'$1'`'
+ _G_delim=`expr "$2" : '\(.\)'`
+
+ case $_G_delim$_G_current_value$_G_delim in
+ *"$2$_G_delim"*) ;;
+ *) func_append "$@" ;;
+ esac
}
-# func_echo_all arg...
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+ test -z "$_G_HAVE_ARITH_OP" \
+ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+ && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+ eval 'func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=$(( $* ))
+ }'
+else
+ func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=`expr "$@"`
+ }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ # If this shell supports suffix pattern removal, then use it to avoid
+ # forking. Hide the definitions single quotes in case the shell chokes
+ # on unsupported syntax...
+ _b='func_basename_result=${1##*/}'
+ _d='case $1 in
+ */*) func_dirname_result=${1%/*}$2 ;;
+ * ) func_dirname_result=$3 ;;
+ esac'
+
+else
+ # ...otherwise fall back to using sed.
+ _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+ _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
+ if test "X$func_dirname_result" = "X$1"; then
+ func_dirname_result=$3
+ else
+ func_append func_dirname_result "$2"
+ fi'
+fi
+
+eval 'func_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+ $debug_cmd
+
+ '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+ '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
# Invoke $ECHO with all args, space-separated.
func_echo_all ()
{
$ECHO "$*"
}
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
{
- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+ $debug_cmd
+
+ $require_term_colors
+
+ _G_infix=$1; shift
+ _G_indent=$_G_infix
+ _G_prefix="$progname: $_G_infix: "
+ _G_message=$*
+
+ # Strip color escape sequences before counting printable length
+ for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+ do
+ test -n "$_G_tc" && {
+ _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+ _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+ }
+ done
+ _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
+
+ func_echo_infix_1_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_infix_1_IFS
+ $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+ _G_prefix=$_G_indent
+ done
+ IFS=$func_echo_infix_1_IFS
}
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
{
- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+ $debug_cmd
- # bash bug again:
- :
+ $require_term_colors
+
+ func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
}
-# func_fatal_error arg...
+
+# func_fatal_error ARG...
+# -----------------------
# Echo program name prefixed message to standard error, and exit.
func_fatal_error ()
{
- func_error ${1+"$@"}
- exit $EXIT_FAILURE
-}
+ $debug_cmd
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
- func_error ${1+"$@"}
- func_fatal_error "$help"
+ func_error "$*"
+ exit $EXIT_FAILURE
}
-help="Try \`$progname --help' for more information." ## default
-# func_grep expression filename
+# func_grep EXPRESSION FILENAME
+# -----------------------------
# Check whether EXPRESSION matches any line of FILENAME, without output.
func_grep ()
{
+ $debug_cmd
+
$GREP "$1" "$2" >/dev/null 2>&1
}
-# func_mkdir_p directory-path
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+ test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=${#1}
+ }'
+else
+ func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+ }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
# Make sure the entire path to DIRECTORY-PATH is available.
func_mkdir_p ()
{
- my_directory_path="$1"
- my_dir_list=
+ $debug_cmd
+
+ _G_directory_path=$1
+ _G_dir_list=
- if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+ if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
- # Protect directory names starting with `-'
- case $my_directory_path in
- -*) my_directory_path="./$my_directory_path" ;;
+ # Protect directory names starting with '-'
+ case $_G_directory_path in
+ -*) _G_directory_path=./$_G_directory_path ;;
esac
# While some portion of DIR does not yet exist...
- while test ! -d "$my_directory_path"; do
+ while test ! -d "$_G_directory_path"; do
# ...make a list in topmost first order. Use a colon delimited
# list incase some portion of path contains whitespace.
- my_dir_list="$my_directory_path:$my_dir_list"
+ _G_dir_list=$_G_directory_path:$_G_dir_list
# If the last portion added has no slash in it, the list is done
- case $my_directory_path in */*) ;; *) break ;; esac
+ case $_G_directory_path in */*) ;; *) break ;; esac
# ...otherwise throw away the child directory and loop
- my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+ _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
done
- my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+ _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
- save_mkdir_p_IFS="$IFS"; IFS=':'
- for my_dir in $my_dir_list; do
- IFS="$save_mkdir_p_IFS"
- # mkdir can fail with a `File exist' error if two processes
+ func_mkdir_p_IFS=$IFS; IFS=:
+ for _G_dir in $_G_dir_list; do
+ IFS=$func_mkdir_p_IFS
+ # mkdir can fail with a 'File exist' error if two processes
# try to create one of the directories concurrently. Don't
# stop in that case!
- $MKDIR "$my_dir" 2>/dev/null || :
+ $MKDIR "$_G_dir" 2>/dev/null || :
done
- IFS="$save_mkdir_p_IFS"
+ IFS=$func_mkdir_p_IFS
# Bail out if we (or some other process) failed to create a directory.
- test -d "$my_directory_path" || \
- func_fatal_error "Failed to create \`$1'"
+ test -d "$_G_directory_path" || \
+ func_fatal_error "Failed to create '$1'"
fi
}
-# func_mktempdir [string]
+# func_mktempdir [BASENAME]
+# -------------------------
# Make a temporary directory that won't clash with other running
# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
+# given, BASENAME is the basename for that directory.
func_mktempdir ()
{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
+ $debug_cmd
+
+ _G_template=${TMPDIR-/tmp}/${1-$progname}
- if test "$opt_dry_run" = ":"; then
+ if test : = "$opt_dry_run"; then
# Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
+ _G_tmpdir=$_G_template-$$
else
# If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+ _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
- if test ! -d "$my_tmpdir"; then
+ if test ! -d "$_G_tmpdir"; then
# Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
+ _G_tmpdir=$_G_template-${RANDOM-0}$$
- save_mktempdir_umask=`umask`
+ func_mktempdir_umask=`umask`
umask 0077
- $MKDIR "$my_tmpdir"
- umask $save_mktempdir_umask
+ $MKDIR "$_G_tmpdir"
+ umask $func_mktempdir_umask
fi
# If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || \
- func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ test -d "$_G_tmpdir" || \
+ func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
fi
- $ECHO "$my_tmpdir"
+ $ECHO "$_G_tmpdir"
}
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
{
- case $1 in
- *[\\\`\"\$]*)
- func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
- *)
- func_quote_for_eval_unquoted_result="$1" ;;
- esac
+ $debug_cmd
- case $func_quote_for_eval_unquoted_result in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and and variable
- # expansion for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ # These SED scripts presuppose an absolute path with a trailing slash.
+ _G_pathcar='s|^/\([^/]*\).*$|\1|'
+ _G_pathcdr='s|^/[^/]*||'
+ _G_removedotparts=':dotsl
+ s|/\./|/|g
+ t dotsl
+ s|/\.$|/|'
+ _G_collapseslashes='s|/\{1,\}|/|g'
+ _G_finalslash='s|/*$|/|'
+
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
;;
*)
- func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
esac
+
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test / = "$func_normal_abspath_tpath"; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result"; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
}
-# func_quote_for_expand arg
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+ $debug_cmd
+
+ $opt_quiet || func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+ $debug_cmd
+
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=$func_dirname_result
+ if test -z "$func_relative_path_tlibdir"; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test -n "$func_stripname_result"; then
+ func_append func_relative_path_result "/$func_stripname_result"
+ fi
+
+ # Normalisation. If bindir is libdir, return '.' else relative path.
+ if test -n "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ fi
+
+ test -n "$func_relative_path_result" || func_relative_path_result=.
+
+ :
+}
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+# i) func_quote_for_eval_result
+# double-quoted, suitable for a subsequent eval
+# ii) func_quote_for_eval_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified.
+func_quote_for_eval ()
+{
+ $debug_cmd
+
+ func_quote_for_eval_unquoted_result=
+ func_quote_for_eval_result=
+ while test 0 -lt $#; do
+ case $1 in
+ *[\\\`\"\$]*)
+ _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+ *)
+ _G_unquoted_arg=$1 ;;
+ esac
+ if test -n "$func_quote_for_eval_unquoted_result"; then
+ func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+ else
+ func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ fi
+
+ case $_G_unquoted_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ _G_quoted_arg=\"$_G_unquoted_arg\"
+ ;;
+ *)
+ _G_quoted_arg=$_G_unquoted_arg
+ ;;
+ esac
+
+ if test -n "$func_quote_for_eval_result"; then
+ func_append func_quote_for_eval_result " $_G_quoted_arg"
+ else
+ func_append func_quote_for_eval_result "$_G_quoted_arg"
+ fi
+ shift
+ done
+}
+
+
+# func_quote_for_expand ARG
+# -------------------------
# Aesthetically quote ARG to be evaled later; same as above,
# but do not quote variable references.
func_quote_for_expand ()
{
+ $debug_cmd
+
case $1 in
*[\\\`\"]*)
- my_arg=`$ECHO "$1" | $SED \
- -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ _G_arg=`$ECHO "$1" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
*)
- my_arg="$1" ;;
+ _G_arg=$1 ;;
esac
- case $my_arg in
+ case $_G_arg in
# Double-quote args containing shell metacharacters to delay
# word splitting and command substitution for a subsequent eval.
# Many Bourne shells cannot handle close brackets correctly
# in scan sets, so we specify it separately.
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- my_arg="\"$my_arg\""
+ _G_arg=\"$_G_arg\"
;;
esac
- func_quote_for_expand_result="$my_arg"
+ func_quote_for_expand_result=$_G_arg
}
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_stripname ()
+ {
+ $debug_cmd
+
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary variable first.
+ func_stripname_result=$3
+ func_stripname_result=${func_stripname_result#"$1"}
+ func_stripname_result=${func_stripname_result%"$2"}
+ }'
+else
+ func_stripname ()
+ {
+ $debug_cmd
+
+ case $2 in
+ .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+ *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+ esac
+ }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it.
func_show_eval ()
{
- my_cmd="$1"
- my_fail_exp="${2-:}"
+ $debug_cmd
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
- if ${opt_dry_run-false}; then :; else
- eval "$my_cmd"
- my_status=$?
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
+ func_quote_for_expand "$_G_cmd"
+ eval "func_notquiet $func_quote_for_expand_result"
+
+ $opt_dry_run || {
+ eval "$_G_cmd"
+ _G_status=$?
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
fi
- fi
+ }
}
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it. Use the saved locale for evaluation.
func_show_eval_locale ()
{
- my_cmd="$1"
- my_fail_exp="${2-:}"
+ $debug_cmd
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ $opt_quiet || {
+ func_quote_for_expand "$_G_cmd"
eval "func_echo $func_quote_for_expand_result"
}
- if ${opt_dry_run-false}; then :; else
- eval "$lt_user_locale
- $my_cmd"
- my_status=$?
- eval "$lt_safe_locale"
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
+ $opt_dry_run || {
+ eval "$_G_user_locale
+ $_G_cmd"
+ _G_status=$?
+ eval "$_G_safe_locale"
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
fi
- fi
+ }
}
+
# func_tr_sh
+# ----------
# Turn $1 into a string suitable for a shell variable name.
# Result is stored in $func_tr_sh_result. All characters
# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
# if $1 begins with a digit, a '_' is prepended as well.
func_tr_sh ()
{
- case $1 in
- [0-9]* | *[!a-zA-Z0-9_]*)
- func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
- ;;
- * )
- func_tr_sh_result=$1
- ;;
- esac
+ $debug_cmd
+
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
}
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
{
- $opt_debug
+ $debug_cmd
- $SED -n '/(C)/!b go
- :more
- /\./!{
- N
- s/\n# / /
- b more
- }
- :go
- /^# '$PROGRAM' (GNU /,/# warranty; / {
- s/^# //
- s/^# *$//
- s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
- p
- }' < "$progpath"
- exit $?
+ $opt_verbose && func_echo "$*"
+
+ :
}
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
{
- $opt_debug
+ $debug_cmd
- $SED -n '/^# Usage:/,/^# *.*--help/ {
- s/^# //
- s/^# *$//
- s/\$progname/'$progname'/
- p
- }' < "$progpath"
- echo
- $ECHO "run \`$progname --help | more' for full usage"
- exit $?
+ $require_term_colors
+
+ func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+ $debug_cmd
+
+ # CATEGORY must be in the warning_categories list!
+ case " $warning_categories " in
+ *" $1 "*) ;;
+ *) func_internal_error "invalid warning category '$1'" ;;
+ esac
+
+ _G_category=$1
+ shift
+
+ case " $opt_warning_types " in
+ *" $_G_category "*) $warning_func ${1+"$@"} ;;
+ esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+ $debug_cmd
+
+ printf '%s\n%s\n' "$1" "$2" \
+ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false. Use it like this:
+#
+# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+ $debug_cmd
+
+ test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2014-01-07.03; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+# #!/bin/sh
+# . relative/path/to/funclib.sh
+# . relative/path/to/options-parser
+# scriptversion=1.0
+# func_options ${1+"$@"}
+# eval set dummy "$func_options_result"; shift
+# ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'. Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+ --debug enable verbose shell tracing
+ -W, --warnings=CATEGORY
+ report the warnings falling in CATEGORY [all]
+ -v, --verbose verbosely report processing
+ --version print version information and exit
+ -h, --help print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+ 'all' show all warnings
+ 'none' turn off all the warnings
+ 'error' warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code. A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+ $debug_cmd
+
+ func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not accept hook functions." ;;
+ esac
+
+ eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+ $debug_cmd
+
+ eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+ esac
+
+ eval _G_hook_fns=\$$1_hooks; shift
+
+ for _G_hook in $_G_hook_fns; do
+ eval $_G_hook '"$@"'
+
+ # store returned options list back into positional
+ # parameters for next 'cmd' execution.
+ eval _G_hook_result=\$${_G_hook}_result
+ eval set dummy "$_G_hook_result"; shift
+ done
+
+ func_quote_for_eval ${1+"$@"}
+ func_run_hooks_result=$func_quote_for_eval_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'. Like this:
+#
+# my_options_prep ()
+# {
+# $debug_cmd
+#
+# # Extend the existing usage message.
+# usage_message=$usage_message'
+# -s, --silent don'\''t print informational messages
+# '
+#
+# func_quote_for_eval ${1+"$@"}
+# my_options_prep_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_options_prep my_options_prep
+#
+#
+# my_silent_option ()
+# {
+# $debug_cmd
+#
+# # Note that for efficiency, we parse as many options as we can
+# # recognise in a loop before passing the remainder back to the
+# # caller on the first unrecognised argument we encounter.
+# while test $# -gt 0; do
+# opt=$1; shift
+# case $opt in
+# --silent|-s) opt_silent=: ;;
+# # Separate non-argument short options:
+# -s*) func_split_short_opt "$_G_opt"
+# set dummy "$func_split_short_opt_name" \
+# "-$func_split_short_opt_arg" ${1+"$@"}
+# shift
+# ;;
+# *) set dummy "$_G_opt" "$*"; shift; break ;;
+# esac
+# done
+#
+# func_quote_for_eval ${1+"$@"}
+# my_silent_option_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_parse_options my_silent_option
+#
+#
+# my_option_validation ()
+# {
+# $debug_cmd
+#
+# $opt_silent && $opt_verbose && func_fatal_help "\
+# '--silent' and '--verbose' options are mutually exclusive."
+#
+# func_quote_for_eval ${1+"$@"}
+# my_option_validation_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_validate_options my_option_validation
+#
+# You'll alse need to manually amend $usage_message to reflect the extra
+# options you parse. It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+ $debug_cmd
+
+ func_options_prep ${1+"$@"}
+ eval func_parse_options \
+ ${func_options_prep_result+"$func_options_prep_result"}
+ eval func_validate_options \
+ ${func_parse_options_result+"$func_parse_options_result"}
+
+ eval func_run_hooks func_options \
+ ${func_validate_options_result+"$func_validate_options_result"}
+
+ # save modified positional parameters for caller
+ func_options_result=$func_run_hooks_result
+}
+
+
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters. If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
+{
+ $debug_cmd
+
+ # Option defaults:
+ opt_verbose=false
+ opt_warning_types=
+
+ func_run_hooks func_options_prep ${1+"$@"}
+
+ # save modified positional parameters for caller
+ func_options_prep_result=$func_run_hooks_result
+}
+
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
+{
+ $debug_cmd
+
+ func_parse_options_result=
+
+ # this just eases exit handling
+ while test $# -gt 0; do
+ # Defer to hook functions for initial option parsing, so they
+ # get priority in the event of reusing an option name.
+ func_run_hooks func_parse_options ${1+"$@"}
+
+ # Adjust func_parse_options positional parameters to match
+ eval set dummy "$func_run_hooks_result"; shift
+
+ # Break out of the loop if we already parsed every option.
+ test $# -gt 0 || break
+
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --debug|-x) debug_cmd='set -x'
+ func_echo "enabling shell trace mode"
+ $debug_cmd
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ set dummy --warnings none ${1+"$@"}
+ shift
+ ;;
+
+ --warnings|--warning|-W)
+ test $# = 0 && func_missing_arg $_G_opt && break
+ case " $warning_categories $1" in
+ *" $1 "*)
+ # trailing space prevents matching last $1 above
+ func_append_uniq opt_warning_types " $1"
+ ;;
+ *all)
+ opt_warning_types=$warning_categories
+ ;;
+ *none)
+ opt_warning_types=none
+ warning_func=:
+ ;;
+ *error)
+ opt_warning_types=$warning_categories
+ warning_func=func_fatal_error
+ ;;
+ *)
+ func_fatal_error \
+ "unsupported warning category: '$1'"
+ ;;
+ esac
+ shift
+ ;;
+
+ --verbose|-v) opt_verbose=: ;;
+ --version) func_version ;;
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+
+ # Separate optargs to long options (plugins may need this):
+ --*=*) func_split_equals "$_G_opt"
+ set dummy "$func_split_equals_lhs" \
+ "$func_split_equals_rhs" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate optargs to short options:
+ -W*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-v*|-x*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) break ;;
+ -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ func_parse_options_result=$func_quote_for_eval_result
+}
+
+
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
+{
+ $debug_cmd
+
+ # Display all warnings if -W was not given.
+ test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+ func_run_hooks func_validate_options ${1+"$@"}
+
+ # Bail if the options were screwed!
+ $exit_cmd $EXIT_FAILURE
+
+ # save modified positional parameters for caller
+ func_validate_options_result=$func_run_hooks_result
+}
+
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ $debug_cmd
+
+ eval \$ECHO \""Usage: $usage"\"
+ eval \$ECHO \""$fatal_help"\"
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
}
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
func_help ()
{
- $opt_debug
-
- $SED -n '/^# Usage:/,/# Report bugs to/ {
- :print
- s/^# //
- s/^# *$//
- s*\$progname*'$progname'*
- s*\$host*'"$host"'*
- s*\$SHELL*'"$SHELL"'*
- s*\$LTCC*'"$LTCC"'*
- s*\$LTCFLAGS*'"$LTCFLAGS"'*
- s*\$LD*'"$LD"'*
- s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
- p
- d
- }
- /^# .* home page:/b print
- /^# General help using/b print
- ' < "$progpath"
- ret=$?
- if test -z "$1"; then
- exit $ret
- fi
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message"
+ exit 0
}
-# func_missing_arg argname
+
+# func_missing_arg ARGNAME
+# ------------------------
# Echo program name prefixed message to standard error and set global
# exit_cmd.
func_missing_arg ()
{
- $opt_debug
+ $debug_cmd
- func_error "missing argument for $1."
+ func_error "Missing argument for '$1'."
exit_cmd=exit
}
-# func_split_short_opt shortopt
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=${1%%=*}
+ func_split_equals_rhs=${1#*=}
+ test "x$func_split_equals_lhs" = "x$1" \
+ && func_split_equals_rhs=
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+ func_split_equals_rhs=
+ test "x$func_split_equals_lhs" = "x$1" \
+ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+ }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
# Set func_split_short_opt_name and func_split_short_opt_arg shell
# variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+ func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+ }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
{
- my_sed_short_opt='1s/^\(..\).*$/\1/;q'
- my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+ $debug_cmd
- func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
- func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
+ func_usage_message
+ $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+ exit 0
+}
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
{
- my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
- my_sed_long_arg='1s/^--[^=]*=//'
+ $debug_cmd
- func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
- func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
+ eval \$ECHO \""Usage: $usage"\"
+ echo
+ $SED -n 's|^# ||
+ /^Written by/{
+ x;p;x
+ }
+ h
+ /^Written by/q' < "$progpath"
+ echo
+ eval \$ECHO \""$usage_message"\"
+}
-exit_cmd=:
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $debug_cmd
+ printf '%s\n' "$progname $scriptversion"
+ $SED -n '
+ /(C)/!b go
+ :more
+ /\./!{
+ N
+ s|\n# | |
+ b more
+ }
+ :go
+ /^# Written by /,/# warranty; / {
+ s|^# ||
+ s|^# *$||
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ p
+ }
+ /^# Written by / {
+ s|^# ||
+ p
+ }
+ /^warranty; /q' < "$progpath"
+ exit $?
+}
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
{
- eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
+ $debug_cmd
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
-{
- func_quote_for_eval "${2}"
- eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
-# func_arith arithmetic-term...
-func_arith ()
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
{
- func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
+ $debug_cmd
+ $warning_func ${1+"$@"}
+}
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+ --config show all configuration variables
+ --debug enable verbose shell tracing
+ -n, --dry-run display commands without modifying any files
+ --features display basic configuration information and exit
+ --mode=MODE use operation mode MODE
+ --no-warnings equivalent to '-Wnone'
+ --preserve-dup-deps don't remove duplicate dependency libraries
+ --quiet, --silent don't print informational messages
+ --tag=TAG use configuration variables from tag TAG
+ -v, --verbose print more informational messages than default
+ --version print version information
+ -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
+ -h, --help, --help-all print short, long, or detailed help message
+"
-# func_lo2o object
-func_lo2o ()
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
{
- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+ clean remove files from the build directory
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+ host-triplet: $host
+ shell: $SHELL
+ compiler: $LTCC
+ compiler flags: $LTCFLAGS
+ linker: $LD (gnu? $with_gnu_ld)
+ version: $progname (GNU libtool) 2.4.6
+ automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+ autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+ exit 0
+}
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_lo2o ()
+ {
+ case $1 in
+ *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+ * ) func_lo2o_result=$1 ;;
+ esac
+ }'
+ # func_xform LIBOBJ-OR-SOURCE
+ # ---------------------------
+ # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+ # suffix to a '.lo' libtool-object suffix.
+ eval 'func_xform ()
+ {
+ func_xform_result=${1%.*}.lo
+ }'
+else
+ # ...otherwise fall back to using sed.
+ func_lo2o ()
+ {
+ func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+ }
-# func_fatal_configuration arg...
+ func_xform ()
+ {
+ func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+ }
+fi
+
+
+# func_fatal_configuration ARG...
+# -------------------------------
# Echo program name prefixed message to standard error, followed by
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
- func_error ${1+"$@"}
- func_error "See the $PACKAGE documentation for more information."
- func_fatal_error "Fatal configuration error."
+ func__fatal_error ${1+"$@"} \
+ "See the $PACKAGE documentation for more information." \
+ "Fatal configuration error."
}
# func_config
+# -----------
# Display the configuration for all the tags in this script.
func_config ()
{
@@ -915,17 +2149,19 @@ func_config ()
exit $?
}
+
# func_features
+# -------------
# Display the features supported by this script.
func_features ()
{
echo "host: $host"
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
echo "enable shared libraries"
else
echo "disable shared libraries"
fi
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
echo "enable static libraries"
else
echo "disable static libraries"
@@ -934,289 +2170,297 @@ func_features ()
exit $?
}
-# func_enable_tag tagname
+
+# func_enable_tag TAGNAME
+# -----------------------
# Verify that TAGNAME is valid, and either flag an error and exit, or
# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
# variable here.
func_enable_tag ()
{
- # Global variable:
- tagname="$1"
+ # Global variable:
+ tagname=$1
- re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
- re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
- sed_extractcf="/$re_begincf/,/$re_endcf/p"
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf=/$re_begincf/,/$re_endcf/p
- # Validate tagname.
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- func_fatal_error "invalid tag name: $tagname"
- ;;
- esac
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
- # Don't test for the "default" C tag, as we know it's
- # there but not specially marked.
- case $tagname in
- CC) ;;
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
*)
- if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
- taglist="$taglist $tagname"
-
- # Evaluate the configuration. Be careful to quote the path
- # and the sed script, to avoid splitting on whitespace, but
- # also don't use non-portable quotes within backquotes within
- # quotes we have to do it in 2 steps:
- extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
- eval "$extractedcf"
- else
- func_error "ignoring unknown tag $tagname"
- fi
- ;;
- esac
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
}
+
# func_check_version_match
+# ------------------------
# Ensure that we are using m4 macros, and libtool script from the same
# release of libtool.
func_check_version_match ()
{
- if test "$package_revision" != "$macro_revision"; then
- if test "$VERSION" != "$macro_version"; then
- if test -z "$macro_version"; then
- cat >&2 <<_LT_EOF
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from an older release.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
- else
- cat >&2 <<_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
- fi
- else
- cat >&2 <<_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
$progname: of $PACKAGE $VERSION and run autoconf again.
_LT_EOF
- fi
+ fi
- exit $EXIT_MISMATCH
- fi
+ exit $EXIT_MISMATCH
+ fi
}
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
- shift; set dummy --mode clean ${1+"$@"}; shift
- ;;
-compile|compil|compi|comp|com|co|c)
- shift; set dummy --mode compile ${1+"$@"}; shift
- ;;
-execute|execut|execu|exec|exe|ex|e)
- shift; set dummy --mode execute ${1+"$@"}; shift
- ;;
-finish|finis|fini|fin|fi|f)
- shift; set dummy --mode finish ${1+"$@"}; shift
- ;;
-install|instal|insta|inst|ins|in|i)
- shift; set dummy --mode install ${1+"$@"}; shift
- ;;
-link|lin|li|l)
- shift; set dummy --mode link ${1+"$@"}; shift
- ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
- shift; set dummy --mode uninstall ${1+"$@"}; shift
- ;;
-esac
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+ $debug_mode
+ # Option defaults:
+ opt_config=false
+ opt_dlopen=
+ opt_dry_run=false
+ opt_help=false
+ opt_mode=
+ opt_preserve_dup_deps=false
+ opt_quiet=false
+ nonopt=
+ preserve_args=
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+ esac
+
+ # Pass back the list of options.
+ func_quote_for_eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_for_eval_result
+}
+func_add_hook func_options_prep libtool_options_prep
-# Parse options once, thoroughly. This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
{
- # this just eases exit handling
- while test $# -gt 0; do
- opt="$1"
- shift
- case $opt in
- --debug|-x) opt_debug='set -x'
- func_echo "enabling shell trace mode"
- $opt_debug
- ;;
- --dry-run|--dryrun|-n)
- opt_dry_run=:
- ;;
- --config)
- opt_config=:
-func_config
- ;;
- --dlopen|-dlopen)
- optarg="$1"
- opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
- shift
- ;;
- --preserve-dup-deps)
- opt_preserve_dup_deps=:
- ;;
- --features)
- opt_features=:
-func_features
- ;;
- --finish)
- opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
- ;;
- --help)
- opt_help=:
- ;;
- --help-all)
- opt_help_all=:
-opt_help=': help-all'
- ;;
- --mode)
- test $# = 0 && func_missing_arg $opt && break
- optarg="$1"
- opt_mode="$optarg"
-case $optarg in
- # Valid mode arguments:
- clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
- # Catch anything else as an error
- *) func_error "invalid argument for $opt"
- exit_cmd=exit
- break
- ;;
-esac
- shift
- ;;
- --no-silent|--no-quiet)
- opt_silent=false
-func_append preserve_args " $opt"
- ;;
- --no-warning|--no-warn)
- opt_warning=false
-func_append preserve_args " $opt"
- ;;
- --no-verbose)
- opt_verbose=false
-func_append preserve_args " $opt"
- ;;
- --silent|--quiet)
- opt_silent=:
-func_append preserve_args " $opt"
- opt_verbose=false
- ;;
- --verbose|-v)
- opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
- ;;
- --tag)
- test $# = 0 && func_missing_arg $opt && break
- optarg="$1"
- opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
- shift
- ;;
-
- -\?|-h) func_usage ;;
- --help) func_help ;;
- --version) func_version ;;
-
- # Separate optargs to long options:
- --*=*)
- func_split_long_opt "$opt"
- set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
- shift
- ;;
-
- # Separate non-argument short options:
- -\?*|-h*|-n*|-v*)
- func_split_short_opt "$opt"
- set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
- shift
- ;;
-
- --) break ;;
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
- *) set dummy "$opt" ${1+"$@"}; shift; break ;;
- esac
- done
+ $debug_cmd
- # Validate options:
+ # Perform our own loop to consume as many options as possible in
+ # each iteration.
+ while test $# -gt 0; do
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+
+ --config) func_config ;;
+
+ --dlopen|-dlopen)
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=: ;;
+
+ --features) func_features ;;
+
+ --finish) set dummy --mode finish ${1+"$@"}; shift ;;
+
+ --help) opt_help=: ;;
+
+ --help-all) opt_help=': help-all' ;;
+
+ --mode) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_mode=$1
+ case $1 in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $_G_opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+ shift
+ ;;
+
+ --no-silent|--no-quiet)
+ opt_quiet=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ opt_warning=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-verbose)
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --silent|--quiet)
+ opt_quiet=:
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --tag) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_tag=$1
+ func_append preserve_args " $_G_opt $1"
+ func_enable_tag "$1"
+ shift
+ ;;
+
+ --verbose|-v) opt_quiet=false
+ opt_verbose=:
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
- # save first non-option argument
- if test "$#" -gt 0; then
- nonopt="$opt"
- shift
- fi
- # preserve --debug
- test "$opt_debug" = : || func_append preserve_args " --debug"
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_parse_options libtool_parse_options
- case $host in
- *cygwin* | *mingw* | *pw32* | *cegcc*)
- # don't eliminate duplications in $postdeps and $predeps
- opt_duplicate_compiler_generated_deps=:
- ;;
- *)
- opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
- ;;
- esac
- $opt_help || {
- # Sanity checks first:
- func_check_version_match
- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- func_fatal_configuration "not configured to build any kind of library"
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+ # save first non-option argument
+ if test 0 -lt $#; then
+ nonopt=$1
+ shift
fi
- # Darwin sucks
- eval std_shrext=\"$shrext_cmds\"
+ # preserve --debug
+ test : = "$debug_cmd" || func_append preserve_args " --debug"
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
- func_error "unrecognized option \`-dlopen'"
- $ECHO "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ case $host in
+ # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+ # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$progname --help --mode=$opt_mode' for more information."
- }
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+ test yes != "$build_libtool_libs" \
+ && test yes != "$build_old_libs" \
+ && func_fatal_configuration "not configured to build any kind of library"
- # Bail if the options were screwed
- $exit_cmd $EXIT_FAILURE
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+ func_error "unrecognized option '-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help=$help
+ help="Try '$progname --help --mode=$opt_mode' for more information."
+ }
+
+ # Pass back the unparsed argument list
+ func_quote_for_eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_for_eval_result
}
+func_add_hook func_validate_options libtool_validate_options
+
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
@@ -1224,24 +2468,52 @@ func_enable_tag "$optarg"
## Main. ##
## ----------- ##
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+ $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_lalib_p ()
{
test -f "$1" &&
- $SED -e 4q "$1" 2>/dev/null \
- | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+ $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function implements the same check as func_lalib_p without
# resorting to external programs. To this end, it redirects stdin and
# closes it afterwards, without saving the original file descriptor.
# As a safety measure, use it only where a negative result would be
-# fatal anyway. Works if `file' does not exist.
+# fatal anyway. Works if 'file' does not exist.
func_lalib_unsafe_p ()
{
lalib_p=no
@@ -1249,13 +2521,13 @@ func_lalib_unsafe_p ()
for lalib_p_l in 1 2 3 4
do
read lalib_p_line
- case "$lalib_p_line" in
+ case $lalib_p_line in
\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
esac
done
exec 0<&5 5<&-
fi
- test "$lalib_p" = yes
+ test yes = "$lalib_p"
}
# func_ltwrapper_script_p file
@@ -1264,7 +2536,8 @@ func_lalib_unsafe_p ()
# determined imposters.
func_ltwrapper_script_p ()
{
- func_lalib_p "$1"
+ test -f "$1" &&
+ $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_ltwrapper_executable_p file
@@ -1289,7 +2562,7 @@ func_ltwrapper_scriptname ()
{
func_dirname_and_basename "$1" "" "."
func_stripname '' '.exe' "$func_basename_result"
- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
}
# func_ltwrapper_p file
@@ -1308,11 +2581,13 @@ func_ltwrapper_p ()
# FAIL_CMD may read-access the current command in variable CMD!
func_execute_cmds ()
{
- $opt_debug
+ $debug_cmd
+
save_ifs=$IFS; IFS='~'
for cmd in $1; do
- IFS=$save_ifs
+ IFS=$sp$nl
eval cmd=\"$cmd\"
+ IFS=$save_ifs
func_show_eval "$cmd" "${2-:}"
done
IFS=$save_ifs
@@ -1324,10 +2599,11 @@ func_execute_cmds ()
# Note that it is not necessary on cygwin/mingw to append a dot to
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
# behavior happens only for exec(3), not for open(2)! Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
+# 'FILE.' does not work on cygwin managed mounts.
func_source ()
{
- $opt_debug
+ $debug_cmd
+
case $1 in
*/* | *\\*) . "$1" ;;
*) . "./$1" ;;
@@ -1354,10 +2630,10 @@ func_resolve_sysroot ()
# store the result into func_replace_sysroot_result.
func_replace_sysroot ()
{
- case "$lt_sysroot:$1" in
+ case $lt_sysroot:$1 in
?*:"$lt_sysroot"*)
func_stripname "$lt_sysroot" '' "$1"
- func_replace_sysroot_result="=$func_stripname_result"
+ func_replace_sysroot_result='='$func_stripname_result
;;
*)
# Including no sysroot.
@@ -1374,7 +2650,8 @@ func_replace_sysroot ()
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
- $opt_debug
+ $debug_cmd
+
if test -n "$available_tags" && test -z "$tagname"; then
CC_quoted=
for arg in $CC; do
@@ -1393,7 +2670,7 @@ func_infer_tag ()
for z in $available_tags; do
if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
# Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
CC_quoted=
for arg in $CC; do
# Double-quote args containing other shell metacharacters.
@@ -1418,7 +2695,7 @@ func_infer_tag ()
# line option must be used.
if test -z "$tagname"; then
func_echo "unable to infer tagged configuration"
- func_fatal_error "specify a tag with \`--tag'"
+ func_fatal_error "specify a tag with '--tag'"
# else
# func_verbose "using $tagname tagged configuration"
fi
@@ -1434,15 +2711,15 @@ func_infer_tag ()
# but don't create it if we're doing a dry run.
func_write_libtool_object ()
{
- write_libobj=${1}
- if test "$build_libtool_libs" = yes; then
- write_lobj=\'${2}\'
+ write_libobj=$1
+ if test yes = "$build_libtool_libs"; then
+ write_lobj=\'$2\'
else
write_lobj=none
fi
- if test "$build_old_libs" = yes; then
- write_oldobj=\'${3}\'
+ if test yes = "$build_old_libs"; then
+ write_oldobj=\'$3\'
else
write_oldobj=none
fi
@@ -1450,7 +2727,7 @@ func_write_libtool_object ()
$opt_dry_run || {
cat >${write_libobj}T <<EOF
# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -1462,7 +2739,7 @@ pic_object=$write_lobj
non_pic_object=$write_oldobj
EOF
- $MV "${write_libobj}T" "${write_libobj}"
+ $MV "${write_libobj}T" "$write_libobj"
}
}
@@ -1482,8 +2759,9 @@ EOF
# be empty on error (or when ARG is empty)
func_convert_core_file_wine_to_w32 ()
{
- $opt_debug
- func_convert_core_file_wine_to_w32_result="$1"
+ $debug_cmd
+
+ func_convert_core_file_wine_to_w32_result=$1
if test -n "$1"; then
# Unfortunately, winepath does not exit with a non-zero error code, so we
# are forced to check the contents of stdout. On the other hand, if the
@@ -1491,9 +2769,9 @@ func_convert_core_file_wine_to_w32 ()
# *an error message* to stdout. So we must check for both error code of
# zero AND non-empty stdout, which explains the odd construction:
func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
- if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+ if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
- $SED -e "$lt_sed_naive_backslashify"`
+ $SED -e "$sed_naive_backslashify"`
else
func_convert_core_file_wine_to_w32_result=
fi
@@ -1514,18 +2792,19 @@ func_convert_core_file_wine_to_w32 ()
# are convertible, then the result may be empty.
func_convert_core_path_wine_to_w32 ()
{
- $opt_debug
+ $debug_cmd
+
# unfortunately, winepath doesn't convert paths, only file names
- func_convert_core_path_wine_to_w32_result=""
+ func_convert_core_path_wine_to_w32_result=
if test -n "$1"; then
oldIFS=$IFS
IFS=:
for func_convert_core_path_wine_to_w32_f in $1; do
IFS=$oldIFS
func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
- if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+ if test -n "$func_convert_core_file_wine_to_w32_result"; then
if test -z "$func_convert_core_path_wine_to_w32_result"; then
- func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+ func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
else
func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
fi
@@ -1554,7 +2833,8 @@ func_convert_core_path_wine_to_w32 ()
# environment variable; do not put it in $PATH.
func_cygpath ()
{
- $opt_debug
+ $debug_cmd
+
if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
if test "$?" -ne 0; then
@@ -1563,7 +2843,7 @@ func_cygpath ()
fi
else
func_cygpath_result=
- func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+ func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
fi
}
#end: func_cygpath
@@ -1574,10 +2854,11 @@ func_cygpath ()
# result in func_convert_core_msys_to_w32_result.
func_convert_core_msys_to_w32 ()
{
- $opt_debug
+ $debug_cmd
+
# awkward: cmd appends spaces to result
func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
- $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+ $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
}
#end: func_convert_core_msys_to_w32
@@ -1588,13 +2869,14 @@ func_convert_core_msys_to_w32 ()
# func_to_host_file_result to ARG1).
func_convert_file_check ()
{
- $opt_debug
- if test -z "$2" && test -n "$1" ; then
+ $debug_cmd
+
+ if test -z "$2" && test -n "$1"; then
func_error "Could not determine host file name corresponding to"
- func_error " \`$1'"
+ func_error " '$1'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback:
- func_to_host_file_result="$1"
+ func_to_host_file_result=$1
fi
}
# end func_convert_file_check
@@ -1606,10 +2888,11 @@ func_convert_file_check ()
# func_to_host_file_result to a simplistic fallback value (see below).
func_convert_path_check ()
{
- $opt_debug
+ $debug_cmd
+
if test -z "$4" && test -n "$3"; then
func_error "Could not determine the host path corresponding to"
- func_error " \`$3'"
+ func_error " '$3'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback. This is a deliberately simplistic "conversion" and
# should not be "improved". See libtool.info.
@@ -1618,7 +2901,7 @@ func_convert_path_check ()
func_to_host_path_result=`echo "$3" |
$SED -e "$lt_replace_pathsep_chars"`
else
- func_to_host_path_result="$3"
+ func_to_host_path_result=$3
fi
fi
}
@@ -1630,9 +2913,10 @@ func_convert_path_check ()
# and appending REPL if ORIG matches BACKPAT.
func_convert_path_front_back_pathsep ()
{
- $opt_debug
+ $debug_cmd
+
case $4 in
- $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+ $1 ) func_to_host_path_result=$3$func_to_host_path_result
;;
esac
case $4 in
@@ -1646,7 +2930,7 @@ func_convert_path_front_back_pathsep ()
##################################################
# $build to $host FILE NAME CONVERSION FUNCTIONS #
##################################################
-# invoked via `$to_host_file_cmd ARG'
+# invoked via '$to_host_file_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# Result will be available in $func_to_host_file_result.
@@ -1657,7 +2941,8 @@ func_convert_path_front_back_pathsep ()
# in func_to_host_file_result.
func_to_host_file ()
{
- $opt_debug
+ $debug_cmd
+
$to_host_file_cmd "$1"
}
# end func_to_host_file
@@ -1669,7 +2954,8 @@ func_to_host_file ()
# in (the comma separated) LAZY, no conversion takes place.
func_to_tool_file ()
{
- $opt_debug
+ $debug_cmd
+
case ,$2, in
*,"$to_tool_file_cmd",*)
func_to_tool_file_result=$1
@@ -1687,7 +2973,7 @@ func_to_tool_file ()
# Copy ARG to func_to_host_file_result.
func_convert_file_noop ()
{
- func_to_host_file_result="$1"
+ func_to_host_file_result=$1
}
# end func_convert_file_noop
@@ -1698,11 +2984,12 @@ func_convert_file_noop ()
# func_to_host_file_result.
func_convert_file_msys_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
- func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result=$func_convert_core_msys_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1714,8 +3001,9 @@ func_convert_file_msys_to_w32 ()
# func_to_host_file_result.
func_convert_file_cygwin_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
# because $build is cygwin, we call "the" cygpath in $PATH; no need to use
# LT_CYGPATH in this case.
@@ -1731,11 +3019,12 @@ func_convert_file_cygwin_to_w32 ()
# and a working winepath. Returns result in func_to_host_file_result.
func_convert_file_nix_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_file_wine_to_w32 "$1"
- func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1747,12 +3036,13 @@ func_convert_file_nix_to_w32 ()
# Returns result in func_to_host_file_result.
func_convert_file_msys_to_cygwin ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
func_cygpath -u "$func_convert_core_msys_to_w32_result"
- func_to_host_file_result="$func_cygpath_result"
+ func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1765,13 +3055,14 @@ func_convert_file_msys_to_cygwin ()
# in func_to_host_file_result.
func_convert_file_nix_to_cygwin ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
# convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
func_convert_core_file_wine_to_w32 "$1"
func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
- func_to_host_file_result="$func_cygpath_result"
+ func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1781,7 +3072,7 @@ func_convert_file_nix_to_cygwin ()
#############################################
# $build to $host PATH CONVERSION FUNCTIONS #
#############################################
-# invoked via `$to_host_path_cmd ARG'
+# invoked via '$to_host_path_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# The result will be available in $func_to_host_path_result.
@@ -1805,10 +3096,11 @@ func_convert_file_nix_to_cygwin ()
to_host_path_cmd=
func_init_to_host_path_cmd ()
{
- $opt_debug
+ $debug_cmd
+
if test -z "$to_host_path_cmd"; then
func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
- to_host_path_cmd="func_convert_path_${func_stripname_result}"
+ to_host_path_cmd=func_convert_path_$func_stripname_result
fi
}
@@ -1818,7 +3110,8 @@ func_init_to_host_path_cmd ()
# in func_to_host_path_result.
func_to_host_path ()
{
- $opt_debug
+ $debug_cmd
+
func_init_to_host_path_cmd
$to_host_path_cmd "$1"
}
@@ -1829,7 +3122,7 @@ func_to_host_path ()
# Copy ARG to func_to_host_path_result.
func_convert_path_noop ()
{
- func_to_host_path_result="$1"
+ func_to_host_path_result=$1
}
# end func_convert_path_noop
@@ -1840,8 +3133,9 @@ func_convert_path_noop ()
# func_to_host_path_result.
func_convert_path_msys_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from ARG. MSYS
# behavior is inconsistent here; cygpath turns them into '.;' and ';.';
@@ -1849,7 +3143,7 @@ func_convert_path_msys_to_w32 ()
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
- func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result=$func_convert_core_msys_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1863,8 +3157,9 @@ func_convert_path_msys_to_w32 ()
# func_to_host_file_result.
func_convert_path_cygwin_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
@@ -1883,14 +3178,15 @@ func_convert_path_cygwin_to_w32 ()
# a working winepath. Returns result in func_to_host_file_result.
func_convert_path_nix_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
- func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1904,15 +3200,16 @@ func_convert_path_nix_to_w32 ()
# Returns result in func_to_host_file_result.
func_convert_path_msys_to_cygwin ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
- func_to_host_path_result="$func_cygpath_result"
+ func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1927,8 +3224,9 @@ func_convert_path_msys_to_cygwin ()
# func_to_host_file_result.
func_convert_path_nix_to_cygwin ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from
# ARG. msys behavior is inconsistent here, cygpath turns them
@@ -1937,7 +3235,7 @@ func_convert_path_nix_to_cygwin ()
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
- func_to_host_path_result="$func_cygpath_result"
+ func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1946,13 +3244,31 @@ func_convert_path_nix_to_cygwin ()
# end func_convert_path_nix_to_cygwin
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+ $debug_cmd
+
+ func_dll_def_p_tmp=`$SED -n \
+ -e 's/^[ ]*//' \
+ -e '/^\(;.*\)*$/d' \
+ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
+ -e q \
+ "$1"`
+ test DEF = "$func_dll_def_p_tmp"
+}
+
+
# func_mode_compile arg...
func_mode_compile ()
{
- $opt_debug
+ $debug_cmd
+
# Get the compilation command and the source file.
base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ srcfile=$nonopt # always keep a non-empty value in "srcfile"
suppress_opt=yes
suppress_output=
arg_mode=normal
@@ -1965,12 +3281,12 @@ func_mode_compile ()
case $arg_mode in
arg )
# do not "continue". Instead, add this to base_compile
- lastarg="$arg"
+ lastarg=$arg
arg_mode=normal
;;
target )
- libobj="$arg"
+ libobj=$arg
arg_mode=normal
continue
;;
@@ -1980,7 +3296,7 @@ func_mode_compile ()
case $arg in
-o)
test -n "$libobj" && \
- func_fatal_error "you cannot specify \`-o' more than once"
+ func_fatal_error "you cannot specify '-o' more than once"
arg_mode=target
continue
;;
@@ -2009,12 +3325,12 @@ func_mode_compile ()
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
lastarg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for arg in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_append_quoted lastarg "$arg"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$lastarg"
lastarg=$func_stripname_result
@@ -2027,8 +3343,8 @@ func_mode_compile ()
# Accept the current argument as the source file.
# The previous "srcfile" becomes the current argument.
#
- lastarg="$srcfile"
- srcfile="$arg"
+ lastarg=$srcfile
+ srcfile=$arg
;;
esac # case $arg
;;
@@ -2043,13 +3359,13 @@ func_mode_compile ()
func_fatal_error "you must specify an argument for -Xcompile"
;;
target)
- func_fatal_error "you must specify a target with \`-o'"
+ func_fatal_error "you must specify a target with '-o'"
;;
*)
# Get the name of the library object.
test -z "$libobj" && {
func_basename "$srcfile"
- libobj="$func_basename_result"
+ libobj=$func_basename_result
}
;;
esac
@@ -2069,7 +3385,7 @@ func_mode_compile ()
case $libobj in
*.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
- func_fatal_error "cannot determine name of library object from \`$libobj'"
+ func_fatal_error "cannot determine name of library object from '$libobj'"
;;
esac
@@ -2078,8 +3394,8 @@ func_mode_compile ()
for arg in $later; do
case $arg in
-shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
+ test yes = "$build_libtool_libs" \
+ || func_fatal_configuration "cannot build a shared library"
build_old_libs=no
continue
;;
@@ -2105,17 +3421,17 @@ func_mode_compile ()
func_quote_for_eval "$libobj"
test "X$libobj" != "X$func_quote_for_eval_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ && func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
- objname="$func_basename_result"
- xdir="$func_dirname_result"
- lobj=${xdir}$objdir/$objname
+ objname=$func_basename_result
+ xdir=$func_dirname_result
+ lobj=$xdir$objdir/$objname
test -z "$base_compile" && \
func_fatal_help "you must specify a compilation command"
# Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
removelist="$obj $lobj $libobj ${libobj}T"
else
removelist="$lobj $libobj ${libobj}T"
@@ -2127,16 +3443,16 @@ func_mode_compile ()
pic_mode=default
;;
esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
# non-PIC code in shared libraries is not supported
pic_mode=default
fi
# Calculate the filename of the output object if compiler does
# not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
+ if test no = "$compiler_c_o"; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+ lockfile=$output_obj.lock
else
output_obj=
need_locks=no
@@ -2145,12 +3461,12 @@ func_mode_compile ()
# Lock this critical section if it is needed
# We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
+ if test yes = "$need_locks"; then
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
sleep 2
done
- elif test "$need_locks" = warn; then
+ elif test warn = "$need_locks"; then
if test -f "$lockfile"; then
$ECHO "\
*** ERROR, $lockfile exists and contains:
@@ -2158,7 +3474,7 @@ func_mode_compile ()
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2180,11 +3496,11 @@ compiler."
qsrcfile=$func_quote_for_eval_result
# Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
# Without this assignment, base_compile gets emptied.
fbsd_hideous_sh_bug=$base_compile
- if test "$pic_mode" != no; then
+ if test no != "$pic_mode"; then
command="$base_compile $qsrcfile $pic_flag"
else
# Don't build PIC code
@@ -2201,7 +3517,7 @@ compiler."
func_show_eval_locale "$command" \
'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
- if test "$need_locks" = warn &&
+ if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
@@ -2212,7 +3528,7 @@ $srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2228,20 +3544,20 @@ compiler."
fi
# Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
+ if test yes = "$suppress_opt"; then
suppress_output=' >/dev/null 2>&1'
fi
fi
# Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
+ if test yes = "$build_old_libs"; then
+ if test yes != "$pic_mode"; then
# Don't build PIC code
command="$base_compile $qsrcfile$pie_flag"
else
command="$base_compile $qsrcfile $pic_flag"
fi
- if test "$compiler_c_o" = yes; then
+ if test yes = "$compiler_c_o"; then
func_append command " -o $obj"
fi
@@ -2250,7 +3566,7 @@ compiler."
func_show_eval_locale "$command" \
'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
- if test "$need_locks" = warn &&
+ if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
@@ -2261,7 +3577,7 @@ $srcfile
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2281,7 +3597,7 @@ compiler."
func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
# Unlock the critical section if it was locked
- if test "$need_locks" != no; then
+ if test no != "$need_locks"; then
removelist=$lockfile
$RM "$lockfile"
fi
@@ -2291,7 +3607,7 @@ compiler."
}
$opt_help || {
- test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+ test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
}
func_mode_help ()
@@ -2311,7 +3627,7 @@ func_mode_help ()
Remove files from the build directory.
RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, object or program, all the files associated
@@ -2330,16 +3646,16 @@ This mode accepts the following additional options:
-no-suppress do not suppress compiler output for multiple passes
-prefer-pic try to build PIC objects only
-prefer-non-pic try to build non-PIC objects only
- -shared do not build a \`.o' file suitable for static linking
- -static only build a \`.o' file suitable for static linking
+ -shared do not build a '.o' file suitable for static linking
+ -static only build a '.o' file suitable for static linking
-Wc,FLAG pass FLAG directly to the compiler
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
from the given SOURCEFILE.
The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
;;
execute)
@@ -2352,7 +3668,7 @@ This mode accepts the following additional options:
-dlopen FILE add the directory containing FILE to the library path
-This mode sets the library path environment variable according to \`-dlopen'
+This mode sets the library path environment variable according to '-dlopen'
flags.
If any of the ARGS are libtool executable wrappers, then they are translated
@@ -2371,7 +3687,7 @@ Complete the installation of libtool libraries.
Each LIBDIR is a directory that contains libtool libraries.
The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
+the '--dry-run' option if you just want to see what would be executed."
;;
install)
@@ -2381,7 +3697,7 @@ the \`--dry-run' option if you just want to see what would be executed."
Install executables or libraries.
INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
+either the 'install' or 'cp' program.
The following components of INSTALL-COMMAND are treated specially:
@@ -2407,7 +3723,7 @@ The following components of LINK-COMMAND are treated specially:
-avoid-version do not add a version suffix if possible
-bindir BINDIR specify path to binaries directory (for systems where
libraries must be found in the PATH setting at runtime)
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-export-symbols SYMFILE
@@ -2421,7 +3737,8 @@ The following components of LINK-COMMAND are treated specially:
-no-install link a not-installable executable
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
+ -objectlist FILE use a list of object files found in FILE to specify objects
+ -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
-precious-files-regex REGEX
don't remove output files matching REGEX
-release RELEASE specify package release information
@@ -2441,20 +3758,20 @@ The following components of LINK-COMMAND are treated specially:
-Xlinker FLAG pass linker-specific FLAG directly to the linker
-XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
-All other options (arguments beginning with \`-') are ignored.
+All other options (arguments beginning with '-') are ignored.
-Every other argument is treated as a filename. Files ending in \`.la' are
+Every other argument is treated as a filename. Files ending in '.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
required, except when creating a convenience library.
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
is created, otherwise an executable program is created."
;;
@@ -2465,7 +3782,7 @@ is created, otherwise an executable program is created."
Remove libraries from an installation directory.
RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, all the files associated with it are deleted.
@@ -2473,17 +3790,17 @@ Otherwise, only FILE itself is deleted using RM."
;;
*)
- func_fatal_help "invalid operation mode \`$opt_mode'"
+ func_fatal_help "invalid operation mode '$opt_mode'"
;;
esac
echo
- $ECHO "Try \`$progname --help' for more information about other modes."
+ $ECHO "Try '$progname --help' for more information about other modes."
}
# Now that we've collected a possible --mode arg, show help if necessary
if $opt_help; then
- if test "$opt_help" = :; then
+ if test : = "$opt_help"; then
func_mode_help
else
{
@@ -2491,7 +3808,7 @@ if $opt_help; then
for opt_mode in compile link execute install finish uninstall clean; do
func_mode_help
done
- } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ } | $SED -n '1p; 2,$s/^Usage:/ or: /p'
{
func_help noexit
for opt_mode in compile link execute install finish uninstall clean; do
@@ -2499,7 +3816,7 @@ if $opt_help; then
func_mode_help
done
} |
- sed '1d
+ $SED '1d
/^When reporting/,/^Report/{
H
d
@@ -2516,16 +3833,17 @@ fi
# func_mode_execute arg...
func_mode_execute ()
{
- $opt_debug
+ $debug_cmd
+
# The first argument is the command name.
- cmd="$nonopt"
+ cmd=$nonopt
test -z "$cmd" && \
func_fatal_help "you must specify a COMMAND"
# Handle -dlopen flags immediately.
for file in $opt_dlopen; do
test -f "$file" \
- || func_fatal_help "\`$file' is not a file"
+ || func_fatal_help "'$file' is not a file"
dir=
case $file in
@@ -2535,7 +3853,7 @@ func_mode_execute ()
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$lib' is not a valid libtool archive"
+ || func_fatal_help "'$lib' is not a valid libtool archive"
# Read the libtool library.
dlname=
@@ -2546,18 +3864,18 @@ func_mode_execute ()
if test -z "$dlname"; then
# Warn if it was a shared library.
test -n "$library_names" && \
- func_warning "\`$file' was not linked with \`-export-dynamic'"
+ func_warning "'$file' was not linked with '-export-dynamic'"
continue
fi
func_dirname "$file" "" "."
- dir="$func_dirname_result"
+ dir=$func_dirname_result
if test -f "$dir/$objdir/$dlname"; then
func_append dir "/$objdir"
else
if test ! -f "$dir/$dlname"; then
- func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
fi
fi
;;
@@ -2565,18 +3883,18 @@ func_mode_execute ()
*.lo)
# Just add the directory containing the .lo file.
func_dirname "$file" "" "."
- dir="$func_dirname_result"
+ dir=$func_dirname_result
;;
*)
- func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
continue
;;
esac
# Get the absolute pathname.
absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
+ test -n "$absdir" && dir=$absdir
# Now add the directory to shlibpath_var.
if eval "test -z \"\$$shlibpath_var\""; then
@@ -2588,7 +3906,7 @@ func_mode_execute ()
# This variable tells wrapper scripts just to set shlibpath_var
# rather than running their programs.
- libtool_execute_magic="$magic"
+ libtool_execute_magic=$magic
# Check if any of the arguments is a wrapper script.
args=
@@ -2601,12 +3919,12 @@ func_mode_execute ()
if func_ltwrapper_script_p "$file"; then
func_source "$file"
# Transform arg to wrapped name.
- file="$progdir/$program"
+ file=$progdir/$program
elif func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
func_source "$func_ltwrapper_scriptname_result"
# Transform arg to wrapped name.
- file="$progdir/$program"
+ file=$progdir/$program
fi
;;
esac
@@ -2614,7 +3932,15 @@ func_mode_execute ()
func_append_quoted args "$file"
done
- if test "X$opt_dry_run" = Xfalse; then
+ if $opt_dry_run; then
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ else
if test -n "$shlibpath_var"; then
# Export the shlibpath_var.
eval "export $shlibpath_var"
@@ -2631,25 +3957,18 @@ func_mode_execute ()
done
# Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- echo "export $shlibpath_var"
- fi
- $ECHO "$cmd$args"
- exit $EXIT_SUCCESS
+ exec_cmd=\$cmd$args
fi
}
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
# func_mode_finish arg...
func_mode_finish ()
{
- $opt_debug
+ $debug_cmd
+
libs=
libdirs=
admincmds=
@@ -2663,11 +3982,11 @@ func_mode_finish ()
if func_lalib_unsafe_p "$opt"; then
func_append libs " $opt"
else
- func_warning "\`$opt' is not a valid libtool archive"
+ func_warning "'$opt' is not a valid libtool archive"
fi
else
- func_fatal_error "invalid argument \`$opt'"
+ func_fatal_error "invalid argument '$opt'"
fi
done
@@ -2682,12 +4001,12 @@ func_mode_finish ()
# Remove sysroot references
if $opt_dry_run; then
for lib in $libs; do
- echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+ echo "removing references to $lt_sysroot and '=' prefixes from $lib"
done
else
tmpdir=`func_mktempdir`
for lib in $libs; do
- sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
> $tmpdir/tmp-la
mv -f $tmpdir/tmp-la $lib
done
@@ -2712,7 +4031,7 @@ func_mode_finish ()
fi
# Exit here if they wanted silent mode.
- $opt_silent && exit $EXIT_SUCCESS
+ $opt_quiet && exit $EXIT_SUCCESS
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
echo "----------------------------------------------------------------------"
@@ -2723,27 +4042,27 @@ func_mode_finish ()
echo
echo "If you ever happen to want to link against installed libraries"
echo "in a given directory, LIBDIR, you must either use libtool, and"
- echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "specify the full pathname of the library, or use the '-LLIBDIR'"
echo "flag during linking and do at least one of the following:"
if test -n "$shlibpath_var"; then
- echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " - add LIBDIR to the '$shlibpath_var' environment variable"
echo " during execution"
fi
if test -n "$runpath_var"; then
- echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " - add LIBDIR to the '$runpath_var' environment variable"
echo " during linking"
fi
if test -n "$hardcode_libdir_flag_spec"; then
libdir=LIBDIR
eval flag=\"$hardcode_libdir_flag_spec\"
- $ECHO " - use the \`$flag' linker flag"
+ $ECHO " - use the '$flag' linker flag"
fi
if test -n "$admincmds"; then
$ECHO " - have your system administrator run these commands:$admincmds"
fi
if test -f /etc/ld.so.conf; then
- echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
fi
echo
@@ -2762,18 +4081,20 @@ func_mode_finish ()
exit $EXIT_SUCCESS
}
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
# func_mode_install arg...
func_mode_install ()
{
- $opt_debug
+ $debug_cmd
+
# There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
# Allow the use of GNU shtool's install command.
- case $nonopt in *shtool*) :;; *) false;; esac; then
+ case $nonopt in *shtool*) :;; *) false;; esac
+ then
# Aesthetically quote it.
func_quote_for_eval "$nonopt"
install_prog="$func_quote_for_eval_result "
@@ -2800,7 +4121,7 @@ func_mode_install ()
opts=
prev=
install_type=
- isdir=no
+ isdir=false
stripme=
no_mode=:
for arg
@@ -2813,7 +4134,7 @@ func_mode_install ()
fi
case $arg in
- -d) isdir=yes ;;
+ -d) isdir=: ;;
-f)
if $install_cp; then :; else
prev=$arg
@@ -2831,7 +4152,7 @@ func_mode_install ()
*)
# If the previous option needed an argument, then skip it.
if test -n "$prev"; then
- if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ if test X-m = "X$prev" && test -n "$install_override_mode"; then
arg2=$install_override_mode
no_mode=false
fi
@@ -2856,7 +4177,7 @@ func_mode_install ()
func_fatal_help "you must specify an install program"
test -n "$prev" && \
- func_fatal_help "the \`$prev' option requires an argument"
+ func_fatal_help "the '$prev' option requires an argument"
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
@@ -2878,19 +4199,19 @@ func_mode_install ()
dest=$func_stripname_result
# Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
+ test -d "$dest" && isdir=:
+ if $isdir; then
+ destdir=$dest
destname=
else
func_dirname_and_basename "$dest" "" "."
- destdir="$func_dirname_result"
- destname="$func_basename_result"
+ destdir=$func_dirname_result
+ destname=$func_basename_result
# Not a directory, so check to see that there is only one file specified.
set dummy $files; shift
test "$#" -gt 1 && \
- func_fatal_help "\`$dest' is not a directory"
+ func_fatal_help "'$dest' is not a directory"
fi
case $destdir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -2899,7 +4220,7 @@ func_mode_install ()
case $file in
*.lo) ;;
*)
- func_fatal_help "\`$destdir' must be an absolute directory name"
+ func_fatal_help "'$destdir' must be an absolute directory name"
;;
esac
done
@@ -2908,7 +4229,7 @@ func_mode_install ()
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
- libtool_install_magic="$magic"
+ libtool_install_magic=$magic
staticlibs=
future_libdirs=
@@ -2928,7 +4249,7 @@ func_mode_install ()
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$file' is not a valid libtool archive"
+ || func_fatal_help "'$file' is not a valid libtool archive"
library_names=
old_library=
@@ -2950,7 +4271,7 @@ func_mode_install ()
fi
func_dirname "$file" "/" ""
- dir="$func_dirname_result"
+ dir=$func_dirname_result
func_append dir "$objdir"
if test -n "$relink_command"; then
@@ -2964,7 +4285,7 @@ func_mode_install ()
# are installed into $libdir/../bin (currently, that works fine)
# but it's something to keep an eye on.
test "$inst_prefix_dir" = "$destdir" && \
- func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
@@ -2973,29 +4294,36 @@ func_mode_install ()
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
fi
- func_warning "relinking \`$file'"
+ func_warning "relinking '$file'"
func_show_eval "$relink_command" \
- 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
fi
# See the names of the shared library.
set dummy $library_names; shift
if test -n "$1"; then
- realname="$1"
+ realname=$1
shift
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
+ srcname=$realname
+ test -n "$relink_command" && srcname=${realname}T
# Install the shared library and build the symlinks.
func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
'exit $?'
- tstripme="$stripme"
+ tstripme=$stripme
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
case $realname in
*.dll.a)
- tstripme=""
+ tstripme=
+ ;;
+ esac
+ ;;
+ os2*)
+ case $realname in
+ *_dll.a)
+ tstripme=
;;
esac
;;
@@ -3006,7 +4334,7 @@ func_mode_install ()
if test "$#" -gt 0; then
# Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
+ # Try 'ln -sf' first, because the 'ln' binary might depend on
# the symlink we replace! Solaris /bin/ln does not understand -f,
# so we also need to try rm && ln -s.
for linkname
@@ -3017,14 +4345,14 @@ func_mode_install ()
fi
# Do each command in the postinstall commands.
- lib="$destdir/$realname"
+ lib=$destdir/$realname
func_execute_cmds "$postinstall_cmds" 'exit $?'
fi
# Install the pseudo-library for information purposes.
func_basename "$file"
- name="$func_basename_result"
- instname="$dir/$name"i
+ name=$func_basename_result
+ instname=$dir/${name}i
func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
# Maybe install the static library, too.
@@ -3036,11 +4364,11 @@ func_mode_install ()
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
- destfile="$destdir/$destname"
+ destfile=$destdir/$destname
else
func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
fi
# Deduce the name of the destination old-style object file.
@@ -3050,11 +4378,11 @@ func_mode_install ()
staticdest=$func_lo2o_result
;;
*.$objext)
- staticdest="$destfile"
+ staticdest=$destfile
destfile=
;;
*)
- func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ func_fatal_help "cannot copy a libtool object to '$destfile'"
;;
esac
@@ -3063,7 +4391,7 @@ func_mode_install ()
func_show_eval "$install_prog $file $destfile" 'exit $?'
# Install the old object if enabled.
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
# Deduce the name of the old-style object file.
func_lo2o "$file"
staticobj=$func_lo2o_result
@@ -3075,23 +4403,23 @@ func_mode_install ()
*)
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
- destfile="$destdir/$destname"
+ destfile=$destdir/$destname
else
func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
fi
# If the file is missing, and there is a .exe on the end, strip it
# because it is most likely a libtool script we actually want to
# install
- stripped_ext=""
+ stripped_ext=
case $file in
*.exe)
if test ! -f "$file"; then
func_stripname '' '.exe' "$file"
file=$func_stripname_result
- stripped_ext=".exe"
+ stripped_ext=.exe
fi
;;
esac
@@ -3119,19 +4447,19 @@ func_mode_install ()
# Check the variables that should have been set.
test -z "$generated_by_libtool_version" && \
- func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+ func_fatal_error "invalid libtool wrapper script '$wrapper'"
- finalize=yes
+ finalize=:
for lib in $notinst_deplibs; do
# Check to see that each library is installed.
libdir=
if test -f "$lib"; then
func_source "$lib"
fi
- libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
if test -n "$libdir" && test ! -f "$libfile"; then
- func_warning "\`$lib' has not been installed in \`$libdir'"
- finalize=no
+ func_warning "'$lib' has not been installed in '$libdir'"
+ finalize=false
fi
done
@@ -3139,29 +4467,29 @@ func_mode_install ()
func_source "$wrapper"
outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
+ if test no = "$fast_install" && test -n "$relink_command"; then
$opt_dry_run || {
- if test "$finalize" = yes; then
+ if $finalize; then
tmpdir=`func_mktempdir`
func_basename "$file$stripped_ext"
- file="$func_basename_result"
- outputname="$tmpdir/$file"
+ file=$func_basename_result
+ outputname=$tmpdir/$file
# Replace the output file specification.
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
- $opt_silent || {
+ $opt_quiet || {
func_quote_for_expand "$relink_command"
eval "func_echo $func_quote_for_expand_result"
}
if eval "$relink_command"; then :
else
- func_error "error: relink \`$file' with the above command before installing it"
+ func_error "error: relink '$file' with the above command before installing it"
$opt_dry_run || ${RM}r "$tmpdir"
continue
fi
- file="$outputname"
+ file=$outputname
else
- func_warning "cannot relink \`$file'"
+ func_warning "cannot relink '$file'"
fi
}
else
@@ -3198,10 +4526,10 @@ func_mode_install ()
for file in $staticlibs; do
func_basename "$file"
- name="$func_basename_result"
+ name=$func_basename_result
# Set up the ranlib parameters.
- oldlib="$destdir/$name"
+ oldlib=$destdir/$name
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
tool_oldlib=$func_to_tool_file_result
@@ -3216,18 +4544,18 @@ func_mode_install ()
done
test -n "$future_libdirs" && \
- func_warning "remember to run \`$progname --finish$future_libdirs'"
+ func_warning "remember to run '$progname --finish$future_libdirs'"
if test -n "$current_libdirs"; then
# Maybe just do a dry run.
$opt_dry_run && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
else
exit $EXIT_SUCCESS
fi
}
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
# func_generate_dlsyms outputname originator pic_p
@@ -3235,16 +4563,17 @@ test "$opt_mode" = install && func_mode_install ${1+"$@"}
# a dlpreopen symbol table.
func_generate_dlsyms ()
{
- $opt_debug
- my_outputname="$1"
- my_originator="$2"
- my_pic_p="${3-no}"
- my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ $debug_cmd
+
+ my_outputname=$1
+ my_originator=$2
+ my_pic_p=${3-false}
+ my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
my_dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
if test -n "$NM" && test -n "$global_symbol_pipe"; then
- my_dlsyms="${my_outputname}S.c"
+ my_dlsyms=${my_outputname}S.c
else
func_error "not configured to extract global symbols from dlpreopened files"
fi
@@ -3255,7 +4584,7 @@ func_generate_dlsyms ()
"") ;;
*.c)
# Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${my_outputname}.nm"
+ nlist=$output_objdir/$my_outputname.nm
func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
@@ -3263,34 +4592,36 @@ func_generate_dlsyms ()
func_verbose "creating $output_objdir/$my_dlsyms"
$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
#ifdef __cplusplus
extern \"C\" {
#endif
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
#endif
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
# define LT_DLSYM_CONST const
#endif
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
/* External symbol declarations for the compiler. */\
"
- if test "$dlself" = yes; then
- func_verbose "generating symbol list for \`$output'"
+ if test yes = "$dlself"; then
+ func_verbose "generating symbol list for '$output'"
$opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
@@ -3298,7 +4629,7 @@ extern \"C\" {
progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
for progfile in $progfiles; do
func_to_tool_file "$progfile" func_convert_file_msys_to_w32
- func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+ func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
$opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
done
@@ -3318,10 +4649,10 @@ extern \"C\" {
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
+ export_symbols=$output_objdir/$outputname.exp
$opt_dry_run || {
$RM $export_symbols
- eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
case $host in
*cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
@@ -3331,7 +4662,7 @@ extern \"C\" {
}
else
$opt_dry_run || {
- eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
case $host in
@@ -3345,22 +4676,22 @@ extern \"C\" {
fi
for dlprefile in $dlprefiles; do
- func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_verbose "extracting global C symbols from '$dlprefile'"
func_basename "$dlprefile"
- name="$func_basename_result"
+ name=$func_basename_result
case $host in
*cygwin* | *mingw* | *cegcc* )
# if an import library, we need to obtain dlname
if func_win32_import_lib_p "$dlprefile"; then
func_tr_sh "$dlprefile"
eval "curr_lafile=\$libfile_$func_tr_sh_result"
- dlprefile_dlbasename=""
+ dlprefile_dlbasename=
if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
# Use subshell, to avoid clobbering current variable values
dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
- if test -n "$dlprefile_dlname" ; then
+ if test -n "$dlprefile_dlname"; then
func_basename "$dlprefile_dlname"
- dlprefile_dlbasename="$func_basename_result"
+ dlprefile_dlbasename=$func_basename_result
else
# no lafile. user explicitly requested -dlpreopen <import library>.
$sharedlib_from_linklib_cmd "$dlprefile"
@@ -3368,7 +4699,7 @@ extern \"C\" {
fi
fi
$opt_dry_run || {
- if test -n "$dlprefile_dlbasename" ; then
+ if test -n "$dlprefile_dlbasename"; then
eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
else
func_warning "Could not compute DLL name from $name"
@@ -3424,6 +4755,11 @@ extern \"C\" {
echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
fi
+ func_show_eval '$RM "${nlist}I"'
+ if test -n "$global_symbol_to_import"; then
+ eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+ fi
+
echo >> "$output_objdir/$my_dlsyms" "\
/* The mapping between symbol names and symbols. */
@@ -3432,11 +4768,30 @@ typedef struct {
void *address;
} lt_dlsymlist;
extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+ LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+ for (; symbol->name; ++symbol)
+ {"
+ $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+ echo >> "$output_objdir/$my_dlsyms" "\
+ }
+}"
+ fi
+ echo >> "$output_objdir/$my_dlsyms" "\
LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
- { \"$my_originator\", (void *) 0 },"
+{ {\"$my_originator\", (void *) 0},"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {\"@INIT@\", (void *) &lt_syminit},"
+ fi
case $need_lib_prefix in
no)
@@ -3478,9 +4833,7 @@ static const void *lt_preloaded_setup() {
*-*-hpux*)
pic_flag_for_symtable=" $pic_flag" ;;
*)
- if test "X$my_pic_p" != Xno; then
- pic_flag_for_symtable=" $pic_flag"
- fi
+ $my_pic_p && pic_flag_for_symtable=" $pic_flag"
;;
esac
;;
@@ -3497,10 +4850,10 @@ static const void *lt_preloaded_setup() {
func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
# Clean up the generated files.
- func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
# Transform the symbol file into the correct name.
- symfileobj="$output_objdir/${my_outputname}S.$objext"
+ symfileobj=$output_objdir/${my_outputname}S.$objext
case $host in
*cygwin* | *mingw* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then
@@ -3518,7 +4871,7 @@ static const void *lt_preloaded_setup() {
esac
;;
*)
- func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ func_fatal_error "unknown suffix for '$my_dlsyms'"
;;
esac
else
@@ -3532,6 +4885,32 @@ static const void *lt_preloaded_setup() {
fi
}
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
# func_win32_libid arg
# return the library type of file 'arg'
#
@@ -3541,8 +4920,9 @@ static const void *lt_preloaded_setup() {
# Despite the name, also deal with 64 bit binaries.
func_win32_libid ()
{
- $opt_debug
- win32_libid_type="unknown"
+ $debug_cmd
+
+ win32_libid_type=unknown
win32_fileres=`file -L $1 2>/dev/null`
case $win32_fileres in
*ar\ archive\ import\ library*) # definitely import
@@ -3552,16 +4932,29 @@ func_win32_libid ()
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
- $SED -n -e '
+ case $nm_interface in
+ "MS dumpbin")
+ if func_cygming_ms_implib_p "$1" ||
+ func_cygming_gnu_implib_p "$1"
+ then
+ win32_nmres=import
+ else
+ win32_nmres=
+ fi
+ ;;
+ *)
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
1,100{
/ I /{
- s,.*,import,
+ s|.*|import|
p
q
}
}'`
+ ;;
+ esac
case $win32_nmres in
import*) win32_libid_type="x86 archive import";;
*) win32_libid_type="x86 archive static";;
@@ -3593,7 +4986,8 @@ func_win32_libid ()
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib ()
{
- $opt_debug
+ $debug_cmd
+
sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
}
@@ -3610,7 +5004,8 @@ func_cygming_dll_for_implib ()
# specified import library.
func_cygming_dll_for_implib_fallback_core ()
{
- $opt_debug
+ $debug_cmd
+
match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
$OBJDUMP -s --section "$1" "$2" 2>/dev/null |
$SED '/^Contents of section '"$match_literal"':/{
@@ -3646,8 +5041,8 @@ func_cygming_dll_for_implib_fallback_core ()
/./p' |
# we now have a list, one entry per line, of the stringified
# contents of the appropriate section of all members of the
- # archive which possess that section. Heuristic: eliminate
- # all those which have a first or second character that is
+ # archive that possess that section. Heuristic: eliminate
+ # all those that have a first or second character that is
# a '.' (that is, objdump's representation of an unprintable
# character.) This should work for all archives with less than
# 0x302f exports -- but will fail for DLLs whose name actually
@@ -3658,30 +5053,6 @@ func_cygming_dll_for_implib_fallback_core ()
$SED -e '/^\./d;/^.\./d;q'
}
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
- $opt_debug
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
- test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
- $opt_debug
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
- test -n "$func_cygming_ms_implib_tmp"
-}
-
# func_cygming_dll_for_implib_fallback ARG
# Platform-specific function to extract the
# name of the DLL associated with the specified
@@ -3695,16 +5066,17 @@ func_cygming_ms_implib_p ()
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib_fallback ()
{
- $opt_debug
- if func_cygming_gnu_implib_p "$1" ; then
+ $debug_cmd
+
+ if func_cygming_gnu_implib_p "$1"; then
# binutils import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
- elif func_cygming_ms_implib_p "$1" ; then
+ elif func_cygming_ms_implib_p "$1"; then
# ms-generated import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
else
# unknown
- sharedlib_from_linklib_result=""
+ sharedlib_from_linklib_result=
fi
}
@@ -3712,10 +5084,11 @@ func_cygming_dll_for_implib_fallback ()
# func_extract_an_archive dir oldlib
func_extract_an_archive ()
{
- $opt_debug
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
- if test "$lock_old_archive_extraction" = yes; then
+ $debug_cmd
+
+ f_ex_an_ar_dir=$1; shift
+ f_ex_an_ar_oldlib=$1
+ if test yes = "$lock_old_archive_extraction"; then
lockfile=$f_ex_an_ar_oldlib.lock
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
@@ -3724,7 +5097,7 @@ func_extract_an_archive ()
fi
func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
'stat=$?; rm -f "$lockfile"; exit $stat'
- if test "$lock_old_archive_extraction" = yes; then
+ if test yes = "$lock_old_archive_extraction"; then
$opt_dry_run || rm -f "$lockfile"
fi
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
@@ -3738,22 +5111,23 @@ func_extract_an_archive ()
# func_extract_archives gentop oldlib ...
func_extract_archives ()
{
- $opt_debug
- my_gentop="$1"; shift
+ $debug_cmd
+
+ my_gentop=$1; shift
my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
+ my_oldobjs=
+ my_xlib=
+ my_xabs=
+ my_xdir=
for my_xlib in $my_oldlibs; do
# Extract the objects.
case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
*) my_xabs=`pwd`"/$my_xlib" ;;
esac
func_basename "$my_xlib"
- my_xlib="$func_basename_result"
+ my_xlib=$func_basename_result
my_xlib_u=$my_xlib
while :; do
case " $extracted_archives " in
@@ -3765,7 +5139,7 @@ func_extract_archives ()
esac
done
extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
+ my_xdir=$my_gentop/$my_xlib_u
func_mkdir_p "$my_xdir"
@@ -3778,22 +5152,23 @@ func_extract_archives ()
cd $my_xdir || exit $?
darwin_archive=$my_xabs
darwin_curdir=`pwd`
- darwin_base_archive=`basename "$darwin_archive"`
+ func_basename "$darwin_archive"
+ darwin_base_archive=$func_basename_result
darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
if test -n "$darwin_arches"; then
darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
darwin_arch=
func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ for darwin_arch in $darwin_arches; do
+ func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+ $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+ cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+ func_extract_an_archive "`pwd`" "$darwin_base_archive"
cd "$darwin_curdir"
- $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
done # $darwin_arches
## Okay now we've a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
darwin_file=
darwin_files=
for darwin_file in $darwin_filelist; do
@@ -3815,7 +5190,7 @@ func_extract_archives ()
my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
done
- func_extract_archives_result="$my_oldobjs"
+ func_extract_archives_result=$my_oldobjs
}
@@ -3830,7 +5205,7 @@ func_extract_archives ()
#
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
# variable will take. If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
+# will assume that the directory where it is stored is
# the $objdir directory. This is a cygwin/mingw-specific
# behavior.
func_emit_wrapper ()
@@ -3841,7 +5216,7 @@ func_emit_wrapper ()
#! $SHELL
# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
@@ -3898,9 +5273,9 @@ _LTECHO_EOF'
# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
+# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
+# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
@@ -3933,7 +5308,7 @@ func_parse_lt_options ()
# Print the debug banner immediately:
if test -n \"\$lt_option_debug\"; then
- echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
fi
}
@@ -3944,7 +5319,7 @@ func_lt_dump_args ()
lt_dump_args_N=1;
for lt_arg
do
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
done
}
@@ -3958,7 +5333,7 @@ func_exec_program_core ()
*-*-mingw | *-*-os2* | *-cegcc*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
@@ -3968,7 +5343,7 @@ func_exec_program_core ()
*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir/\$program\" \${1+\"\$@\"}
@@ -4043,13 +5418,13 @@ func_exec_program ()
test -n \"\$absdir\" && thisdir=\"\$absdir\"
"
- if test "$fast_install" = yes; then
+ if test yes = "$fast_install"; then
$ECHO "\
program=lt-'$outputname'$exeext
progdir=\"\$thisdir/$objdir\"
if test ! -f \"\$progdir/\$program\" ||
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
test \"X\$file\" != \"X\$progdir/\$program\"; }; then
file=\"\$\$-\$program\"
@@ -4066,7 +5441,7 @@ func_exec_program ()
if test -n \"\$relink_command\"; then
if relink_command_output=\`eval \$relink_command 2>&1\`; then :
else
- $ECHO \"\$relink_command_output\" >&2
+ \$ECHO \"\$relink_command_output\" >&2
$RM \"\$progdir/\$file\"
exit 1
fi
@@ -4101,7 +5476,7 @@ func_exec_program ()
fi
# Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
$ECHO "\
# Add our own library path to $shlibpath_var
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
@@ -4121,7 +5496,7 @@ func_exec_program ()
fi
else
# The program doesn't exist.
- \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2
\$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
exit 1
@@ -4140,7 +5515,7 @@ func_emit_cwrapperexe_src ()
cat <<EOF
/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+ Generated by $PROGRAM (GNU $PACKAGE) $VERSION
The $output program cannot be directly executed until all the libtool
libraries that it depends on are installed.
@@ -4175,47 +5550,45 @@ EOF
#include <fcntl.h>
#include <sys/stat.h>
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
/* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
+#if defined __MINGW32__
# ifdef __STRICT_ANSI__
int _putenv (const char *);
# endif
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
# ifdef __STRICT_ANSI__
char *realpath (const char *, char *);
int putenv (char *);
int setenv (const char *, const char *, int);
# endif
-/* #elif defined (other platforms) ... */
+/* #elif defined other_platform || defined ... */
#endif
/* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
+#if defined _MSC_VER
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
# define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-# define _INTPTR_T_DEFINED
-# define intptr_t int
-# endif
-#elif defined(__MINGW32__)
+#elif defined __MINGW32__
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
# define HAVE_SETENV
# define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
+/* #elif defined other platforms ... */
#endif
-#if defined(PATH_MAX)
+#if defined PATH_MAX
# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
+#elif defined MAXPATHLEN
# define LT_PATHMAX MAXPATHLEN
#else
# define LT_PATHMAX 1024
@@ -4234,8 +5607,8 @@ int setenv (const char *, const char *, int);
# define PATH_SEPARATOR ':'
#endif
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+ defined __OS2__
# define HAVE_DOS_BASED_FILE_SYSTEM
# define FOPEN_WB "wb"
# ifndef DIR_SEPARATOR_2
@@ -4268,10 +5641,10 @@ int setenv (const char *, const char *, int);
#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
+ if (stale) { free (stale); stale = 0; } \
} while (0)
-#if defined(LT_DEBUGWRAPPER)
+#if defined LT_DEBUGWRAPPER
static int lt_debug = 1;
#else
static int lt_debug = 0;
@@ -4300,11 +5673,16 @@ void lt_dump_script (FILE *f);
EOF
cat <<EOF
-volatile const char * MAGIC_EXE = "$magic_exe";
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
const char * LIB_PATH_VARNAME = "$shlibpath_var";
EOF
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
func_to_host_path "$temp_rpath"
cat <<EOF
const char * LIB_PATH_VALUE = "$func_to_host_path_result";
@@ -4328,7 +5706,7 @@ const char * EXE_PATH_VALUE = "";
EOF
fi
- if test "$fast_install" = yes; then
+ if test yes = "$fast_install"; then
cat <<EOF
const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
EOF
@@ -4357,12 +5735,12 @@ main (int argc, char *argv[])
char *actual_cwrapper_name;
char *target_name;
char *lt_argv_zero;
- intptr_t rval = 127;
+ int rval = 127;
int i;
program_name = (char *) xstrdup (base_name (argv[0]));
- newargz = XMALLOC (char *, argc + 1);
+ newargz = XMALLOC (char *, (size_t) argc + 1);
/* very simple arg parsing; don't want to rely on getopt
* also, copy all non cwrapper options to newargz, except
@@ -4371,10 +5749,10 @@ main (int argc, char *argv[])
newargc=0;
for (i = 1; i < argc; i++)
{
- if (strcmp (argv[i], dumpscript_opt) == 0)
+ if (STREQ (argv[i], dumpscript_opt))
{
EOF
- case "$host" in
+ case $host in
*mingw* | *cygwin* )
# make stdout use "unix" line endings
echo " setmode(1,_O_BINARY);"
@@ -4385,12 +5763,12 @@ EOF
lt_dump_script (stdout);
return 0;
}
- if (strcmp (argv[i], debug_opt) == 0)
+ if (STREQ (argv[i], debug_opt))
{
lt_debug = 1;
continue;
}
- if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ if (STREQ (argv[i], ltwrapper_option_prefix))
{
/* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
namespace, but it is not one of the ones we know about and
@@ -4413,7 +5791,7 @@ EOF
EOF
cat <<EOF
/* The GNU banner must be the first non-error debug message */
- lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
EOF
cat <<"EOF"
lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
@@ -4524,7 +5902,7 @@ EOF
cat <<"EOF"
/* execv doesn't actually work on mingw as expected on unix */
newargz = prepare_spawn (newargz);
- rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
if (rval == -1)
{
/* failed to start process */
@@ -4569,7 +5947,7 @@ base_name (const char *name)
{
const char *base;
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
/* Skip over the disk name in MSDOS pathnames. */
if (isalpha ((unsigned char) name[0]) && name[1] == ':')
name += 2;
@@ -4628,7 +6006,7 @@ find_executable (const char *wrapper)
const char *p_next;
/* static buffer for getcwd */
char tmp[LT_PATHMAX + 1];
- int tmp_len;
+ size_t tmp_len;
char *concat_name;
lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
@@ -4638,7 +6016,7 @@ find_executable (const char *wrapper)
return NULL;
/* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
{
concat_name = xstrdup (wrapper);
@@ -4656,7 +6034,7 @@ find_executable (const char *wrapper)
return concat_name;
XFREE (concat_name);
}
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
}
#endif
@@ -4679,7 +6057,7 @@ find_executable (const char *wrapper)
for (q = p; *q; q++)
if (IS_PATH_SEPARATOR (*q))
break;
- p_len = q - p;
+ p_len = (size_t) (q - p);
p_next = (*q == '\0' ? q : q + 1);
if (p_len == 0)
{
@@ -4798,7 +6176,7 @@ strendzap (char *str, const char *pat)
if (patlen <= len)
{
str += len - patlen;
- if (strcmp (str, pat) == 0)
+ if (STREQ (str, pat))
*str = '\0';
}
return str;
@@ -4863,7 +6241,7 @@ lt_setenv (const char *name, const char *value)
char *str = xstrdup (value);
setenv (name, str, 1);
#else
- int len = strlen (name) + 1 + strlen (value) + 1;
+ size_t len = strlen (name) + 1 + strlen (value) + 1;
char *str = XMALLOC (char, len);
sprintf (str, "%s=%s", name, value);
if (putenv (str) != EXIT_SUCCESS)
@@ -4880,8 +6258,8 @@ lt_extend_str (const char *orig_value, const char *add, int to_end)
char *new_value;
if (orig_value && *orig_value)
{
- int orig_value_len = strlen (orig_value);
- int add_len = strlen (add);
+ size_t orig_value_len = strlen (orig_value);
+ size_t add_len = strlen (add);
new_value = XMALLOC (char, add_len + orig_value_len + 1);
if (to_end)
{
@@ -4912,10 +6290,10 @@ lt_update_exe_path (const char *name, const char *value)
{
char *new_value = lt_extend_str (getenv (name), value, 0);
/* some systems can't cope with a ':'-terminated path #' */
- int len = strlen (new_value);
- while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ size_t len = strlen (new_value);
+ while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
{
- new_value[len-1] = '\0';
+ new_value[--len] = '\0';
}
lt_setenv (name, new_value);
XFREE (new_value);
@@ -5082,27 +6460,47 @@ EOF
# True if ARG is an import lib, as indicated by $file_magic_cmd
func_win32_import_lib_p ()
{
- $opt_debug
+ $debug_cmd
+
case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
*import*) : ;;
*) false ;;
esac
}
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+ $debug_cmd
+
+ case " $compile_command " in
+ *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+ suncc_use_cstd_abi=no
+ ;;
+ *)
+ suncc_use_cstd_abi=yes
+ ;;
+ esac
+}
+
# func_mode_link arg...
func_mode_link ()
{
- $opt_debug
+ $debug_cmd
+
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
+ # what system we are compiling for in order to pass an extra
# flag for every libtool invocation.
# allow_undefined=no
# FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
+ # to make a dll that has undefined symbols, in which case not
# even a static library is built. For now, we need to specify
# -no-undefined on the libtool link line when we can be certain
# that all symbols are satisfied, otherwise we get a static library.
@@ -5146,10 +6544,11 @@ func_mode_link ()
module=no
no_install=no
objs=
+ os2dllname=
non_pic_objects=
precious_files_regex=
prefer_static_libs=no
- preload=no
+ preload=false
prev=
prevarg=
release=
@@ -5161,7 +6560,7 @@ func_mode_link ()
vinfo=
vinfo_number=no
weak_libs=
- single_module="${wl}-single_module"
+ single_module=$wl-single_module
func_infer_tag $base_compile
# We need to know -static, to get the right output filenames.
@@ -5169,15 +6568,15 @@ func_mode_link ()
do
case $arg in
-shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
+ test yes != "$build_libtool_libs" \
+ && func_fatal_configuration "cannot build a shared library"
build_old_libs=no
break
;;
-all-static | -static | -static-libtool-libs)
case $arg in
-all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
func_warning "complete static linking is impossible in this configuration"
fi
if test -n "$link_static_flag"; then
@@ -5210,7 +6609,7 @@ func_mode_link ()
# Go through the arguments, transforming them on the way.
while test "$#" -gt 0; do
- arg="$1"
+ arg=$1
shift
func_quote_for_eval "$arg"
qarg=$func_quote_for_eval_unquoted_result
@@ -5227,21 +6626,21 @@ func_mode_link ()
case $prev in
bindir)
- bindir="$arg"
+ bindir=$arg
prev=
continue
;;
dlfiles|dlprefiles)
- if test "$preload" = no; then
+ $preload || {
# Add the symbol object into the linking commands.
func_append compile_command " @SYMFILE@"
func_append finalize_command " @SYMFILE@"
- preload=yes
- fi
+ preload=:
+ }
case $arg in
*.la | *.lo) ;; # We handle these cases below.
force)
- if test "$dlself" = no; then
+ if test no = "$dlself"; then
dlself=needless
export_dynamic=yes
fi
@@ -5249,9 +6648,9 @@ func_mode_link ()
continue
;;
self)
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
dlself=yes
else
dlself=needless
@@ -5261,7 +6660,7 @@ func_mode_link ()
continue
;;
*)
- if test "$prev" = dlfiles; then
+ if test dlfiles = "$prev"; then
func_append dlfiles " $arg"
else
func_append dlprefiles " $arg"
@@ -5272,14 +6671,14 @@ func_mode_link ()
esac
;;
expsyms)
- export_symbols="$arg"
+ export_symbols=$arg
test -f "$arg" \
- || func_fatal_error "symbol file \`$arg' does not exist"
+ || func_fatal_error "symbol file '$arg' does not exist"
prev=
continue
;;
expsyms_regex)
- export_symbols_regex="$arg"
+ export_symbols_regex=$arg
prev=
continue
;;
@@ -5297,7 +6696,13 @@ func_mode_link ()
continue
;;
inst_prefix)
- inst_prefix_dir="$arg"
+ inst_prefix_dir=$arg
+ prev=
+ continue
+ ;;
+ mllvm)
+ # Clang does not use LLVM to link, so we can simply discard any
+ # '-mllvm $arg' options when doing the link step.
prev=
continue
;;
@@ -5321,21 +6726,21 @@ func_mode_link ()
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
- if test "$pic_object" != none; then
+ if test none != "$pic_object"; then
# Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ pic_object=$xdir$pic_object
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
@@ -5346,7 +6751,7 @@ func_mode_link ()
fi
# CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
@@ -5354,23 +6759,23 @@ func_mode_link ()
# A PIC object.
func_append libobjs " $pic_object"
- arg="$pic_object"
+ arg=$pic_object
fi
# Non-PIC object.
- if test "$non_pic_object" != none; then
+ if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+ non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
+ non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
@@ -5378,7 +6783,7 @@ func_mode_link ()
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
@@ -5386,24 +6791,29 @@ func_mode_link ()
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
- func_fatal_error "\`$arg' is not a valid libtool object"
+ func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
done
else
- func_fatal_error "link input file \`$arg' does not exist"
+ func_fatal_error "link input file '$arg' does not exist"
fi
arg=$save_arg
prev=
continue
;;
+ os2dllname)
+ os2dllname=$arg
+ prev=
+ continue
+ ;;
precious_regex)
- precious_files_regex="$arg"
+ precious_files_regex=$arg
prev=
continue
;;
release)
- release="-$arg"
+ release=-$arg
prev=
continue
;;
@@ -5415,7 +6825,7 @@ func_mode_link ()
func_fatal_error "only absolute run-paths are allowed"
;;
esac
- if test "$prev" = rpath; then
+ if test rpath = "$prev"; then
case "$rpath " in
*" $arg "*) ;;
*) func_append rpath " $arg" ;;
@@ -5430,7 +6840,7 @@ func_mode_link ()
continue
;;
shrext)
- shrext_cmds="$arg"
+ shrext_cmds=$arg
prev=
continue
;;
@@ -5470,7 +6880,7 @@ func_mode_link ()
esac
fi # test -n "$prev"
- prevarg="$arg"
+ prevarg=$arg
case $arg in
-all-static)
@@ -5484,7 +6894,7 @@ func_mode_link ()
-allow-undefined)
# FIXME: remove this flag sometime in the future.
- func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ func_fatal_error "'-allow-undefined' must not be used because it is the default"
;;
-avoid-version)
@@ -5516,7 +6926,7 @@ func_mode_link ()
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
func_fatal_error "more than one -exported-symbols argument is not allowed"
fi
- if test "X$arg" = "X-export-symbols"; then
+ if test X-export-symbols = "X$arg"; then
prev=expsyms
else
prev=expsyms_regex
@@ -5550,9 +6960,9 @@ func_mode_link ()
func_stripname "-L" '' "$arg"
if test -z "$func_stripname_result"; then
if test "$#" -gt 0; then
- func_fatal_error "require no space between \`-L' and \`$1'"
+ func_fatal_error "require no space between '-L' and '$1'"
else
- func_fatal_error "need path for \`-L' option"
+ func_fatal_error "need path for '-L' option"
fi
fi
func_resolve_sysroot "$func_stripname_result"
@@ -5563,8 +6973,8 @@ func_mode_link ()
*)
absdir=`cd "$dir" && pwd`
test -z "$absdir" && \
- func_fatal_error "cannot determine absolute directory name of \`$dir'"
- dir="$absdir"
+ func_fatal_error "cannot determine absolute directory name of '$dir'"
+ dir=$absdir
;;
esac
case "$deplibs " in
@@ -5599,7 +7009,7 @@ func_mode_link ()
;;
-l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ if test X-lc = "X$arg" || test X-lm = "X$arg"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
@@ -5607,11 +7017,11 @@ func_mode_link ()
;;
*-*-os2*)
# These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
@@ -5620,16 +7030,16 @@ func_mode_link ()
;;
*-*-sco3.2v5* | *-*-sco5v6*)
# Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
esac
- elif test "X$arg" = "X-lc_r"; then
+ elif test X-lc_r = "X$arg"; then
case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
@@ -5639,6 +7049,11 @@ func_mode_link ()
continue
;;
+ -mllvm)
+ prev=mllvm
+ continue
+ ;;
+
-module)
module=yes
continue
@@ -5668,7 +7083,7 @@ func_mode_link ()
;;
-multi_module)
- single_module="${wl}-multi_module"
+ single_module=$wl-multi_module
continue
;;
@@ -5682,8 +7097,8 @@ func_mode_link ()
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
- func_warning "\`-no-install' is ignored for $host"
- func_warning "assuming \`-no-fast-install' instead"
+ func_warning "'-no-install' is ignored for $host"
+ func_warning "assuming '-no-fast-install' instead"
fast_install=no
;;
*) no_install=yes ;;
@@ -5701,6 +7116,11 @@ func_mode_link ()
continue
;;
+ -os2dllname)
+ prev=os2dllname
+ continue
+ ;;
+
-o) prev=output ;;
-precious-files-regex)
@@ -5788,14 +7208,14 @@ func_mode_link ()
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
arg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for flag in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_quote_for_eval "$flag"
func_append arg " $func_quote_for_eval_result"
func_append compiler_flags " $func_quote_for_eval_result"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
@@ -5804,15 +7224,15 @@ func_mode_link ()
func_stripname '-Wl,' '' "$arg"
args=$func_stripname_result
arg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for flag in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_quote_for_eval "$flag"
func_append arg " $wl$func_quote_for_eval_result"
func_append compiler_flags " $wl$func_quote_for_eval_result"
func_append linker_flags " $func_quote_for_eval_result"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
@@ -5835,7 +7255,7 @@ func_mode_link ()
# -msg_* for osf cc
-msg_*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
# Flags to be passed through unchanged, with rationale:
@@ -5847,25 +7267,49 @@ func_mode_link ()
# -m*, -t[45]*, -txscale* architecture-specific flags for GCC
# -F/path path to uninstalled frameworks, gcc on darwin
# -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # -fstack-protector* stack protector flags for GCC
# @file GCC response files
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
- # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
+ # -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*|-fsanitize=*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
continue
;;
+ -Z*)
+ if test os2 = "`expr $host : '.*\(os2\)'`"; then
+ # OS/2 uses -Zxxx to specify OS/2-specific options
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case $arg in
+ -Zlinker | -Zstack)
+ prev=xcompiler
+ ;;
+ esac
+ continue
+ else
+ # Otherwise treat like 'Some other compiler flag' below
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ fi
+ ;;
+
# Some other compiler flag.
-* | +*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
*.$objext)
@@ -5886,21 +7330,21 @@ func_mode_link ()
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
- if test "$pic_object" != none; then
+ test none = "$pic_object" || {
# Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ pic_object=$xdir$pic_object
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
@@ -5911,7 +7355,7 @@ func_mode_link ()
fi
# CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
@@ -5919,23 +7363,23 @@ func_mode_link ()
# A PIC object.
func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
+ arg=$pic_object
+ }
# Non-PIC object.
- if test "$non_pic_object" != none; then
+ if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+ non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
+ non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
@@ -5943,7 +7387,7 @@ func_mode_link ()
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
@@ -5951,7 +7395,7 @@ func_mode_link ()
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
- func_fatal_error "\`$arg' is not a valid libtool object"
+ func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
;;
@@ -5967,11 +7411,11 @@ func_mode_link ()
# A libtool-controlled library.
func_resolve_sysroot "$arg"
- if test "$prev" = dlfiles; then
+ if test dlfiles = "$prev"; then
# This library was specified with -dlopen.
func_append dlfiles " $func_resolve_sysroot_result"
prev=
- elif test "$prev" = dlprefiles; then
+ elif test dlprefiles = "$prev"; then
# The library was specified with -dlpreopen.
func_append dlprefiles " $func_resolve_sysroot_result"
prev=
@@ -5986,7 +7430,7 @@ func_mode_link ()
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
esac # arg
@@ -5998,9 +7442,9 @@ func_mode_link ()
done # argument parsing loop
test -n "$prev" && \
- func_fatal_help "the \`$prevarg' option requires an argument"
+ func_fatal_help "the '$prevarg' option requires an argument"
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
func_append compile_command " $arg"
func_append finalize_command " $arg"
@@ -6009,20 +7453,23 @@ func_mode_link ()
oldlibs=
# calculate the name of the file, without its directory
func_basename "$output"
- outputname="$func_basename_result"
- libobjs_save="$libobjs"
+ outputname=$func_basename_result
+ libobjs_save=$libobjs
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+ eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+ # Definition is injected by LT_CONFIG during libtool generation.
+ func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
func_dirname "$output" "/" ""
- output_objdir="$func_dirname_result$objdir"
+ output_objdir=$func_dirname_result$objdir
func_to_tool_file "$output_objdir/"
tool_output_objdir=$func_to_tool_file_result
# Create the object directory.
@@ -6045,7 +7492,7 @@ func_mode_link ()
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
@@ -6053,7 +7500,7 @@ func_mode_link ()
func_append libs " $deplib"
done
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
libs="$predeps $libs $compiler_lib_search_path $postdeps"
# Compute libraries that are listed more than once in $predeps
@@ -6085,7 +7532,7 @@ func_mode_link ()
case $file in
*.la) ;;
*)
- func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
;;
esac
done
@@ -6093,7 +7540,7 @@ func_mode_link ()
prog)
compile_deplibs=
finalize_deplibs=
- alldeplibs=no
+ alldeplibs=false
newdlfiles=
newdlprefiles=
passes="conv scan dlopen dlpreopen link"
@@ -6105,29 +7552,32 @@ func_mode_link ()
for pass in $passes; do
# The preopen pass in lib mode reverses $deplibs; put it back here
# so that -L comes before libs that need it for instance...
- if test "$linkmode,$pass" = "lib,link"; then
+ if test lib,link = "$linkmode,$pass"; then
## FIXME: Find the place where the list is rebuilt in the wrong
## order, and fix it there properly
tmp_deplibs=
for deplib in $deplibs; do
tmp_deplibs="$deplib $tmp_deplibs"
done
- deplibs="$tmp_deplibs"
+ deplibs=$tmp_deplibs
fi
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass"; then
+ libs=$deplibs
deplibs=
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ dlopen) libs=$dlfiles ;;
+ dlpreopen) libs=$dlprefiles ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
esac
fi
- if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ if test lib,dlpreopen = "$linkmode,$pass"; then
# Collect and forward deplibs of preopened libtool libs
for lib in $dlprefiles; do
# Ignore non-libtool-libs
@@ -6148,26 +7598,26 @@ func_mode_link ()
esac
done
done
- libs="$dlprefiles"
+ libs=$dlprefiles
fi
- if test "$pass" = dlopen; then
+ if test dlopen = "$pass"; then
# Collect dlpreopened libraries
- save_deplibs="$deplibs"
+ save_deplibs=$deplibs
deplibs=
fi
for deplib in $libs; do
lib=
- found=no
+ found=false
case $deplib in
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
func_append compiler_flags " $deplib"
- if test "$linkmode" = lib ; then
+ if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6177,13 +7627,13 @@ func_mode_link ()
continue
;;
-l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- func_warning "\`-l' is ignored for archives/objects"
+ if test lib != "$linkmode" && test prog != "$linkmode"; then
+ func_warning "'-l' is ignored for archives/objects"
continue
fi
func_stripname '-l' '' "$deplib"
name=$func_stripname_result
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
else
searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
@@ -6191,31 +7641,22 @@ func_mode_link ()
for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
+ lib=$searchdir/lib$name$search_ext
if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
+ if test .la = "$search_ext"; then
+ found=:
else
- found=no
+ found=false
fi
break 2
fi
done
done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
+ if $found; then
+ # deplib is a libtool library
# If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
# We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $deplib "*)
if func_lalib_p "$lib"; then
@@ -6223,19 +7664,19 @@ func_mode_link ()
old_library=
func_source "$lib"
for l in $old_library $library_names; do
- ll="$l"
+ ll=$l
done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
+ if test "X$ll" = "X$old_library"; then # only static version available
+ found=false
func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
+ ladir=$func_dirname_result
lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
fi
continue
fi
@@ -6244,15 +7685,25 @@ func_mode_link ()
*) ;;
esac
fi
+ else
+ # deplib doesn't seem to be a libtool library
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
fi
;; # -l
*.ltframework)
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
- if test "$linkmode" = lib ; then
+ if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6265,18 +7716,18 @@ func_mode_link ()
case $linkmode in
lib)
deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
+ test conv = "$pass" && continue
newdependency_libs="$deplib $newdependency_libs"
func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
prog)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
- if test "$pass" = scan; then
+ if test scan = "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
@@ -6287,13 +7738,13 @@ func_mode_link ()
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
*)
- func_warning "\`-L' is ignored for archives/objects"
+ func_warning "'-L' is ignored for archives/objects"
;;
esac # linkmode
continue
;; # -L
-R*)
- if test "$pass" = link; then
+ if test link = "$pass"; then
func_stripname '-R' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
dir=$func_resolve_sysroot_result
@@ -6311,7 +7762,7 @@ func_mode_link ()
lib=$func_resolve_sysroot_result
;;
*.$libext)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
@@ -6322,21 +7773,26 @@ func_mode_link ()
case " $dlpreconveniencelibs " in
*" $deplib "*) ;;
*)
- valid_a_lib=no
+ valid_a_lib=false
case $deplibs_check_method in
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
+ valid_a_lib=:
fi
;;
pass_all)
- valid_a_lib=yes
+ valid_a_lib=:
;;
esac
- if test "$valid_a_lib" != yes; then
+ if $valid_a_lib; then
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ else
echo
$ECHO "*** Warning: Trying to link with static lib archive $deplib."
echo "*** I have the capability to make that library automatically link in when"
@@ -6344,18 +7800,13 @@ func_mode_link ()
echo "*** shared version of the library, which you do not appear to have"
echo "*** because the file extensions .$libext of this argument makes me believe"
echo "*** that it is just a static archive that I should not use here."
- else
- echo
- $ECHO "*** Warning: Linking the shared library $output against the"
- $ECHO "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
fi
;;
esac
continue
;;
prog)
- if test "$pass" != link; then
+ if test link != "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
@@ -6366,10 +7817,10 @@ func_mode_link ()
esac # linkmode
;; # *.$libext
*.lo | *.$objext)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ elif test prog = "$linkmode"; then
+ if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
# If there is no dlopen support or we're linking statically,
# we need to preload.
func_append newdlprefiles " $deplib"
@@ -6382,22 +7833,20 @@ func_mode_link ()
continue
;;
%DEPLIBS%)
- alldeplibs=yes
+ alldeplibs=:
continue
;;
esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
- fi
+ $found || test -f "$lib" \
+ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$lib" \
- || func_fatal_error "\`$lib' is not a valid libtool archive"
+ || func_fatal_error "'$lib' is not a valid libtool archive"
func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
+ ladir=$func_dirname_result
dlname=
dlopen=
@@ -6427,36 +7876,36 @@ func_mode_link ()
done
fi
dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass" ||
+ { test prog != "$linkmode" && test lib != "$linkmode"; }; then
test -n "$dlopen" && func_append dlfiles " $dlopen"
test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
fi
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
# Only check for convenience libraries
deplibs="$lib $deplibs"
if test -z "$libdir"; then
if test -z "$old_library"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
+ func_fatal_error "cannot find name of link library for '$lib'"
fi
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
func_append old_convenience " $ladir/$objdir/$old_library"
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- func_fatal_error "\`$lib' is not a convenience library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
+ elif test prog != "$linkmode" && test lib != "$linkmode"; then
+ func_fatal_error "'$lib' is not a convenience library"
fi
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append tmp_libs " $deplib"
- done
continue
fi # $pass = conv
@@ -6464,26 +7913,26 @@ func_mode_link ()
# Get the name of the library we link against.
linklib=
if test -n "$old_library" &&
- { test "$prefer_static_libs" = yes ||
- test "$prefer_static_libs,$installed" = "built,no"; }; then
+ { test yes = "$prefer_static_libs" ||
+ test built,no = "$prefer_static_libs,$installed"; }; then
linklib=$old_library
else
for l in $old_library $library_names; do
- linklib="$l"
+ linklib=$l
done
fi
if test -z "$linklib"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
+ func_fatal_error "cannot find name of link library for '$lib'"
fi
# This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
- fi
+ if test dlopen = "$pass"; then
+ test -z "$libdir" \
+ && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
+ test yes != "$dlopen_support" ||
+ test no = "$build_libtool_libs"
+ then
# If there is no dlname, no dlopen support or we're linking
# statically, we need to preload. We also need to preload any
# dependent libraries so libltdl's deplib preloader doesn't
@@ -6497,40 +7946,40 @@ func_mode_link ()
# We need an absolute path.
case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
*)
abs_ladir=`cd "$ladir" && pwd`
if test -z "$abs_ladir"; then
- func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "cannot determine absolute directory name of '$ladir'"
func_warning "passing it literally to the linker, although it might fail"
- abs_ladir="$ladir"
+ abs_ladir=$ladir
fi
;;
esac
func_basename "$lib"
- laname="$func_basename_result"
+ laname=$func_basename_result
# Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
+ if test yes = "$installed"; then
if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- func_warning "library \`$lib' was moved."
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
+ func_warning "library '$lib' was moved."
+ dir=$ladir
+ absdir=$abs_ladir
+ libdir=$abs_ladir
else
- dir="$lt_sysroot$libdir"
- absdir="$lt_sysroot$libdir"
+ dir=$lt_sysroot$libdir
+ absdir=$lt_sysroot$libdir
fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ test yes = "$hardcode_automatic" && avoidtemprpath=yes
else
if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
+ dir=$ladir
+ absdir=$abs_ladir
# Remove this search path later
func_append notinst_path " $abs_ladir"
else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
+ dir=$ladir/$objdir
+ absdir=$abs_ladir/$objdir
# Remove this search path later
func_append notinst_path " $abs_ladir"
fi
@@ -6539,11 +7988,11 @@ func_mode_link ()
name=$func_stripname_result
# This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir" && test "$linkmode" = prog; then
- func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ if test dlpreopen = "$pass"; then
+ if test -z "$libdir" && test prog = "$linkmode"; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
fi
- case "$host" in
+ case $host in
# special handling for platforms with PE-DLLs.
*cygwin* | *mingw* | *cegcc* )
# Linker will automatically link against shared library if both
@@ -6587,9 +8036,9 @@ func_mode_link ()
if test -z "$libdir"; then
# Link the convenience library
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
+ elif test prog,link = "$linkmode,$pass"; then
compile_deplibs="$dir/$old_library $compile_deplibs"
finalize_deplibs="$dir/$old_library $finalize_deplibs"
else
@@ -6599,14 +8048,14 @@ func_mode_link ()
fi
- if test "$linkmode" = prog && test "$pass" != link; then
+ if test prog = "$linkmode" && test link != "$pass"; then
func_append newlib_search_path " $ladir"
deplibs="$lib $deplibs"
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
+ linkalldeplibs=false
+ if test no != "$link_all_deplibs" || test -z "$library_names" ||
+ test no = "$build_libtool_libs"; then
+ linkalldeplibs=:
fi
tmp_libs=
@@ -6618,14 +8067,14 @@ func_mode_link ()
;;
esac
# Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
+ if $linkalldeplibs; then
deplibs="$deplib $deplibs"
else
# Need to hardcode shared library paths
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
@@ -6635,15 +8084,15 @@ func_mode_link ()
continue
fi # $linkmode = prog...
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ { { test no = "$prefer_static_libs" ||
+ test built,yes = "$prefer_static_libs,$installed"; } ||
test -z "$old_library"; }; then
# We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
# Make sure the rpath contains only unique directories.
- case "$temp_rpath:" in
+ case $temp_rpath: in
*"$absdir:"*) ;;
*) func_append temp_rpath "$absdir:" ;;
esac
@@ -6672,9 +8121,9 @@ func_mode_link ()
esac
fi # $linkmode,$pass = prog,link...
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
+ if $alldeplibs &&
+ { test pass_all = "$deplibs_check_method" ||
+ { test yes = "$build_libtool_libs" &&
test -n "$library_names"; }; }; then
# We only need to search for static libraries
continue
@@ -6683,19 +8132,19 @@ func_mode_link ()
link_static=no # Whether the deplib will be linked statically
use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes; then
+ if test built = "$use_static_libs" && test yes = "$installed"; then
use_static_libs=no
fi
if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ { test no = "$use_static_libs" || test -z "$old_library"; }; then
case $host in
- *cygwin* | *mingw* | *cegcc*)
+ *cygwin* | *mingw* | *cegcc* | *os2*)
# No point in relinking DLLs because paths are not encoded
func_append notinst_deplibs " $lib"
need_relink=no
;;
*)
- if test "$installed" = no; then
+ if test no = "$installed"; then
func_append notinst_deplibs " $lib"
need_relink=yes
fi
@@ -6705,24 +8154,24 @@ func_mode_link ()
# Warn about portability, can't link against -module's on some
# systems (darwin). Don't bleat about dlopened modules though!
- dlopenmodule=""
+ dlopenmodule=
for dlpremoduletest in $dlprefiles; do
if test "X$dlpremoduletest" = "X$lib"; then
- dlopenmodule="$dlpremoduletest"
+ dlopenmodule=$dlpremoduletest
break
fi
done
- if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
echo
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
$ECHO "*** Warning: Linking the executable $output against the loadable module"
else
$ECHO "*** Warning: Linking the shared library $output against the loadable module"
fi
$ECHO "*** $linklib is not portable!"
fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
+ if test lib = "$linkmode" &&
+ test yes = "$hardcode_into_libs"; then
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
@@ -6750,43 +8199,43 @@ func_mode_link ()
# figure out the soname
set dummy $library_names
shift
- realname="$1"
+ realname=$1
shift
libname=`eval "\\$ECHO \"$libname_spec\""`
# use dlname if we got it. it's perfectly good, no?
if test -n "$dlname"; then
- soname="$dlname"
+ soname=$dlname
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw* | *cegcc*)
+ *cygwin* | mingw* | *cegcc* | *os2*)
func_arith $current - $age
major=$func_arith_result
- versuffix="-$major"
+ versuffix=-$major
;;
esac
eval soname=\"$soname_spec\"
else
- soname="$realname"
+ soname=$realname
fi
# Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
+ soroot=$soname
func_basename "$soroot"
- soname="$func_basename_result"
+ soname=$func_basename_result
func_stripname 'lib' '.dll' "$soname"
newlib=libimp-$func_stripname_result.a
# If the library has no export list, then create one now
if test -f "$output_objdir/$soname-def"; then :
else
- func_verbose "extracting exported symbol list from \`$soname'"
+ func_verbose "extracting exported symbol list from '$soname'"
func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
fi
# Create $newlib
if test -f "$output_objdir/$newlib"; then :; else
- func_verbose "generating import library for \`$soname'"
+ func_verbose "generating import library for '$soname'"
func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
fi
# make sure the library variables are pointing to the new library
@@ -6794,58 +8243,58 @@ func_mode_link ()
linklib=$newlib
fi # test -n "$old_archive_from_expsyms_cmds"
- if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ if test prog = "$linkmode" || test relink != "$opt_mode"; then
add_shlibpath=
add_dir=
add=
lib_linked=yes
case $hardcode_action in
immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
+ if test no = "$hardcode_direct"; then
+ add=$dir/$linklib
case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+ *-*-sysv4*uw2*) add_dir=-L$dir ;;
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-unixware7*) add_dir=-L$dir ;;
*-*-darwin* )
- # if the lib is a (non-dlopened) module then we can not
+ # if the lib is a (non-dlopened) module then we cannot
# link against it, someone is ignoring the earlier warnings
if /usr/bin/file -L $add 2> /dev/null |
- $GREP ": [^:]* bundle" >/dev/null ; then
+ $GREP ": [^:]* bundle" >/dev/null; then
if test "X$dlopenmodule" != "X$lib"; then
$ECHO "*** Warning: lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
+ if test -z "$old_library"; then
echo
echo "*** And there doesn't seem to be a static archive available"
echo "*** The link will probably fail, sorry"
else
- add="$dir/$old_library"
+ add=$dir/$old_library
fi
elif test -n "$old_library"; then
- add="$dir/$old_library"
+ add=$dir/$old_library
fi
fi
esac
- elif test "$hardcode_minus_L" = no; then
+ elif test no = "$hardcode_minus_L"; then
case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
+ *-*-sunos*) add_shlibpath=$dir ;;
esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
+ add_dir=-L$dir
+ add=-l$name
+ elif test no = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
else
lib_linked=no
fi
;;
relink)
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$absdir"
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$dir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$absdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -6854,10 +8303,10 @@ func_mode_link ()
;;
esac
fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
else
lib_linked=no
fi
@@ -6865,7 +8314,7 @@ func_mode_link ()
*) lib_linked=no ;;
esac
- if test "$lib_linked" != yes; then
+ if test yes != "$lib_linked"; then
func_fatal_configuration "unsupported hardcode properties"
fi
@@ -6875,15 +8324,15 @@ func_mode_link ()
*) func_append compile_shlibpath "$add_shlibpath:" ;;
esac
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
test -n "$add" && compile_deplibs="$add $compile_deplibs"
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes &&
- test "$hardcode_minus_L" != yes &&
- test "$hardcode_shlibpath_var" = yes; then
+ if test yes != "$hardcode_direct" &&
+ test yes != "$hardcode_minus_L" &&
+ test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
@@ -6892,33 +8341,33 @@ func_mode_link ()
fi
fi
- if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ if test prog = "$linkmode" || test relink = "$opt_mode"; then
add_shlibpath=
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$libdir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$libdir
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
+ add=-l$name
+ elif test yes = "$hardcode_automatic"; then
if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
+ test -f "$inst_prefix_dir$libdir/$linklib"; then
+ add=$inst_prefix_dir$libdir/$linklib
else
- add="$libdir/$linklib"
+ add=$libdir/$linklib
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
+ add_dir=-L$libdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -6927,10 +8376,10 @@ func_mode_link ()
;;
esac
fi
- add="-l$name"
+ add=-l$name
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
else
@@ -6938,43 +8387,43 @@ func_mode_link ()
test -n "$add" && deplibs="$add $deplibs"
fi
fi
- elif test "$linkmode" = prog; then
+ elif test prog = "$linkmode"; then
# Here we assume that one of hardcode_direct or hardcode_minus_L
# is not unsupported. This is valid on all known static and
# shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
+ if test unsupported != "$hardcode_direct"; then
+ test -n "$old_library" && linklib=$old_library
compile_deplibs="$dir/$linklib $compile_deplibs"
finalize_deplibs="$dir/$linklib $finalize_deplibs"
else
compile_deplibs="-l$name -L$dir $compile_deplibs"
finalize_deplibs="-l$name -L$dir $finalize_deplibs"
fi
- elif test "$build_libtool_libs" = yes; then
+ elif test yes = "$build_libtool_libs"; then
# Not a shared library
- if test "$deplibs_check_method" != pass_all; then
+ if test pass_all != "$deplibs_check_method"; then
# We're trying link a shared library against a static one
# but the system doesn't support it.
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
echo
- $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ $ECHO "*** Warning: This system cannot link to static lib archive $lib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
+ if test yes = "$module"; then
echo "*** But as you try to build a module library, libtool will still create "
echo "*** a static module, that should work as long as the dlopening application"
echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
- echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
- echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
- if test "$build_old_libs" = no; then
+ if test no = "$build_old_libs"; then
build_libtool_libs=module
build_old_libs=yes
else
@@ -6987,11 +8436,11 @@ func_mode_link ()
fi
fi # link shared/static library?
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
+ { test yes != "$hardcode_into_libs" ||
+ test yes = "$build_old_libs" ||
+ test yes = "$link_static"; }; then
# Extract -R from dependency_libs
temp_deplibs=
for libdir in $dependency_libs; do
@@ -7005,12 +8454,12 @@ func_mode_link ()
*) func_append temp_deplibs " $libdir";;
esac
done
- dependency_libs="$temp_deplibs"
+ dependency_libs=$temp_deplibs
fi
func_append newlib_search_path " $absdir"
# Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
# ... and its dependency_libs
tmp_libs=
for deplib in $dependency_libs; do
@@ -7020,7 +8469,7 @@ func_mode_link ()
func_resolve_sysroot "$func_stripname_result";;
*) func_resolve_sysroot "$deplib" ;;
esac
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $func_resolve_sysroot_result "*)
func_append specialdeplibs " $func_resolve_sysroot_result" ;;
@@ -7029,12 +8478,12 @@ func_mode_link ()
func_append tmp_libs " $func_resolve_sysroot_result"
done
- if test "$link_all_deplibs" != no; then
+ if test no != "$link_all_deplibs"; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
path=
case $deplib in
- -L*) path="$deplib" ;;
+ -L*) path=$deplib ;;
*.la)
func_resolve_sysroot "$deplib"
deplib=$func_resolve_sysroot_result
@@ -7042,12 +8491,12 @@ func_mode_link ()
dir=$func_dirname_result
# We need an absolute path.
case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
- func_warning "cannot determine absolute directory name of \`$dir'"
- absdir="$dir"
+ func_warning "cannot determine absolute directory name of '$dir'"
+ absdir=$dir
fi
;;
esac
@@ -7055,35 +8504,35 @@ func_mode_link ()
case $host in
*-*-darwin*)
depdepl=
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
+ eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names"; then
+ for tmp in $deplibrary_names; do
depdepl=$tmp
done
- if test -f "$absdir/$objdir/$depdepl" ; then
- depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -f "$absdir/$objdir/$depdepl"; then
+ depdepl=$absdir/$objdir/$depdepl
+ darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
if test -z "$darwin_install_name"; then
- darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
fi
- func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
- func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+ func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
path=
fi
fi
;;
*)
- path="-L$absdir/$objdir"
+ path=-L$absdir/$objdir
;;
esac
else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_fatal_error "'$deplib' is not a valid libtool archive"
test "$absdir" != "$libdir" && \
- func_warning "\`$deplib' seems to be moved"
+ func_warning "'$deplib' seems to be moved"
- path="-L$absdir"
+ path=-L$absdir
fi
;;
esac
@@ -7095,23 +8544,23 @@ func_mode_link ()
fi # link_all_deplibs != no
fi # linkmode = lib
done # for deplib in $libs
- if test "$pass" = link; then
- if test "$linkmode" = "prog"; then
+ if test link = "$pass"; then
+ if test prog = "$linkmode"; then
compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
else
compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
fi
fi
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
+ dependency_libs=$newdependency_libs
+ if test dlpreopen = "$pass"; then
# Link the dlpreopened libraries before other libraries
for deplib in $save_deplibs; do
deplibs="$deplib $deplibs"
done
fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
+ if test dlopen != "$pass"; then
+ test conv = "$pass" || {
# Make sure lib_search_path contains only unique directories.
lib_search_path=
for dir in $newlib_search_path; do
@@ -7121,12 +8570,12 @@ func_mode_link ()
esac
done
newlib_search_path=
- fi
+ }
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
+ if test prog,link = "$linkmode,$pass"; then
vars="compile_deplibs finalize_deplibs"
+ else
+ vars=deplibs
fi
for var in $vars dependency_libs; do
# Add libraries to $var in reverse order
@@ -7184,62 +8633,93 @@ func_mode_link ()
eval $var=\"$tmp_libs\"
done # for var
fi
+
+ # Add Sun CC postdeps if required:
+ test CXX = "$tagname" && {
+ case $host_os in
+ linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C++ 5.9
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ func_cc_basename "$CC"
+ case $func_cc_basename_result in
+ CC* | sunCC*)
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ }
+
# Last step: remove runtime libs from dependency_libs
# (they stay in deplibs)
tmp_libs=
- for i in $dependency_libs ; do
+ for i in $dependency_libs; do
case " $predeps $postdeps $compiler_lib_search_path " in
*" $i "*)
- i=""
+ i=
;;
esac
- if test -n "$i" ; then
+ if test -n "$i"; then
func_append tmp_libs " $i"
fi
done
dependency_libs=$tmp_libs
done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
+ if test prog = "$linkmode"; then
+ dlfiles=$newdlfiles
fi
- if test "$linkmode" = prog || test "$linkmode" = lib; then
- dlprefiles="$newdlprefiles"
+ if test prog = "$linkmode" || test lib = "$linkmode"; then
+ dlprefiles=$newdlprefiles
fi
case $linkmode in
oldlib)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for archives"
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for archives"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ func_warning "'-l' and '-L' are ignored for archives" ;;
esac
test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for archives"
+ func_warning "'-rpath' is ignored for archives"
test -n "$xrpath" && \
- func_warning "\`-R' is ignored for archives"
+ func_warning "'-R' is ignored for archives"
test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for archives"
+ func_warning "'-version-info/-version-number' is ignored for archives"
test -n "$release" && \
- func_warning "\`-release' is ignored for archives"
+ func_warning "'-release' is ignored for archives"
test -n "$export_symbols$export_symbols_regex" && \
- func_warning "\`-export-symbols' is ignored for archives"
+ func_warning "'-export-symbols' is ignored for archives"
# Now set the variables for building old libraries.
build_libtool_libs=no
- oldlibs="$output"
+ oldlibs=$output
func_append objs "$old_deplibs"
;;
lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
+ # Make sure we only generate libraries of the form 'libNAME.la'.
case $outputname in
lib*)
func_stripname 'lib' '.la' "$outputname"
@@ -7248,10 +8728,10 @@ func_mode_link ()
eval libname=\"$libname_spec\"
;;
*)
- test "$module" = no && \
- func_fatal_help "libtool library \`$output' must begin with \`lib'"
+ test no = "$module" \
+ && func_fatal_help "libtool library '$output' must begin with 'lib'"
- if test "$need_lib_prefix" != no; then
+ if test no != "$need_lib_prefix"; then
# Add the "lib" prefix for modules if required
func_stripname '' '.la' "$outputname"
name=$func_stripname_result
@@ -7265,8 +8745,8 @@ func_mode_link ()
esac
if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ if test pass_all != "$deplibs_check_method"; then
+ func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
else
echo
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
@@ -7275,21 +8755,21 @@ func_mode_link ()
fi
fi
- test "$dlself" != no && \
- func_warning "\`-dlopen self' is ignored for libtool libraries"
+ test no = "$dlself" \
+ || func_warning "'-dlopen self' is ignored for libtool libraries"
set dummy $rpath
shift
- test "$#" -gt 1 && \
- func_warning "ignoring multiple \`-rpath's for a libtool library"
+ test 1 -lt "$#" \
+ && func_warning "ignoring multiple '-rpath's for a libtool library"
- install_libdir="$1"
+ install_libdir=$1
oldlibs=
if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
# Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
+ # Some compilers have problems with a '.al' extension so
# convenience libraries should have the same extension an
# archive normally would.
oldlibs="$output_objdir/$libname.$libext $oldlibs"
@@ -7298,20 +8778,20 @@ func_mode_link ()
fi
test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+ func_warning "'-version-info/-version-number' is ignored for convenience libraries"
test -n "$release" && \
- func_warning "\`-release' is ignored for convenience libraries"
+ func_warning "'-release' is ignored for convenience libraries"
else
# Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
+ save_ifs=$IFS; IFS=:
set dummy $vinfo 0 0 0
shift
- IFS="$save_ifs"
+ IFS=$save_ifs
test -n "$7" && \
- func_fatal_help "too many parameters to \`-version-info'"
+ func_fatal_help "too many parameters to '-version-info'"
# convert absolute version numbers to libtool ages
# this retains compatibility with .la files and attempts
@@ -7319,42 +8799,45 @@ func_mode_link ()
case $vinfo_number in
yes)
- number_major="$1"
- number_minor="$2"
- number_revision="$3"
+ number_major=$1
+ number_minor=$2
+ number_revision=$3
#
# There are really only two kinds -- those that
# use the current revision as the major version
# and those that subtract age and use age as
# a minor version. But, then there is irix
- # which has an extra 1 added just for fun
+ # that has an extra 1 added just for fun
#
case $version_type in
# correct linux to gnu/linux during the next big refactor
- darwin|linux|osf|windows|none)
+ darwin|freebsd-elf|linux|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
- age="$number_minor"
- revision="$number_revision"
+ age=$number_minor
+ revision=$number_revision
;;
- freebsd-aout|freebsd-elf|qnx|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
+ freebsd-aout|qnx|sunos)
+ current=$number_major
+ revision=$number_minor
+ age=0
;;
irix|nonstopux)
func_arith $number_major + $number_minor
current=$func_arith_result
- age="$number_minor"
- revision="$number_minor"
+ age=$number_minor
+ revision=$number_minor
lt_irix_increment=no
;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type '$version_type'"
+ ;;
esac
;;
no)
- current="$1"
- revision="$2"
- age="$3"
+ current=$1
+ revision=$2
+ age=$3
;;
esac
@@ -7362,30 +8845,30 @@ func_mode_link ()
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "CURRENT \`$current' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "CURRENT '$current' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $revision in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "REVISION \`$revision' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "REVISION '$revision' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $age in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "AGE \`$age' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "AGE '$age' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
if test "$age" -gt "$current"; then
- func_error "AGE \`$age' is greater than the current interface number \`$current'"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "AGE '$age' is greater than the current interface number '$current'"
+ func_fatal_error "'$vinfo' is not valid version information"
fi
# Calculate the version variables.
@@ -7400,26 +8883,36 @@ func_mode_link ()
# verstring for coding it into the library header
func_arith $current - $age
major=.$func_arith_result
- versuffix="$major.$age.$revision"
+ versuffix=$major.$age.$revision
# Darwin ld doesn't like 0 for these options...
func_arith $current + 1
minor_current=$func_arith_result
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ # On Darwin other compilers
+ case $CC in
+ nagfor*)
+ verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ ;;
+ *)
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+ esac
;;
freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
+ major=.$current
+ versuffix=.$current.$revision
;;
freebsd-elf)
- major=".$current"
- versuffix=".$current"
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
;;
irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
+ if test no = "$lt_irix_increment"; then
func_arith $current - $age
else
func_arith $current - $age + 1
@@ -7430,69 +8923,74 @@ func_mode_link ()
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
esac
- verstring="$verstring_prefix$major.$revision"
+ verstring=$verstring_prefix$major.$revision
# Add in all the interfaces that we are compatible with.
loop=$revision
- while test "$loop" -ne 0; do
+ while test 0 -ne "$loop"; do
func_arith $revision - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
- verstring="$verstring_prefix$major.$iface:$verstring"
+ verstring=$verstring_prefix$major.$iface:$verstring
done
- # Before this point, $major must not contain `.'.
+ # Before this point, $major must not contain '.'.
major=.$major
- versuffix="$major.$revision"
+ versuffix=$major.$revision
;;
linux) # correct to gnu/linux during the next big refactor
func_arith $current - $age
major=.$func_arith_result
- versuffix="$major.$age.$revision"
+ versuffix=$major.$age.$revision
;;
osf)
func_arith $current - $age
major=.$func_arith_result
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
+ versuffix=.$current.$age.$revision
+ verstring=$current.$age.$revision
# Add in all the interfaces that we are compatible with.
loop=$age
- while test "$loop" -ne 0; do
+ while test 0 -ne "$loop"; do
func_arith $current - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
- verstring="$verstring:${iface}.0"
+ verstring=$verstring:$iface.0
done
# Make executables depend on our current version.
- func_append verstring ":${current}.0"
+ func_append verstring ":$current.0"
;;
qnx)
- major=".$current"
- versuffix=".$current"
+ major=.$current
+ versuffix=.$current
+ ;;
+
+ sco)
+ major=.$current
+ versuffix=.$current
;;
sunos)
- major=".$current"
- versuffix=".$current.$revision"
+ major=.$current
+ versuffix=.$current.$revision
;;
windows)
# Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
+ # extension on DOS 8.3 file systems.
func_arith $current - $age
major=$func_arith_result
- versuffix="-$major"
+ versuffix=-$major
;;
*)
- func_fatal_configuration "unknown library version type \`$version_type'"
+ func_fatal_configuration "unknown library version type '$version_type'"
;;
esac
@@ -7506,42 +9004,45 @@ func_mode_link ()
verstring=
;;
*)
- verstring="0.0"
+ verstring=0.0
;;
esac
- if test "$need_version" = no; then
+ if test no = "$need_version"; then
versuffix=
else
- versuffix=".0.0"
+ versuffix=.0.0
fi
fi
# Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
+ if test yes,no = "$avoid_version,$need_version"; then
major=
versuffix=
- verstring=""
+ verstring=
fi
# Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- func_warning "undefined symbols not allowed in $host shared libraries"
- build_libtool_libs=no
- build_old_libs=yes
+ if test yes = "$allow_undefined"; then
+ if test unsupported = "$allow_undefined_flag"; then
+ if test yes = "$build_old_libs"; then
+ func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+ build_libtool_libs=no
+ else
+ func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+ fi
fi
else
# Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
+ allow_undefined_flag=$no_undefined_flag
fi
fi
- func_generate_dlsyms "$libname" "$libname" "yes"
+ func_generate_dlsyms "$libname" "$libname" :
func_append libobjs " $symfileobj"
- test "X$libobjs" = "X " && libobjs=
+ test " " = "$libobjs" && libobjs=
- if test "$opt_mode" != relink; then
+ if test relink != "$opt_mode"; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
@@ -7550,8 +9051,8 @@ func_mode_link ()
case $p in
*.$objext | *.gcno)
;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+ if test -n "$precious_files_regex"; then
if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
then
continue
@@ -7567,11 +9068,11 @@ func_mode_link ()
fi
# Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
func_append oldlibs " $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
- oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
@@ -7592,13 +9093,13 @@ func_mode_link ()
*) func_append finalize_rpath " $libdir" ;;
esac
done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
dependency_libs="$temp_xrpath $dependency_libs"
fi
fi
# Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
+ old_dlfiles=$dlfiles
dlfiles=
for lib in $old_dlfiles; do
case " $dlprefiles $dlfiles " in
@@ -7608,7 +9109,7 @@ func_mode_link ()
done
# Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
+ old_dlprefiles=$dlprefiles
dlprefiles=
for lib in $old_dlprefiles; do
case "$dlprefiles " in
@@ -7617,7 +9118,7 @@ func_mode_link ()
esac
done
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
if test -n "$rpath"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
@@ -7641,7 +9142,7 @@ func_mode_link ()
;;
*)
# Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
+ if test yes = "$build_libtool_need_lc"; then
func_append deplibs " -lc"
fi
;;
@@ -7657,9 +9158,9 @@ func_mode_link ()
# I'm not sure if I'm treating the release correctly. I think
# release should show up in the -l (ie -lgmp5) so we don't want to
# add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
+ release=
+ versuffix=
+ major=
newdeplibs=
droppeddeps=no
case $deplibs_check_method in
@@ -7688,20 +9189,20 @@ EOF
-l*)
func_stripname -l '' "$i"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
func_append newdeplibs " $i"
- i=""
+ i=
;;
esac
fi
- if test -n "$i" ; then
+ if test -n "$i"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
set dummy $deplib_matches; shift
deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
func_append newdeplibs " $i"
else
droppeddeps=yes
@@ -7731,20 +9232,20 @@ EOF
$opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
func_append newdeplibs " $i"
- i=""
+ i=
;;
esac
fi
- if test -n "$i" ; then
+ if test -n "$i"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
set dummy $deplib_matches; shift
deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
func_append newdeplibs " $i"
else
droppeddeps=yes
@@ -7781,24 +9282,24 @@ EOF
-l*)
func_stripname -l '' "$a_deplib"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
;;
esac
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
if test -n "$file_magic_glob"; then
libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
else
libnameglob=$libname
fi
- test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- if test "$want_nocaseglob" = yes; then
+ if test yes = "$want_nocaseglob"; then
shopt -s nocaseglob
potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
$nocaseglob
@@ -7816,25 +9317,25 @@ EOF
# We might still enter an endless loop, since a link
# loop can be closed while we follow links,
# but so what?
- potlib="$potent_lib"
+ potlib=$potent_lib
while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+ [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+ *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
esac
done
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
$SED -e 10q |
$EGREP "$file_magic_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
break 2
fi
done
done
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7842,7 +9343,7 @@ EOF
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
+ if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7865,30 +9366,30 @@ EOF
-l*)
func_stripname -l '' "$a_deplib"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
;;
esac
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
+ potlib=$potent_lib # see symlink-check above in file_magic test
if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
$EGREP "$match_pattern_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
break 2
fi
done
done
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7896,7 +9397,7 @@ EOF
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
+ if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7912,18 +9413,18 @@ EOF
done # Gone through all deplibs.
;;
none | unknown | *)
- newdeplibs=""
+ newdeplibs=
tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ for i in $predeps $postdeps; do
# can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
done
fi
case $tmp_deplibs in
*[!\ \ ]*)
echo
- if test "X$deplibs_check_method" = "Xnone"; then
+ if test none = "$deplibs_check_method"; then
echo "*** Warning: inter-library dependencies are not supported in this platform."
else
echo "*** Warning: inter-library dependencies are not known to be supported."
@@ -7947,8 +9448,8 @@ EOF
;;
esac
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
+ if test yes = "$droppeddeps"; then
+ if test yes = "$module"; then
echo
echo "*** Warning: libtool could not satisfy all declared inter-library"
$ECHO "*** dependencies of module $libname. Therefore, libtool will create"
@@ -7957,12 +9458,12 @@ EOF
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
- echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
- echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
@@ -7973,14 +9474,14 @@ EOF
echo "*** automatically added whenever a program is linked with this library"
echo "*** or is declared to -dlopen it."
- if test "$allow_undefined" = no; then
+ if test no = "$allow_undefined"; then
echo
echo "*** Since this library must not contain undefined symbols,"
echo "*** because either the platform does not support them or"
echo "*** it was explicitly requested with -no-undefined,"
echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
@@ -8026,7 +9527,7 @@ EOF
*) func_append new_libs " $deplib" ;;
esac
done
- deplibs="$new_libs"
+ deplibs=$new_libs
# All the library-specific variables (install_libdir is set above).
library_names=
@@ -8034,25 +9535,25 @@ EOF
dlname=
# Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- # Remove ${wl} instances when linking with ld.
+ if test yes = "$build_libtool_libs"; then
+ # Remove $wl instances when linking with ld.
# FIXME: should test the right _cmds variable.
case $archive_cmds in
*\$LD\ *) wl= ;;
esac
- if test "$hardcode_into_libs" = yes; then
+ if test yes = "$hardcode_into_libs"; then
# Hardcode the library paths
hardcode_libdirs=
dep_rpath=
- rpath="$finalize_rpath"
- test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ rpath=$finalize_rpath
+ test relink = "$opt_mode" || rpath=$compile_rpath$rpath
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
func_replace_sysroot "$libdir"
libdir=$func_replace_sysroot_result
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8077,7 +9578,7 @@ EOF
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
@@ -8091,8 +9592,8 @@ EOF
test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
fi
- shlibpath="$finalize_shlibpath"
- test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ shlibpath=$finalize_shlibpath
+ test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
if test -n "$shlibpath"; then
eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
fi
@@ -8102,19 +9603,19 @@ EOF
eval library_names=\"$library_names_spec\"
set dummy $library_names
shift
- realname="$1"
+ realname=$1
shift
if test -n "$soname_spec"; then
eval soname=\"$soname_spec\"
else
- soname="$realname"
+ soname=$realname
fi
if test -z "$dlname"; then
dlname=$soname
fi
- lib="$output_objdir/$realname"
+ lib=$output_objdir/$realname
linknames=
for link
do
@@ -8128,7 +9629,7 @@ EOF
delfiles=
if test -n "$export_symbols" && test -n "$include_expsyms"; then
$opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
- export_symbols="$output_objdir/$libname.uexp"
+ export_symbols=$output_objdir/$libname.uexp
func_append delfiles " $export_symbols"
fi
@@ -8137,31 +9638,31 @@ EOF
cygwin* | mingw* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile
- if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ func_dll_def_p "$export_symbols" || {
# and it's NOT already a .def file. Must figure out
# which of the given symbols are data symbols and tag
# them as such. So, trigger use of export_symbols_cmds.
# export_symbols gets reassigned inside the "prepare
# the list of exported symbols" if statement, so the
# include_expsyms logic still works.
- orig_export_symbols="$export_symbols"
+ orig_export_symbols=$export_symbols
export_symbols=
always_export_symbols=yes
- fi
+ }
fi
;;
esac
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
+ if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd1 in $cmds; do
- IFS="$save_ifs"
+ IFS=$save_ifs
# Take the normal branch if the nm_file_list_spec branch
# doesn't work or if tool conversion is not needed.
case $nm_file_list_spec~$to_tool_file_cmd in
@@ -8175,7 +9676,7 @@ EOF
try_normal_branch=no
;;
esac
- if test "$try_normal_branch" = yes \
+ if test yes = "$try_normal_branch" \
&& { test "$len" -lt "$max_cmd_len" \
|| test "$max_cmd_len" -le -1; }
then
@@ -8186,7 +9687,7 @@ EOF
output_la=$func_basename_result
save_libobjs=$libobjs
save_output=$output
- output=${output_objdir}/${output_la}.nm
+ output=$output_objdir/$output_la.nm
func_to_tool_file "$output"
libobjs=$nm_file_list_spec$func_to_tool_file_result
func_append delfiles " $output"
@@ -8209,8 +9710,8 @@ EOF
break
fi
done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ IFS=$save_ifs
+ if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
@@ -8218,16 +9719,16 @@ EOF
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
- if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
+ # 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
@@ -8246,11 +9747,11 @@ EOF
;;
esac
done
- deplibs="$tmp_deplibs"
+ deplibs=$tmp_deplibs
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec" &&
- test "$compiler_needs_object" = yes &&
+ test yes = "$compiler_needs_object" &&
test -z "$libobjs"; then
# extract the archives, so we have objects to list.
# TODO: could optimize this to just extract one archive.
@@ -8261,7 +9762,7 @@ EOF
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
test "X$libobjs" = "X " && libobjs=
else
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
@@ -8270,18 +9771,18 @@ EOF
fi
fi
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
func_append linker_flags " $flag"
fi
# Make a backup of the uninstalled library when relinking
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
# Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
+ if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
eval test_cmds=\"$module_expsym_cmds\"
cmds=$module_expsym_cmds
@@ -8299,7 +9800,7 @@ EOF
fi
fi
- if test "X$skipped_export" != "X:" &&
+ if test : != "$skipped_export" &&
func_len " $test_cmds" &&
len=$func_len_result &&
test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
@@ -8332,8 +9833,8 @@ EOF
last_robj=
k=1
- if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
- output=${output_objdir}/${output_la}.lnkscript
+ if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+ output=$output_objdir/$output_la.lnkscript
func_verbose "creating GNU ld script: $output"
echo 'INPUT (' > $output
for obj in $save_libobjs
@@ -8345,14 +9846,14 @@ EOF
func_append delfiles " $output"
func_to_tool_file "$output"
output=$func_to_tool_file_result
- elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
- output=${output_objdir}/${output_la}.lnk
+ elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+ output=$output_objdir/$output_la.lnk
func_verbose "creating linker input file list: $output"
: > $output
set x $save_libobjs
shift
firstobj=
- if test "$compiler_needs_object" = yes; then
+ if test yes = "$compiler_needs_object"; then
firstobj="$1 "
shift
fi
@@ -8367,7 +9868,7 @@ EOF
else
if test -n "$save_libobjs"; then
func_verbose "creating reloadable object files..."
- output=$output_objdir/$output_la-${k}.$objext
+ output=$output_objdir/$output_la-$k.$objext
eval test_cmds=\"$reload_cmds\"
func_len " $test_cmds"
len0=$func_len_result
@@ -8379,13 +9880,13 @@ EOF
func_len " $obj"
func_arith $len + $func_len_result
len=$func_arith_result
- if test "X$objlist" = X ||
+ if test -z "$objlist" ||
test "$len" -lt "$max_cmd_len"; then
func_append objlist " $obj"
else
# The command $test_cmds is almost too long, add a
# command to the queue.
- if test "$k" -eq 1 ; then
+ if test 1 -eq "$k"; then
# The first file doesn't have a previous command to add.
reload_objs=$objlist
eval concat_cmds=\"$reload_cmds\"
@@ -8395,10 +9896,10 @@ EOF
reload_objs="$objlist $last_robj"
eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
fi
- last_robj=$output_objdir/$output_la-${k}.$objext
+ last_robj=$output_objdir/$output_la-$k.$objext
func_arith $k + 1
k=$func_arith_result
- output=$output_objdir/$output_la-${k}.$objext
+ output=$output_objdir/$output_la-$k.$objext
objlist=" $obj"
func_len " $last_robj"
func_arith $len0 + $func_len_result
@@ -8410,9 +9911,9 @@ EOF
# files will link in the last one created.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
reload_objs="$objlist $last_robj"
- eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ eval concat_cmds=\"\$concat_cmds$reload_cmds\"
if test -n "$last_robj"; then
- eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
func_append delfiles " $output"
@@ -8420,9 +9921,9 @@ EOF
output=
fi
- if ${skipped_export-false}; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
+ ${skipped_export-false} && {
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
libobjs=$output
# Append the command to create the export file.
@@ -8431,16 +9932,16 @@ EOF
if test -n "$last_robj"; then
eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
- fi
+ }
test -n "$save_libobjs" &&
func_verbose "creating a temporary reloadable object file: $output"
# Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $opt_silent || {
+ IFS=$save_ifs
+ $opt_quiet || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
}
@@ -8448,7 +9949,7 @@ EOF
lt_exit=$?
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
@@ -8457,7 +9958,7 @@ EOF
exit $lt_exit
}
done
- IFS="$save_ifs"
+ IFS=$save_ifs
if test -n "$export_symbols_regex" && ${skipped_export-false}; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
@@ -8465,18 +9966,18 @@ EOF
fi
fi
- if ${skipped_export-false}; then
+ ${skipped_export-false} && {
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
+ # 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
@@ -8485,7 +9986,7 @@ EOF
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
- fi
+ }
libobjs=$output
# Restore the value of output.
@@ -8499,7 +10000,7 @@ EOF
# value of $libobjs for piecewise linking.
# Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
+ if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
cmds=$module_expsym_cmds
else
@@ -8521,7 +10022,7 @@ EOF
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
@@ -8529,11 +10030,12 @@ EOF
test "X$libobjs" = "X " && libobjs=
fi
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd in $cmds; do
- IFS="$save_ifs"
+ IFS=$sp$nl
eval cmd=\"$cmd\"
- $opt_silent || {
+ IFS=$save_ifs
+ $opt_quiet || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
}
@@ -8541,7 +10043,7 @@ EOF
lt_exit=$?
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
@@ -8550,10 +10052,10 @@ EOF
exit $lt_exit
}
done
- IFS="$save_ifs"
+ IFS=$save_ifs
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
if test -n "$convenience"; then
@@ -8573,39 +10075,39 @@ EOF
done
# If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
+ if test yes = "$module" || test yes = "$export_dynamic"; then
# On all known operating systems, these are identical.
- dlname="$soname"
+ dlname=$soname
fi
fi
;;
obj)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for objects"
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for objects"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ func_warning "'-l' and '-L' are ignored for objects" ;;
esac
test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for objects"
+ func_warning "'-rpath' is ignored for objects"
test -n "$xrpath" && \
- func_warning "\`-R' is ignored for objects"
+ func_warning "'-R' is ignored for objects"
test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for objects"
+ func_warning "'-version-info' is ignored for objects"
test -n "$release" && \
- func_warning "\`-release' is ignored for objects"
+ func_warning "'-release' is ignored for objects"
case $output in
*.lo)
test -n "$objs$old_deplibs" && \
- func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+ func_fatal_error "cannot build library object '$output' from non-libtool objects"
libobj=$output
func_lo2o "$libobj"
@@ -8613,7 +10115,7 @@ EOF
;;
*)
libobj=
- obj="$output"
+ obj=$output
;;
esac
@@ -8626,17 +10128,19 @@ EOF
# the extraction.
reload_conv_objs=
gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
-
+ # if reload_cmds runs $LD directly, get rid of -Wl from
+ # whole_archive_flag_spec and hope we can get by with turning comma
+ # into space.
+ case $reload_cmds in
+ *\$LD[\ \$]*) wl= ;;
+ esac
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
else
- gentop="$output_objdir/${obj}x"
+ gentop=$output_objdir/${obj}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
@@ -8645,12 +10149,12 @@ EOF
fi
# If we're not building shared, we need to use non_pic_objs
- test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+ test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
# Create the old-style object.
- reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+ reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
- output="$obj"
+ output=$obj
func_execute_cmds "$reload_cmds" 'exit $?'
# Exit if we aren't doing a library object file.
@@ -8662,7 +10166,7 @@ EOF
exit $EXIT_SUCCESS
fi
- if test "$build_libtool_libs" != yes; then
+ test yes = "$build_libtool_libs" || {
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
@@ -8672,12 +10176,12 @@ EOF
# $show "echo timestamp > $libobj"
# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
exit $EXIT_SUCCESS
- fi
+ }
- if test -n "$pic_flag" || test "$pic_mode" != default; then
+ if test -n "$pic_flag" || test default != "$pic_mode"; then
# Only do commands if we really have different PIC objects.
reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
+ output=$libobj
func_execute_cmds "$reload_cmds" 'exit $?'
fi
@@ -8694,16 +10198,14 @@ EOF
output=$func_stripname_result.exe;;
esac
test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for programs"
+ func_warning "'-version-info' is ignored for programs"
test -n "$release" && \
- func_warning "\`-release' is ignored for programs"
+ func_warning "'-release' is ignored for programs"
- test "$preload" = yes \
- && test "$dlopen_support" = unknown \
- && test "$dlopen_self" = unknown \
- && test "$dlopen_self_static" = unknown && \
- func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+ $preload \
+ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
@@ -8717,11 +10219,11 @@ EOF
*-*-darwin*)
# Don't allow lazy linking, it breaks C++ global constructors
# But is supposedly fixed on 10.4 or later (yay!).
- if test "$tagname" = CXX ; then
+ if test CXX = "$tagname"; then
case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
10.[0123])
- func_append compile_command " ${wl}-bind_at_load"
- func_append finalize_command " ${wl}-bind_at_load"
+ func_append compile_command " $wl-bind_at_load"
+ func_append finalize_command " $wl-bind_at_load"
;;
esac
fi
@@ -8757,7 +10259,7 @@ EOF
*) func_append new_libs " $deplib" ;;
esac
done
- compile_deplibs="$new_libs"
+ compile_deplibs=$new_libs
func_append compile_command " $compile_deplibs"
@@ -8781,7 +10283,7 @@ EOF
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8804,7 +10306,7 @@ EOF
fi
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
::) dllsearchpath=$libdir;;
@@ -8821,10 +10323,10 @@ EOF
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
- compile_rpath="$rpath"
+ compile_rpath=$rpath
rpath=
hardcode_libdirs=
@@ -8832,7 +10334,7 @@ EOF
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8857,45 +10359,43 @@ EOF
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
- finalize_rpath="$rpath"
+ finalize_rpath=$rpath
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ if test -n "$libobjs" && test yes = "$build_old_libs"; then
# Transform all the library objects into standard objects.
compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
fi
- func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+ func_generate_dlsyms "$outputname" "@PROGRAM@" false
# template prelinking step
if test -n "$prelink_cmds"; then
func_execute_cmds "$prelink_cmds" 'exit $?'
fi
- wrappers_required=yes
+ wrappers_required=:
case $host in
*cegcc* | *mingw32ce*)
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
- wrappers_required=no
+ wrappers_required=false
;;
*cygwin* | *mingw* )
- if test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
+ test yes = "$build_libtool_libs" || wrappers_required=false
;;
*)
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- wrappers_required=no
+ if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+ wrappers_required=false
fi
;;
esac
- if test "$wrappers_required" = no; then
+ $wrappers_required || {
# Replace the output file specification.
compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
+ link_command=$compile_command$compile_rpath
# We have no uninstalled library dependencies, so finalize right now.
exit_status=0
@@ -8908,12 +10408,12 @@ EOF
fi
# Delete the generated files.
- if test -f "$output_objdir/${outputname}S.${objext}"; then
- func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ if test -f "$output_objdir/${outputname}S.$objext"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
fi
exit $exit_status
- fi
+ }
if test -n "$compile_shlibpath$finalize_shlibpath"; then
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
@@ -8943,9 +10443,9 @@ EOF
fi
fi
- if test "$no_install" = yes; then
+ if test yes = "$no_install"; then
# We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
+ link_command=$compile_var$compile_command$compile_rpath
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
@@ -8962,27 +10462,28 @@ EOF
exit $EXIT_SUCCESS
fi
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
+ case $hardcode_action,$fast_install in
+ relink,*)
+ # Fast installation is not supported
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
- func_warning "this platform does not like uninstalled shared libraries"
- func_warning "\`$output' will be relinked during installation"
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "'$output' will be relinked during installation"
+ ;;
+ *,yes)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ ;;
+ *,no)
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
+ ;;
+ *,needless)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=
+ ;;
+ esac
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
@@ -9039,8 +10540,8 @@ EOF
func_dirname_and_basename "$output" "" "."
output_name=$func_basename_result
output_path=$func_dirname_result
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
+ cwrappersource=$output_path/$objdir/lt-$output_name.c
+ cwrapper=$output_path/$output_name.exe
$RM $cwrappersource $cwrapper
trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
@@ -9061,7 +10562,7 @@ EOF
trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
$opt_dry_run || {
# note: this script will not be executed, so do not chmod.
- if test "x$build" = "x$host" ; then
+ if test "x$build" = "x$host"; then
$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
else
func_emit_wrapper no > $func_ltwrapper_scriptname_result
@@ -9084,25 +10585,27 @@ EOF
# See if we need to build an old-fashioned archive.
for oldlib in $oldlibs; do
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save $symfileobj"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
+ case $build_libtool_libs in
+ convenience)
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs=$convenience
build_libtool_libs=no
- else
+ ;;
+ module)
+ oldobjs=$libobjs_save
+ addlibs=$old_convenience
+ build_libtool_libs=no
+ ;;
+ *)
oldobjs="$old_deplibs $non_pic_objects"
- if test "$preload" = yes && test -f "$symfileobj"; then
- func_append oldobjs " $symfileobj"
- fi
- fi
- addlibs="$old_convenience"
- fi
+ $preload && test -f "$symfileobj" \
+ && func_append oldobjs " $symfileobj"
+ addlibs=$old_convenience
+ ;;
+ esac
if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $addlibs
@@ -9110,13 +10613,13 @@ EOF
fi
# Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
cmds=$old_archive_from_new_cmds
else
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
@@ -9137,7 +10640,7 @@ EOF
:
else
echo "copying selected object files to avoid basename conflicts..."
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
@@ -9146,7 +10649,7 @@ EOF
for obj in $save_oldobjs
do
func_basename "$obj"
- objbase="$func_basename_result"
+ objbase=$func_basename_result
case " $oldobjs " in
" ") oldobjs=$obj ;;
*[\ /]"$objbase "*)
@@ -9215,18 +10718,18 @@ EOF
else
# the above command should be used before it gets too long
oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
+ if test "$obj" = "$last_oldobj"; then
RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
objlist=
len=$len0
fi
done
RANLIB=$save_RANLIB
oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
+ if test -z "$oldobjs"; then
eval cmds=\"\$concat_cmds\"
else
eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
@@ -9243,7 +10746,7 @@ EOF
case $output in
*.la)
old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
+ test yes = "$build_old_libs" && old_library=$libname.$libext
func_verbose "creating $output"
# Preserve any variables that may affect compiler behavior
@@ -9258,31 +10761,31 @@ EOF
fi
done
# Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
+ if test yes = "$hardcode_automatic"; then
relink_command=
fi
# Only create the output if not a dry run.
$opt_dry_run || {
for installed in no yes; do
- if test "$installed" = yes; then
+ if test yes = "$installed"; then
if test -z "$install_libdir"; then
break
fi
- output="$output_objdir/$outputname"i
+ output=$output_objdir/${outputname}i
# Replace all uninstalled libtool libraries with the installed ones
newdependency_libs=
for deplib in $dependency_libs; do
case $deplib in
*.la)
func_basename "$deplib"
- name="$func_basename_result"
+ name=$func_basename_result
func_resolve_sysroot "$deplib"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_fatal_error "'$deplib' is not a valid libtool archive"
func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
;;
-L*)
@@ -9298,23 +10801,23 @@ EOF
*) func_append newdependency_libs " $deplib" ;;
esac
done
- dependency_libs="$newdependency_libs"
+ dependency_libs=$newdependency_libs
newdlfiles=
for lib in $dlfiles; do
case $lib in
*.la)
func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
;;
*) func_append newdlfiles " $lib" ;;
esac
done
- dlfiles="$newdlfiles"
+ dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
@@ -9324,34 +10827,34 @@ EOF
# didn't already link the preopened objects directly into
# the library:
func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
;;
esac
done
- dlprefiles="$newdlprefiles"
+ dlprefiles=$newdlprefiles
else
newdlfiles=
for lib in $dlfiles; do
case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlfiles " $abs"
done
- dlfiles="$newdlfiles"
+ dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlprefiles " $abs"
done
- dlprefiles="$newdlprefiles"
+ dlprefiles=$newdlprefiles
fi
$RM $output
# place dlname in correct position for cygwin
@@ -9367,10 +10870,9 @@ EOF
case $host,$output,$installed,$module,$dlname in
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
# If a -bindir argument was supplied, place the dll there.
- if test "x$bindir" != x ;
- then
+ if test -n "$bindir"; then
func_relative_path "$install_libdir" "$bindir"
- tdlname=$func_relative_path_result$dlname
+ tdlname=$func_relative_path_result/$dlname
else
# Otherwise fall back on heuristic.
tdlname=../bin/$dlname
@@ -9379,7 +10881,7 @@ EOF
esac
$ECHO > $output "\
# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -9393,7 +10895,7 @@ library_names='$library_names'
# The name of the static archive.
old_library='$old_library'
-# Linker flags that can not go in dependency_libs.
+# Linker flags that cannot go in dependency_libs.
inherited_linker_flags='$new_inherited_linker_flags'
# Libraries that this one depends upon.
@@ -9419,7 +10921,7 @@ dlpreopen='$dlprefiles'
# Directory that this library needs to be installed in:
libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
+ if test no,yes = "$installed,$need_relink"; then
$ECHO >> $output "\
relink_command=\"$relink_command\""
fi
@@ -9434,27 +10936,29 @@ relink_command=\"$relink_command\""
exit $EXIT_SUCCESS
}
-{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
- func_mode_link ${1+"$@"}
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+ func_mode_link ${1+"$@"}
+fi
# func_mode_uninstall arg...
func_mode_uninstall ()
{
- $opt_debug
- RM="$nonopt"
+ $debug_cmd
+
+ RM=$nonopt
files=
- rmforce=
+ rmforce=false
exit_status=0
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
- libtool_install_magic="$magic"
+ libtool_install_magic=$magic
for arg
do
case $arg in
- -f) func_append RM " $arg"; rmforce=yes ;;
+ -f) func_append RM " $arg"; rmforce=: ;;
-*) func_append RM " $arg" ;;
*) func_append files " $arg" ;;
esac
@@ -9467,18 +10971,18 @@ func_mode_uninstall ()
for file in $files; do
func_dirname "$file" "" "."
- dir="$func_dirname_result"
- if test "X$dir" = X.; then
- odir="$objdir"
+ dir=$func_dirname_result
+ if test . = "$dir"; then
+ odir=$objdir
else
- odir="$dir/$objdir"
+ odir=$dir/$objdir
fi
func_basename "$file"
- name="$func_basename_result"
- test "$opt_mode" = uninstall && odir="$dir"
+ name=$func_basename_result
+ test uninstall = "$opt_mode" && odir=$dir
# Remember odir for removal later, being careful to avoid duplicates
- if test "$opt_mode" = clean; then
+ if test clean = "$opt_mode"; then
case " $rmdirs " in
*" $odir "*) ;;
*) func_append rmdirs " $odir" ;;
@@ -9493,11 +10997,11 @@ func_mode_uninstall ()
elif test -d "$file"; then
exit_status=1
continue
- elif test "$rmforce" = yes; then
+ elif $rmforce; then
continue
fi
- rmfiles="$file"
+ rmfiles=$file
case $name in
*.la)
@@ -9511,7 +11015,7 @@ func_mode_uninstall ()
done
test -n "$old_library" && func_append rmfiles " $odir/$old_library"
- case "$opt_mode" in
+ case $opt_mode in
clean)
case " $library_names " in
*" $dlname "*) ;;
@@ -9522,12 +11026,12 @@ func_mode_uninstall ()
uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
- func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
- func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
;;
@@ -9543,21 +11047,19 @@ func_mode_uninstall ()
func_source $dir/$name
# Add PIC object to the list of files to remove.
- if test -n "$pic_object" &&
- test "$pic_object" != none; then
+ if test -n "$pic_object" && test none != "$pic_object"; then
func_append rmfiles " $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" &&
- test "$non_pic_object" != none; then
+ if test -n "$non_pic_object" && test none != "$non_pic_object"; then
func_append rmfiles " $dir/$non_pic_object"
fi
fi
;;
*)
- if test "$opt_mode" = clean ; then
+ if test clean = "$opt_mode"; then
noexename=$name
case $file in
*.exe)
@@ -9584,12 +11086,12 @@ func_mode_uninstall ()
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
- func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
+ func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+ if test yes = "$fast_install" && test -n "$relink_command"; then
func_append rmfiles " $odir/lt-$name"
fi
- if test "X$noexename" != "X$name" ; then
- func_append rmfiles " $odir/lt-${noexename}.c"
+ if test "X$noexename" != "X$name"; then
+ func_append rmfiles " $odir/lt-$noexename.c"
fi
fi
fi
@@ -9598,7 +11100,7 @@ func_mode_uninstall ()
func_show_eval "$RM $rmfiles" 'exit_status=1'
done
- # Try to remove the ${objdir}s in the directories where we deleted files
+ # Try to remove the $objdir's in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
func_show_eval "rmdir $dir >/dev/null 2>&1"
@@ -9608,16 +11110,17 @@ func_mode_uninstall ()
exit $exit_status
}
-{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
- func_mode_uninstall ${1+"$@"}
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+ func_mode_uninstall ${1+"$@"}
+fi
test -z "$opt_mode" && {
- help="$generic_help"
+ help=$generic_help
func_fatal_help "you must specify a MODE"
}
test -z "$exec_cmd" && \
- func_fatal_help "invalid operation mode \`$opt_mode'"
+ func_fatal_help "invalid operation mode '$opt_mode'"
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
@@ -9628,7 +11131,7 @@ exit $exit_status
# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
+# where we disable both kinds of libraries. Given conflicting
# choices, we go for a static library, that is the most portable,
# since we can't tell whether shared libraries were disabled because
# the user asked for that or because the platform doesn't support
@@ -9651,5 +11154,3 @@ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# mode:shell-script
# sh-indentation:2
# End:
-# vi:sw=2
-
diff --git a/build-aux/missing b/build-aux/missing
index cdea5149..f62bbae3 100755
--- a/build-aux/missing
+++ b/build-aux/missing
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -160,7 +160,7 @@ give_advice ()
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
+ echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
diff --git a/build-aux/py-compile b/build-aux/py-compile
index 46ea866a..bc203914 100755
--- a/build-aux/py-compile
+++ b/build-aux/py-compile
@@ -3,7 +3,7 @@
scriptversion=2011-06-08.12; # UTC
-# Copyright (C) 2000-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2014 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/build-aux/test-driver b/build-aux/test-driver
index 32bf39e8..8e575b01 100755
--- a/build-aux/test-driver
+++ b/build-aux/test-driver
@@ -1,9 +1,9 @@
#! /bin/sh
# test-driver - basic testsuite driver script.
-scriptversion=2012-06-27.10; # UTC
+scriptversion=2013-07-13.22; # UTC
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -44,13 +44,12 @@ print_usage ()
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
- [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+ [--enable-hard-errors={yes|no}] [--]
+ TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}
-# TODO: better error handling in option parsing (in particular, ensure
-# TODO: $log_file, $trs_file and $test_name are defined).
test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
@@ -69,10 +68,23 @@ while test $# -gt 0; do
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
+ *) break;;
esac
shift
done
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file" = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+ usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+ usage_error "missing argument"
+fi
+
if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red.
@@ -94,11 +106,14 @@ trap "st=143; $do_exit" 15
# Test script is run here.
"$@" >$log_file 2>&1
estatus=$?
+
if test $enable_hard_errors = no && test $estatus -eq 99; then
- estatus=1
+ tweaked_estatus=1
+else
+ tweaked_estatus=$estatus
fi
-case $estatus:$expect_failure in
+case $tweaked_estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
@@ -107,6 +122,12 @@ case $estatus:$expect_failure in
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
# Report outcome to console.
echo "${col}${res}${std}: $test_name"
diff --git a/build-aux/ylwrap b/build-aux/ylwrap
index 1c4d7761..7c2d927f 100755
--- a/build-aux/ylwrap
+++ b/build-aux/ylwrap
@@ -1,9 +1,9 @@
#! /bin/sh
# ylwrap - wrapper for lex/yacc invocations.
-scriptversion=2012-12-21.17; # UTC
+scriptversion=2013-01-12.17; # UTC
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
#
# Written by Tom Tromey <tromey@cygnus.com>.
#
@@ -40,7 +40,7 @@ get_dirname ()
# guard FILE
# ----------
# The CPP macro used to guard inclusion of FILE.
-guard()
+guard ()
{
printf '%s\n' "$1" \
| sed \
@@ -96,17 +96,17 @@ esac
# The input.
-input="$1"
+input=$1
shift
# We'll later need for a correct munging of "#line" directives.
input_sub_rx=`get_dirname "$input" | quote_for_sed`
-case "$input" in
+case $input in
[\\/]* | ?:[\\/]*)
# Absolute path; do nothing.
;;
*)
# Relative path. Make it absolute.
- input="`pwd`/$input"
+ input=`pwd`/$input
;;
esac
input_rx=`get_dirname "$input" | quote_for_sed`
@@ -132,8 +132,8 @@ sed_fix_filenames=
# guard in its implementation file.
sed_fix_header_guards=
-while test "$#" -ne 0; do
- if test "$1" = "--"; then
+while test $# -ne 0; do
+ if test x"$1" = x"--"; then
shift
break
fi
@@ -153,16 +153,14 @@ while test "$#" -ne 0; do
done
# The program to run.
-prog="$1"
+prog=$1
shift
# Make any relative path in $prog absolute.
-case "$prog" in
+case $prog in
[\\/]* | ?:[\\/]*) ;;
- *[\\/]*) prog="`pwd`/$prog" ;;
+ *[\\/]*) prog=`pwd`/$prog ;;
esac
-# FIXME: add hostname here for parallel makes that run commands on
-# other machines. But that might take us over the 14-char limit.
dirname=ylwrap$$
do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
@@ -188,7 +186,7 @@ if test $ret -eq 0; then
# otherwise prepend '../'.
case $to in
[\\/]* | ?:[\\/]*) target=$to;;
- *) target="../$to";;
+ *) target=../$to;;
esac
# Do not overwrite unchanged header files to avoid useless
@@ -197,7 +195,7 @@ if test $ret -eq 0; then
# output of all other files to a temporary file so we can
# compare them to existing versions.
if test $from != $parser; then
- realtarget="$target"
+ realtarget=$target
target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'`
fi
diff --git a/build/Makefile.am b/build/Makefile.am
index 55641201..701e20b3 100644
--- a/build/Makefile.am
+++ b/build/Makefile.am
@@ -1,14 +1,3 @@
SUBDIRS = win32
-EXTRA_DIST = \
- detectenv_msvc.mak \
- gen-win32-cairo-gir.py \
- gen-win32-g-ir-tools.py \
- gi-build-common-msvc.mak \
- gi-introspection-msvc.mak \
- gi_msvc_build_utils.py \
- gi-setenv-msvc.mak \
- gi-tests-msvc.mak \
- introspection-msvc.mak \
- replace.py \
- Makefile.msvc-introspection
+EXTRA_DIST = Makefile.msvc-introspection
diff --git a/build/Makefile.in b/build/Makefile.in
index 6c7465d7..c687e223 100644
--- a/build/Makefile.in
+++ b/build/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = build
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -87,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -146,6 +156,7 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -233,6 +244,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -254,6 +266,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -340,6 +353,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -349,19 +363,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = win32
-EXTRA_DIST = \
- detectenv_msvc.mak \
- gen-win32-cairo-gir.py \
- gen-win32-g-ir-tools.py \
- gi-build-common-msvc.mak \
- gi-introspection-msvc.mak \
- gi_msvc_build_utils.py \
- gi-setenv-msvc.mak \
- gi-tests-msvc.mak \
- introspection-msvc.mak \
- replace.py \
- Makefile.msvc-introspection
-
+EXTRA_DIST = Makefile.msvc-introspection
all: all-recursive
.SUFFIXES:
@@ -377,7 +379,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign build/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign build/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -672,6 +673,8 @@ uninstall-am:
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# 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.
diff --git a/build/Makefile.msvc-introspection b/build/Makefile.msvc-introspection
index 9c3a14af..6c909643 100644
--- a/build/Makefile.msvc-introspection
+++ b/build/Makefile.msvc-introspection
@@ -94,7 +94,7 @@ $(top_builddir)/build/win32/$(1).msvc.introspect:
# Assemble the Command to Run g-ir-scanner
echo $(1)': '$(_gir_name)'_list '$($(_gir_name)_MSVC_GIR_DEPS)>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' @-echo Generating $$$$@...'>>$(top_builddir)/build/win32/$(1).msvc.introspect
- echo ' $$$$(PYTHON2) $$$$(G_IR_SCANNER) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
+ echo ' $$$$(PYTHON) $$$$(G_IR_SCANNER) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --verbose -no-libtool \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --namespace='$(_gir_namespace_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --nsversion='$(_gir_version_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
diff --git a/build/gi-setenv-msvc.mak b/build/gi-setenv-msvc.mak
deleted file mode 100644
index 6ebd966a..00000000
--- a/build/gi-setenv-msvc.mak
+++ /dev/null
@@ -1,13 +0,0 @@
-# Common NMake Makefile to set Build Environment for
-# Building Introspection Files and Associated Tests
-
-# Please do not change anything after this line
-
-setgirbuildnev:
- @set CC=$(CC)
- @set UNINSTALLED_INTROSPECTION_SRCDIR=..
- @set UNINSTALLED_INTROSPECTION_BUILDDIR=..
- @set PYTHONPATH=..;$(BINDIR)
- @set PATH=$(BINDIR);$(BASEDIR)\bin;$(PATH)
- @set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
- @set LIB=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(BASEDIR)\lib;$(LIB)
diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am
index f30ee9b8..6e4e593f 100644
--- a/build/win32/Makefile.am
+++ b/build/win32/Makefile.am
@@ -5,3 +5,15 @@ SUBDIRS = \
vs12 \
vs14
+EXTRA_DIST = \
+ detectenv-msvc.mak \
+ gen-win32-cairo-gir.py \
+ gen-win32-g-ir-tools.py \
+ gi-build-common-msvc.mak \
+ gi-introspection-msvc.mak \
+ gi_msvc_build_utils.py \
+ gi-setenv-msvc.mak \
+ gi-tests-msvc.mak \
+ introspection-msvc.mak \
+ replace.py
+
diff --git a/build/win32/Makefile.in b/build/win32/Makefile.in
index 454b2cd8..f05821b8 100644
--- a/build/win32/Makefile.in
+++ b/build/win32/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = build/win32
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -87,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -146,6 +156,7 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -233,6 +244,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -254,6 +266,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -340,6 +353,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -355,6 +369,18 @@ SUBDIRS = \
vs12 \
vs14
+EXTRA_DIST = \
+ detectenv-msvc.mak \
+ gen-win32-cairo-gir.py \
+ gen-win32-g-ir-tools.py \
+ gi-build-common-msvc.mak \
+ gi-introspection-msvc.mak \
+ gi_msvc_build_utils.py \
+ gi-setenv-msvc.mak \
+ gi-tests-msvc.mak \
+ introspection-msvc.mak \
+ replace.py
+
all: all-recursive
.SUFFIXES:
@@ -370,7 +396,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign build/win32/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign build/win32/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -665,6 +690,8 @@ uninstall-am:
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# 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.
diff --git a/build/detectenv_msvc.mak b/build/win32/detectenv-msvc.mak
index d4b9b84a..c23e444f 100644
--- a/build/detectenv_msvc.mak
+++ b/build/win32/detectenv-msvc.mak
@@ -1,69 +1,76 @@
-# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or
-# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir)
-!if !defined(VCINSTALLDIR) && !defined(WINDOWSSDKDIR)
-MSG = ^
-This Makefile is only for Visual Studio 2008 and later.^
-You need to ensure that the Visual Studio Environment is properly set up^
-before running this Makefile.
-!error $(MSG)
-!endif
-
-ERRNUL = 2>NUL
-_HASH=^#
-
-!if ![echo VCVERSION=_MSC_VER > vercl.x] \
- && ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \
- && ![echo PLAT=Win32 >> vercl.x] \
- && ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \
- && ![echo PLAT=x64 >> vercl.x] \
- && ![echo $(_HASH)endif >> vercl.x] \
- && ![cl -nologo -TC -P vercl.x $(ERRNUL)]
-!include vercl.i
-!if ![echo VCVER= ^\> vercl.vc] \
- && ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]
-!include vercl.vc
-!endif
-!endif
-!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]
-!endif
-
-!if $(VCVERSION) > 1499 && $(VCVERSION) < 1600
-VSVER = 9
-!elseif $(VCVERSION) > 1599 && $(VCVERSION) < 1700
-VSVER = 10
-!elseif $(VCVERSION) > 1699 && $(VCVERSION) < 1800
-VSVER = 11
-!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
-VSVER = 12
-!else
-VSVER = 0
-!endif
-
-!if "$(VSVER)" == "0"
-MSG = ^
-This NMake Makefile set supports Visual Studio^
-9 (2008) through 12 (2013). Your Visual Studio^
-version is not supported.
-!error $(MSG)
-!endif
-
-VALID_CFGSET = FALSE
-!if "$(CFG)" == "release" || "$(CFG)" == "debug"
-VALID_CFGSET = TRUE
-!endif
-
-!if "$(CFG)" == "release"
-!if "$(VSVER)" == "9" && "$(PLAT)" == "x64"
-CFLAGS_ADD = /MD /O1 /Oi
-!else
-CFLAGS_ADD = /MD /O2
-!endif
-!else
-CFLAGS_ADD = /MDd /Od /Zi /DG_ENABLE_DEBUG
-!endif
-
-!if "$(PLAT)" == "x64"
-LDFLAGS_ARCH = /machine:x64
-!else
-LDFLAGS_ARCH = /machine:x86
-!endif \ No newline at end of file
+# Common NMake Makefile module for checking the build environment
+# This can be copied from $(glib_srcroot)\build\win32 for GNOME items
+# that support MSVC builds and introspection under MSVC, and can be used
+# for building test programs as well.
+
+# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or
+# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir)
+!if !defined(VCINSTALLDIR) && !defined(WINDOWSSDKDIR)
+MSG = ^
+This Makefile is only for Visual Studio 2008 and later.^
+You need to ensure that the Visual Studio Environment is properly set up^
+before running this Makefile.
+!error $(MSG)
+!endif
+
+ERRNUL = 2>NUL
+_HASH=^#
+
+!if ![echo VCVERSION=_MSC_VER > vercl.x] \
+ && ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \
+ && ![echo PLAT=Win32 >> vercl.x] \
+ && ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \
+ && ![echo PLAT=x64 >> vercl.x] \
+ && ![echo $(_HASH)endif >> vercl.x] \
+ && ![cl -nologo -TC -P vercl.x $(ERRNUL)]
+!include vercl.i
+!if ![echo VCVER= ^\> vercl.vc] \
+ && ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]
+!include vercl.vc
+!endif
+!endif
+!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]
+!endif
+
+!if $(VCVERSION) > 1499 && $(VCVERSION) < 1600
+VSVER = 9
+!elseif $(VCVERSION) > 1599 && $(VCVERSION) < 1700
+VSVER = 10
+!elseif $(VCVERSION) > 1699 && $(VCVERSION) < 1800
+VSVER = 11
+!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
+VSVER = 12
+!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 2000
+VSVER = 14
+!else
+VSVER = 0
+!endif
+
+!if "$(VSVER)" == "0"
+MSG = ^
+This NMake Makefile set supports Visual Studio^
+9 (2008) through 14 (2015). Your Visual Studio^
+version is not supported.
+!error $(MSG)
+!endif
+
+VALID_CFGSET = FALSE
+!if "$(CFG)" == "release" || "$(CFG)" == "debug"
+VALID_CFGSET = TRUE
+!endif
+
+# We want debugging symbols logged for all builds,
+# using .pdb files for release builds
+CFLAGS_BASE = /Zi
+
+!if "$(CFG)" == "release"
+CFLAGS_ADD = /MD /O2 $(CFLAGS_BASE)
+!else
+CFLAGS_ADD = /MDd /Od $(CFLAGS_BASE)
+!endif
+
+!if "$(PLAT)" == "x64"
+LDFLAGS_ARCH = /machine:x64
+!else
+LDFLAGS_ARCH = /machine:x86
+!endif
diff --git a/build/gen-win32-cairo-gir.py b/build/win32/gen-win32-cairo-gir.py
index 1216daa4..09a5a506 100644
--- a/build/gen-win32-cairo-gir.py
+++ b/build/win32/gen-win32-cairo-gir.py
@@ -25,20 +25,15 @@ def main(argv):
args = parser.parse_args()
# Get the srcroot and the path where the bundled .gir files reside in the package
- srcroot = parent_dir(__file__)
+ srcroot = parent_dir(parent_dir(__file__))
preset_gir_path = os.path.join(srcroot, 'gir')
# Set up variables in cairo-1.0.gir.in to produce cairo-1.0.gir
- replace.replace(os.path.join(preset_gir_path, 'cairo-1.0.gir.in'),
- 'cairo-1.0.gir.tmp',
- '%CAIRO_GIR_PACKAGE%',
- 'cairo-gobject')
-
- replace.replace('cairo-1.0.gir.tmp',
- 'cairo-1.0.gir',
- '%CAIRO_SHARED_LIBRARY%',
- args.dllname)
- os.unlink('cairo-1.0.gir.tmp')
+ cairo_replace_items = {'%CAIRO_GIR_PACKAGE%': 'cairo-gobject',
+ '%CAIRO_SHARED_LIBRARY%': args.dllname}
+ replace.replace_multi(os.path.join(preset_gir_path, 'cairo-1.0.gir.in'),
+ 'cairo-1.0.gir',
+ cairo_replace_items)
if __name__ == '__main__':
sys.exit(main(sys.argv))
diff --git a/build/gen-win32-g-ir-tools.py b/build/win32/gen-win32-g-ir-tools.py
index 444fe80f..13360865 100644
--- a/build/gen-win32-g-ir-tools.py
+++ b/build/win32/gen-win32-g-ir-tools.py
@@ -42,7 +42,7 @@ def main(argv):
funcs = ['scanner_main','annotation_main','doc_main']
tools = ['g-ir-scanner','g-ir-annotation-tool','g-ir-doc-tool']
- srcroot = parent_dir(__file__)
+ srcroot = parent_dir(parent_dir(__file__))
preset_tools_path = os.path.join(srcroot, 'tools')
src = os.path.join(preset_tools_path, 'g-ir-tool-template.in')
diff --git a/build/gi-build-common-msvc.mak b/build/win32/gi-build-common-msvc.mak
index c7db78a8..6d108eab 100644
--- a/build/gi-build-common-msvc.mak
+++ b/build/win32/gi-build-common-msvc.mak
@@ -2,7 +2,7 @@
# Please do not change anything after this line
-!include detectenv_msvc.mak
+!include detectenv-msvc.mak
GI_APIVERSION = 1.0
GLIB_APIVERSION = 2.0
@@ -11,7 +11,8 @@ CHECK_PACKAGE = gio-$(GLIB_APIVERSION)
!include introspection-msvc.mak
-BINDIR = ..\build\win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin
-G_IR_SCANNER_CURRENT = ..\tools\g-ir-scanner
-G_IR_DOC_TOOL_CURRENT = ..\tools\g-ir-doc-tool
+BINDIR = vs$(VSVER)\$(CFG)\$(PLAT)\bin
+G_IR_SCANNER_CURRENT = ..\..\tools\g-ir-scanner
+G_IR_DOC_TOOL_CURRENT = ..\..\tools\g-ir-doc-tool
G_IR_COMPILER_CURRENT = $(BINDIR)\g-ir-compiler.exe
+TOP_SRCDIR = ..\..
diff --git a/build/gi-introspection-msvc.mak b/build/win32/gi-introspection-msvc.mak
index a7d05a25..c63d196f 100644
--- a/build/gi-introspection-msvc.mak
+++ b/build/win32/gi-introspection-msvc.mak
@@ -50,97 +50,98 @@ built_install_typelibs = \
GIRepository-$(GLIB_APIVERSION).typelib
!if "$(BUILD_INTROSPECTION)" == "TRUE"
-all: setgirbuildnev $(built_install_girs) $(built_install_typelibs) $(bundled_girs) $(bundled_typelibs) msg_cairo
+all: setgirbuildenv $(built_install_girs) $(built_install_typelibs) $(bundled_girs) $(bundled_typelibs) msg_cairo
!include gi-setenv-msvc.mak
glib_list:
@-echo Generating file list for GLib...
- @-echo $(BASEDIR)\lib\glib-2.0\include\glibconfig.h> $@
- @-for /f %%a in ('dir /b $(BASEDIR)\include\glib-2.0\glib\*.h') do @echo $(BASEDIR)\include\glib-2.0\glib\%%a>> $@
- @-echo $(BASEDIR)\include\glib-2.0\gobject\glib-types.h>> $@
- @-echo ..\gir\glib-2.0.c>> $@
+ @-echo $(PREFIX)\lib\glib-2.0\include\glibconfig.h> $@
+ @-for /f %%a in ('dir /b $(PREFIX)\include\glib-2.0\glib\*.h') do @echo $(PREFIX)\include\glib-2.0\glib\%%a>> $@
+ @-echo $(PREFIX)\include\glib-2.0\gobject\glib-types.h>> $@
+ @-echo $(TOP_SRCDIR)\gir\glib-2.0.c>> $@
gobject_list:
@-echo Generating file list for GObject...
@-type NUL > $@
- @-for /f %%a in ('dir /b $(BASEDIR)\include\glib-2.0\gobject\*.h') do @if not %%a == glib-types.h @echo $(BASEDIR)\include\glib-2.0\gobject\%%a>> $@
- @-echo ..\gir\gobject-2.0.c>> $@
+ @-for /f %%a in ('dir /b $(PREFIX)\include\glib-2.0\gobject\*.h') do @if not %%a == glib-types.h @echo $(PREFIX)\include\glib-2.0\gobject\%%a>> $@
+ @-echo $(TOP_SRCDIR)\gir\gobject-2.0.c>> $@
gio_list:
@-echo Generating file list for GIO...
@-type NUL > $@
- @-for /f %%a in ('dir /b $(BASEDIR)\include\gio-win32-2.0\gio\*.h') do @echo $(BASEDIR)\include\gio-win32-2.0\gio\%%a>> $@
- @-for /f %%a in ('dir /b $(BASEDIR)\include\glib-2.0\gio\*.h') do @if not %%a == gsettingsbackend.h @echo $(BASEDIR)\include\glib-2.0\gio\%%a>> $@
- @-echo ..\gir\gio-2.0.c>> $@
+ @-for /f %%a in ('dir /b $(PREFIX)\include\gio-win32-2.0\gio\*.h') do @echo $(PREFIX)\include\gio-win32-2.0\gio\%%a>> $@
+ @-for /f %%a in ('dir /b $(PREFIX)\include\glib-2.0\gio\*.h') do @if not %%a == gsettingsbackend.h @echo $(PREFIX)\include\glib-2.0\gio\%%a>> $@
+ @-echo $(TOP_SRCDIR)\gir\gio-2.0.c>> $@
gi_list:
@-echo Generating file list for girepository...
- @-echo ..\girepository\girepository.h > $@
- @-echo ..\girepository\girepository.c >> $@
- @-for /f %%a in ('dir /b ..\girepository\gi*info.c') do @echo ..\girepository\%%a >> $@
- @-for /f %%a in ('dir /b ..\girepository\gi*info.h') do @echo ..\girepository\%%a >> $@
- @-echo ..\girepository\gitypelib.h >> $@
- @-echo ..\girepository\gitypes.h >> $@
+ @-echo $(TOP_SRCDIR)\girepository\girepository.h > $@
+ @-echo $(TOP_SRCDIR)\girepository\girepository.c >> $@
+ @-for /f %%a in ('dir /b $(TOP_SRCDIR)\girepository\gi*info.c') do @echo $(TOP_SRCDIR)\girepository\%%a >> $@
+ @-for /f %%a in ('dir /b $(TOP_SRCDIR)\girepository\gi*info.h') do @echo $(TOP_SRCDIR)\girepository\%%a >> $@
+ @-echo $(TOP_SRCDIR)\girepository\gitypelib.h >> $@
+ @-echo $(TOP_SRCDIR)\girepository\gitypes.h >> $@
# Generated .gir files for GLib/GModule/GObject/Gio/GIRepository
GLib-$(GLIB_APIVERSION).gir: glib_list
@-echo Generating $@...
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --verbose -I.. --add-include-path=.. \
- --add-include-path=..\gir --add-include-path=. --namespace=GLib --nsversion=$(GLIB_APIVERSION) \
- --no-libtool --pkg=glib-$(GLIB_APIVERSION) --include=win32-$(GI_APIVERSION) --library=glib-2.0 --library=gobject-2.0 \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose -I$(TOP_SRCDIR) --add-include-path=$(TOP_SRCDIR) \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=GLib --nsversion=$(GLIB_APIVERSION) \
+ --no-libtool --pkg=gio-windows-$(GLIB_APIVERSION) --pkg=glib-$(GLIB_APIVERSION) \
+ --include=win32-$(GI_APIVERSION) --library=glib-2.0 --library=gobject-2.0 \
--external-library --reparse-validate --identifier-prefix=G --symbol-prefix=g \
- --symbol-prefix=glib --c-include="glib.h" -I$(BASEDIR)\include\glib-$(GLIB_APIVERSION) \
- -I$(BASEDIR)\lib\glib-2.0\include -I$(BASEDIR)\include -DGETTEXT_PACKAGE=Dummy \
+ --symbol-prefix=glib --c-include="glib.h" -I$(PREFIX)\include\glib-$(GLIB_APIVERSION) \
+ -I$(PREFIX)\lib\glib-2.0\include -I$(PREFIX)\include -DGETTEXT_PACKAGE=Dummy \
-DGLIB_COMPILATION -D__G_I18N_LIB_H__ --filelist=glib_list -o $@
GModule-$(GLIB_APIVERSION).gir: GLib-$(GLIB_APIVERSION).gir
@-echo Generating $@...
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --verbose -I.. --add-include-path=.. \
- --add-include-path=..\gir --add-include-path=. --namespace=GModule --nsversion=2.0 \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose -I$(TOP_SRCDIR) --add-include-path=$(TOP_SRCDIR) \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=GModule --nsversion=2.0 \
--no-libtool --include=GLib-$(GLIB_APIVERSION) --pkg=gmodule-$(GLIB_APIVERSION) --library=gmodule-2.0 \
--external-library --reparse-validate --identifier-prefix=G --c-include="gmodule.h" \
- -I$(BASEDIR)\include\glib-2.0 -I$(BASEDIR)\lib\glib-2.0\include -I$(BASEDIR)\include \
- $(BASEDIR)\include\glib-2.0\gmodule.h ..\gir\gmodule-2.0.c -o $@
+ -I$(PREFIX)\include\glib-2.0 -I$(PREFIX)\lib\glib-2.0\include -I$(PREFIX)\include \
+ $(PREFIX)\include\glib-2.0\gmodule.h $(TOP_SRCDIR)\gir\gmodule-2.0.c -o $@
GObject-$(GLIB_APIVERSION).gir: gobject_list GModule-$(GLIB_APIVERSION).gir
@-echo Generating $@...
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --verbose -I.. --add-include-path=.. \
- --add-include-path=..\gir --add-include-path=. --namespace=GObject --nsversion=$(GLIB_APIVERSION) \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose -I$(TOP_SRCDIR) --add-include-path=$(TOP_SRCDIR) \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=GObject --nsversion=$(GLIB_APIVERSION) \
--no-libtool --include=GLib-$(GLIB_APIVERSION) --pkg=gobject-$(GLIB_APIVERSION) --library=gobject-2.0 \
--external-library --reparse-validate --identifier-prefix=G --c-include="glib-gobject.h" \
- -I$(BASEDIR)/include/glib-2.0 -I$(BASEDIR)/lib/glib-2.0/include -I$(BASEDIR)/include \
+ -I$(PREFIX)/include/glib-2.0 -I$(PREFIX)/lib/glib-2.0/include -I$(PREFIX)/include \
-DGOBJECT_COMPILATION --filelist=gobject_list -o $@
Gio-$(GLIB_APIVERSION).gir: gio_list GObject-$(GLIB_APIVERSION).gir
@-echo Generating $@...
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --verbose -I.. --add-include-path=.. \
- --add-include-path=..\gir --add-include-path=. --namespace=Gio --nsversion=$(GLIB_APIVERSION) \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose -I$(TOP_SRCDIR) --add-include-path=$(TOP_SRCDIR) \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=Gio --nsversion=$(GLIB_APIVERSION) \
--no-libtool --pkg=gio-$(GLIB_APIVERSION) --pkg=gio-windows-$(GLIB_APIVERSION) --include=GObject-$(GLIB_APIVERSION) \
--library=gio-2.0 --external-library --reparse-validate --warn-all \
--identifier-prefix=G --include=GLib-$(GLIB_APIVERSION) --c-include="gio/gio.h" -DGIO_COMPILATION \
- -I$(BASEDIR)\include\glib-2.0 -I$(BASEDIR)\lib\glib-2.0\include \
- -I$(BASEDIR)\include --filelist=gio_list -o $@
+ -I$(PREFIX)\include\glib-2.0 -I$(PREFIX)\lib\glib-2.0\include \
+ -I$(PREFIX)\include --filelist=gio_list -o $@
GIRepository-$(GLIB_APIVERSION).gir: gi_list GObject-$(GLIB_APIVERSION).gir
@-echo Generating $@...
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --verbose --warn-all \
- --add-include-path=..\gir --add-include-path=. --namespace=GIRepository --nsversion=$(GLIB_APIVERSION) \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --verbose --warn-all \
+ --add-include-path=$(TOP_SRCDIR)\gir --add-include-path=. --namespace=GIRepository --nsversion=$(GLIB_APIVERSION) \
--identifier-prefix=GI --symbol-prefix=g --c-include="girepository.h" --add-include-path=. \
--no-libtool --pkg=gobject-$(GLIB_APIVERSION) --include=GObject-$(GLIB_APIVERSION) \
- --library=girepository-1.0 -I..\girepository -I.. -I$(BASEDIR)\include \
- -I$(BASEDIR)\include\glib-2.0 -I$(BASEDIR)\lib\glib-2.0\include --filelist=gi_list \
+ --library=girepository-1.0 -I$(TOP_SRCDIR)\girepository -I$(TOP_SRCDIR) -I$(PREFIX)\include \
+ -I$(PREFIX)\include\glib-2.0 -I$(PREFIX)\lib\glib-2.0\include --filelist=gi_list \
-DGI_COMPILATION -o $@
# Bundled cairo-1.0.gir.in processing
-cairo-1.0.gir: ..\gir\cairo-1.0.gir.in
+cairo-1.0.gir: $(TOP_SRCDIR)\gir\cairo-1.0.gir.in
@-echo Generating $@ from $*.gir.in...
- @-$(PYTHON2) gen-win32-cairo-gir.py --dllname=$(CAIROGOBJECT_DLLNAME)
+ @-$(PYTHON) gen-win32-cairo-gir.py --dllname=$(CAIROGOBJECT_DLLNAME)
# Copy the .gir's bundled with G-I to this folder
-$(bundled_girs): ..\gir\win32-1.0.gir ..\gir\fontconfig-2.0.gir ..\gir\freetype2-2.0.gir ..\gir\GL-1.0.gir ..\gir\libxml2-2.0.gir
+$(bundled_girs): $(TOP_SRCDIR)\gir\win32-1.0.gir $(TOP_SRCDIR)\gir\fontconfig-2.0.gir $(TOP_SRCDIR)\gir\freetype2-2.0.gir $(TOP_SRCDIR)\gir\GL-1.0.gir $(TOP_SRCDIR)\gir\libxml2-2.0.gir
@-echo Copying the bundled $*.gir that came with the GobjectIntrospection package...
- @-copy ..\gir\$*.gir $@
+ @-copy $(TOP_SRCDIR)\gir\$*.gir $@
# Generate .typelib's from generated .gir's
$(built_install_typelibs): $(bundled_girs) $(built_install_girs)
@@ -166,7 +167,7 @@ msg_cairo:
@-echo CAIROGOBJECT_DLLNAME^=^<your DLL full filename^> when
@-echo invoking this NMake Makefile
-install-introspection: setgirbuildnev $(built_install_girs) $(built_install_typelibs) $(bundled_girs) cairo-1.0.gir $(bundled_typelibs)
+install-introspection: all
@-mkdir $(G_IR_INCLUDEDIR)
@-mkdir $(G_IR_TYPELIBDIR)
@-copy cairo-1.0.gir $(G_IR_INCLUDEDIR)
@@ -189,4 +190,5 @@ clean:
@-del /f/q gio_list
@-del /f/q gobject_list
@-del /f/q glib_list
+ @ if exist __pycache__ rmdir /s /q __pycache__
@-del /f/q *.pyc
diff --git a/build/win32/gi-setenv-msvc.mak b/build/win32/gi-setenv-msvc.mak
new file mode 100644
index 00000000..4db6f3fe
--- /dev/null
+++ b/build/win32/gi-setenv-msvc.mak
@@ -0,0 +1,12 @@
+# Common NMake Makefile to set Build Environment for
+# Building Introspection Files and Associated Tests
+
+# Please do not change anything after this line
+
+setgirbuildenv:
+ @set UNINSTALLED_INTROSPECTION_SRCDIR=..\..
+ @set UNINSTALLED_INTROSPECTION_BUILDDIR=..\..
+ @set PYTHONPATH=..\..;$(BINDIR)
+ @set PATH=$(BINDIR);$(PREFIX)\bin;$(PATH)
+ @set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
+ @set LIB=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(PREFIX)\lib;$(LIB)
diff --git a/build/gi-tests-msvc.mak b/build/win32/gi-tests-msvc.mak
index f44b3bc0..ba25a008 100644
--- a/build/gi-tests-msvc.mak
+++ b/build/win32/gi-tests-msvc.mak
@@ -4,10 +4,20 @@
!include gi-build-common-msvc.mak
+!if "$(CFG)" == "release"
+!if "$(VSVER)" == "9" && "$(PLAT)" == "x64"
+TESTS_CFLAGS_ADD = /MD /O1 /Oi
+!else
+TESTS_CFLAGS_ADD = $(CFLAGS_ADD)
+!endif
+!else
+TESTS_CFLAGS_ADD = /MDd /Od /Zi /DG_ENABLE_DEBUG
+!endif
+
BASE_GLIB_LIBS = gio-$(GLIB_APIVERSION).lib gobject-$(GLIB_APIVERSION).lib gmodule-$(GLIB_APIVERSION).lib glib-$(GLIB_APIVERSION).lib
-CFLAGS = $(CFLAGS_ADD) /I.. /W3 /we4013 /FImsvc_recommended_pragmas.h /DHAVE_CONFIG_H
-LDFLAGS = /link $(LDFLAGS_ARCH) $(BASE_GLIB_LIBS)
-LDFLAGS_DLL = /link $(LDFLAGS_ARCH) /DLL /out:$@ /implib:$*-$(GI_APIVERSION).lib $(BASE_GLIB_LIBS)
+CFLAGS = $(TESTS_CFLAGS_ADD) /I$(TOP_SRCDIR) /W3 /we4013 /FImsvc_recommended_pragmas.h /DHAVE_CONFIG_H
+LDFLAGS = /link $(LDFLAGS_ARCH) $(BASE_GLIB_LIBS) /DEBUG /opt:noref
+LDFLAGS_DLL = /link $(LDFLAGS_ARCH) /DLL /out:$@ /implib:$*-$(GI_APIVERSION).lib $(BASE_GLIB_LIBS) /DEBUG /opt:noref
# Special CFLAGS for Regress test
REGRESS_CFLAGS = -DREGRESS_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f" -DREGRESS_SOME_CHAR='c'
@@ -46,6 +56,7 @@ built_test_typelibs = \
test_programs = \
gitestrepo.exe \
gitestthrows.exe \
+ giteststructinfo.exe \
gitypelibtest.exe \
gitestoffsets.exe
@@ -56,48 +67,48 @@ built_doc_tests = \
Regress-$(GI_APIVERSION)-sections.txt
!if "$(BUILD_INTROSPECTION)" == "TRUE"
-all: setgirbuildnev $(built_test_girs) $(built_test_typelibs) $(test_programs) $(built_doc_tests) warn_tests_log.txt
+all: setgirbuildenv $(built_test_girs) $(built_test_typelibs) $(test_programs) $(built_doc_tests) warn_tests_log.txt
!include gi-setenv-msvc.mak
# Rules for building the test DLLs
-gimarshallingtests.dll: ..\tests\gimarshallingtests.c
- $(CC) $(CFLAGS) ..\tests\gimarshallingtests.c $(LDFLAGS_DLL)
+gimarshallingtests.dll: $(TOP_SRCDIR)\tests\gimarshallingtests.c
+ $(CC) $(CFLAGS) $(TOP_SRCDIR)\tests\gimarshallingtests.c $(LDFLAGS_DLL)
@-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
everything.dll: everything.c everything.h
- $(CC) $(CFLAGS) /I..\tests everything.c $(LDFLAGS_DLL)
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\tests everything.c $(LDFLAGS_DLL)
@-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
-offsets.dll: ..\tests\offsets\offsets.c
- $(CC) $(CFLAGS) /I..\tests /I..\tests\offsets ..\tests\offsets\offsets.c $(LDFLAGS_DLL)
+offsets.dll: $(TOP_SRCDIR)\tests\offsets\offsets.c
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\tests /I$(TOP_SRCDIR)\tests\offsets $(TOP_SRCDIR)\tests\offsets\offsets.c $(LDFLAGS_DLL)
@-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
-sletter.dll utility.dll gtkfrob.dll gettype.dll warnlib.dll typedefs.dll:
- $(CC) $(CFLAGS) /I..\tests ..\tests\scanner\$*.c $(LDFLAGS_DLL)
+{$(TOP_SRCDIR)\tests\scanner\}.c{}.dll:
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\tests $< $(LDFLAGS_DLL)
@-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
regress.dll:
- $(CC) $(CFLAGS) /I..\tests \
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\tests \
$(REGRESS_CFLAGS) \
- ..\tests\scanner\regress.c \
- ..\tests\scanner\annotation.c \
- ..\tests\scanner\foo.c \
- ..\tests\scanner\drawable.c \
+ $(TOP_SRCDIR)\tests\scanner\regress.c \
+ $(TOP_SRCDIR)\tests\scanner\annotation.c \
+ $(TOP_SRCDIR)\tests\scanner\foo.c \
+ $(TOP_SRCDIR)\tests\scanner\drawable.c \
$(LDFLAGS_DLL) cairo-gobject.lib cairo.lib
@-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;2
# Rules for test programs
-gitestrepo.exe gitestthrows.exe gitypelibtest.exe:
- $(CC) $(CFLAGS) /I..\girepository ..\tests\repository\$*.c $(LDFLAGS) girepository-$(GI_APIVERSION).lib
+{$(TOP_SRCDIR)\tests\repository\}.c{}.exe:
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\girepository $< $(LDFLAGS) girepository-$(GI_APIVERSION).lib
@-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;1
-barapp.exe:
- $(CC) $(CFLAGS) /I..\girepository -I..\tests ..\tests\scanner\$*.c $(LDFLAGS) girepository-$(GI_APIVERSION).lib
+{$(TOP_SRCDIR)\tests\scanner\}.c{}.exe:
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\girepository -I$(TOP_SRCDIR)\tests $< $(LDFLAGS) girepository-$(GI_APIVERSION).lib
@-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;1
gitestoffsets.exe: gitestoffsets.c
- $(CC) $(CFLAGS) /I..\girepository /I..\tests\offsets /I..\tests $*.c $(LDFLAGS) girepository-$(GI_APIVERSION).lib
+ $(CC) $(CFLAGS) /I$(TOP_SRCDIR)\girepository /I$(TOP_SRCDIR)\tests\offsets /I$(TOP_SRCDIR)\tests $*.c $(LDFLAGS) girepository-$(GI_APIVERSION).lib
@-if exist $@.manifest @mt /manifest $@.manifest /outputresource:$@;1
@set GI_TYPELIB_PATH=.
@-$@ offsets.compiled offsets.introspected
@@ -105,155 +116,155 @@ gitestoffsets.exe: gitestoffsets.c
# Rules for building the .gir's
GIMarshallingTests-$(GI_APIVERSION).gir: gimarshallingtests.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
--namespace=GIMarshallingTests --symbol-prefix=gi_marshalling_tests --nsversion=$(GI_APIVERSION) \
- --no-libtool -I.. \
+ --no-libtool -I$(TOP_SRCDIR) \
--add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
--library=$* --output=$@ \
--c-include="tests/gimarshallingtests.h" \
- ..\tests\gimarshallingtests.h ..\tests\gimarshallingtests.c
+ $(TOP_SRCDIR)\tests\gimarshallingtests.h $(TOP_SRCDIR)\tests\gimarshallingtests.c
Everything-$(GI_APIVERSION).gir: everything.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
--namespace=Everything --nsversion=$(GI_APIVERSION) \
- --no-libtool -I.. -I..\tests \
+ --no-libtool -I$(TOP_SRCDIR) -I$(TOP_SRCDIR)\tests \
--add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
--library=$* --output=$@ \
everything.h everything.c
Offsets-$(GI_APIVERSION).gir: offsets.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --warn-error --reparse-validate \
--namespace=Offsets --nsversion=$(GI_APIVERSION) \
- --no-libtool -I.. -I..\tests\offsets -I..\tests \
+ --no-libtool -I$(TOP_SRCDIR) -I$(TOP_SRCDIR)\tests\offsets -I$(TOP_SRCDIR)\tests \
--pkg=gobject-$(GLIB_APIVERSION) --add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
--library=$* --output=$@ \
- ..\tests\offsets\offsets.h ..\tests\offsets\offsets.c
+ $(TOP_SRCDIR)\tests\offsets\offsets.h $(TOP_SRCDIR)\tests\offsets\offsets.c
SLetter-$(GI_APIVERSION).gir: sletter.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
--namespace=SLetter --nsversion=$(GI_APIVERSION) \
- --no-libtool -I..\tests -I.. \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) \
--add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
--identifier-prefix=S --c-include="sletter.h" --warn-error \
--library=$* --output=$@ \
- ..\tests\scanner\sletter.h ..\tests\scanner\sletter.c
+ $(TOP_SRCDIR)\tests\scanner\sletter.h $(TOP_SRCDIR)\tests\scanner\sletter.c
Utility-$(GI_APIVERSION).gir: utility.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
--namespace=Utility --nsversion=$(GI_APIVERSION) \
- --no-libtool -I..\tests -I.. --pkg=gobject-$(GLIB_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
--add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
--c-include="utility.h" --warn-error \
--library=$* --output=$@ \
- ..\tests\scanner\utility.h ..\tests\scanner\utility.c
+ $(TOP_SRCDIR)\tests\scanner\utility.h $(TOP_SRCDIR)\tests\scanner\utility.c
GtkFrob-$(GI_APIVERSION).gir: gtkfrob.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
--namespace=GtkFrob --nsversion=$(GI_APIVERSION) \
- --no-libtool -I..\tests -I.. --pkg=gobject-$(GLIB_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
--add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
--identifier-prefix=Gtk --symbol-prefix=gtk_frob --warn-error \
--library=$* --output=$@ \
- ..\tests\scanner\gtkfrob.h ..\tests\scanner\gtkfrob.c
+ $(TOP_SRCDIR)\tests\scanner\gtkfrob.h $(TOP_SRCDIR)\tests\scanner\gtkfrob.c
GetType-$(GI_APIVERSION).gir: gettype.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
--namespace=GetType --nsversion=$(GI_APIVERSION) \
- --no-libtool -I..\tests -I.. --pkg=gobject-$(GLIB_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
--add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
--c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype \
--library=$* --output=$@ \
- ..\tests\scanner\gettype.h ..\tests\scanner\gettype.c
+ $(TOP_SRCDIR)\tests\scanner\gettype.h $(TOP_SRCDIR)\tests\scanner\gettype.c
Typedefs-$(GI_APIVERSION).gir: typedefs.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
--namespace=Typedefs --nsversion=$(GI_APIVERSION) \
- --no-libtool -I..\tests -I.. --pkg=gobject-$(GLIB_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
--add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
--c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs \
--library=$* --output=$@ \
- ..\tests\scanner\typedefs.h ..\tests\scanner\typedefs.c
+ $(TOP_SRCDIR)\tests\scanner\typedefs.h $(TOP_SRCDIR)\tests\scanner\typedefs.c
WarnLib-$(GI_APIVERSION).gir: warnlib.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
--namespace=WarnLib --nsversion=$(GI_APIVERSION) \
- --no-libtool -I..\tests -I.. \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) \
--add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
--c-include="warnlib.h" --symbol-prefix=warnlib_ \
--library=$* --output=$@ \
- ..\tests\scanner\warnlib.h ..\tests\scanner\warnlib.c
+ $(TOP_SRCDIR)\tests\scanner\warnlib.h $(TOP_SRCDIR)\tests\scanner\warnlib.c
Regress-$(GI_APIVERSION).gir: Utility-$(GI_APIVERSION).gir regress.dll
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all \
--namespace=Regress --nsversion=$(GI_APIVERSION) \
- --no-libtool -I..\tests -I.. \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) \
--add-include-path=. --include=Gio-$(GLIB_APIVERSION) \
--include=Utility-$(GI_APIVERSION) --include=cairo-$(GI_APIVERSION) \
--c-include="regress.h" --warn-error \
--library=$* --output=$@ \
$(REGRESS_CFLAGS) \
- ..\tests\scanner\regress.c ..\tests\scanner\regress.h \
- ..\tests\scanner\annotation.c ..\tests\scanner\annotation.h \
- ..\tests\scanner\foo.c ..\tests\scanner\foo.h \
- ..\tests\scanner\drawable.c ..\tests\scanner\drawable.h
+ $(TOP_SRCDIR)\tests\scanner\regress.c $(TOP_SRCDIR)\tests\scanner\regress.h \
+ $(TOP_SRCDIR)\tests\scanner\annotation.c $(TOP_SRCDIR)\tests\scanner\annotation.h \
+ $(TOP_SRCDIR)\tests\scanner\foo.c $(TOP_SRCDIR)\tests\scanner\foo.h \
+ $(TOP_SRCDIR)\tests\scanner\drawable.c $(TOP_SRCDIR)\tests\scanner\drawable.h
Bar-$(GI_APIVERSION).gir: Utility-$(GI_APIVERSION).gir barapp.exe
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all \
--namespace=Bar --nsversion=$(GI_APIVERSION) \
--program=barapp \
- --no-libtool -I..\tests -I.. --pkg=gobject-$(GLIB_APIVERSION) \
+ --no-libtool -I$(TOP_SRCDIR)\tests -I$(TOP_SRCDIR) --pkg=gobject-$(GLIB_APIVERSION) \
--add-include-path=. --include=GObject-$(GLIB_APIVERSION) \
--accept-unprefixed \
--output=$@ \
- ..\tests\scanner\barapp.c ..\tests\scanner\barapp.h
+ $(TOP_SRCDIR)\tests\scanner\barapp.c $(TOP_SRCDIR)\tests\scanner\barapp.h
Headeronly-$(GI_APIVERSION).gir:
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all \
--warn-error --reparse-validate --namespace=Headeronly --nsversion=$(GI_APIVERSION) \
- --header-only --output=$@ ..\tests\scanner\headeronly.h
+ --header-only --output=$@ $(TOP_SRCDIR)\tests\scanner\headeronly.h
Identfilter-$(GI_APIVERSION).gir:
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) --warn-all --reparse-validate \
--namespace=Identfilter --accept-unprefixed --nsversion=1.0 --header-only \
- --identifier-filter-cmd="$(PYTHON2) ..\tests\scanner\identfilter.py" \
- --output=$@ ..\tests\scanner\identfilter.h
+ --identifier-filter-cmd="$(PYTHON) $(TOP_SRCDIR)\tests\scanner\identfilter.py" \
+ --output=$@ $(TOP_SRCDIR)\tests\scanner\identfilter.h
# Rules for doc (Mallard) tests
Regress-$(GI_APIVERSION)-C: Regress-$(GI_APIVERSION).gir
@-if exist $@ @rmdir /s /q $@
- $(PYTHON2) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language C .\Regress-$(GI_APIVERSION).gir -o .\$@\
+ $(PYTHON) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language C .\Regress-$(GI_APIVERSION).gir -o .\$@\
Regress-$(GI_APIVERSION)-Python: Regress-$(GI_APIVERSION).gir
@-if exist $@ @rmdir /s /q $@
- $(PYTHON2) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language Python .\Regress-$(GI_APIVERSION).gir -o .\$@\
+ $(PYTHON) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language Python .\Regress-$(GI_APIVERSION).gir -o .\$@\
Regress-$(GI_APIVERSION)-Gjs: Regress-$(GI_APIVERSION).gir
@-if exist $@ @rmdir /s /q $@
- $(PYTHON2) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language Gjs .\Regress-$(GI_APIVERSION).gir -o .\$@\
+ $(PYTHON) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --language Gjs .\Regress-$(GI_APIVERSION).gir -o .\$@\
Regress-$(GI_APIVERSION)-sections.txt: Regress-$(GI_APIVERSION).gir
- $(PYTHON2) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --write-sections-file .\Regress-$(GI_APIVERSION).gir -o $@
+ $(PYTHON) $(G_IR_DOC_TOOL_CURRENT) --add-include-path=. --write-sections-file .\Regress-$(GI_APIVERSION).gir -o $@
# Run warn tests
warn_tests_log.txt:
@-echo Runinng warn tests...
- @-set TOP_BUILDDIR=..
- @-copy GObject-$(GLIB_APIVERSION).gir ..\gir
- @-copy GLib-$(GLIB_APIVERSION).gir ..\gir
- @-for %a in (..\tests\warn\*.h) do if not "%a" == "..\tests\warn\common.h" $(PYTHON2) ..\tests\warn\warningtester.py %a >> $@
- @-del ..\gir\GObject-$(GLIB_APIVERSION).gir
- @-del ..\gir\GLib-$(GLIB_APIVERSION).gir
+ @-copy GObject-$(GLIB_APIVERSION).gir $(TOP_SRCDIR)\gir
+ @-copy GLib-$(GLIB_APIVERSION).gir $(TOP_SRCDIR)\gir
+ @-set TOP_BUILDDIR=../..
+ @-for %a in ($(TOP_SRCDIR)\tests\warn\*.h) do if not "%a" == "$(TOP_SRCDIR)\tests\warn\common.h" $(PYTHON) $(TOP_SRCDIR)\tests\warn\warningtester.py %a >> $@
+ @-del $(TOP_SRCDIR)\gir\GObject-$(GLIB_APIVERSION).gir
+ @-del $(TOP_SRCDIR)\gir\GLib-$(GLIB_APIVERSION).gir
# Rules for source code generation
everything.c everything.h:
- $(PYTHON2) $(G_IR_SCANNER_CURRENT) -I.. \
+ $(PYTHON) $(G_IR_SCANNER_CURRENT) -I$(TOP_SRCDIR) \
--generate-typelib-tests=Everything,everything.h,everything.c \
--function-decoration=_GI_TEST_EXTERN \
--include-first-in-src=config.h \
--include-last-in-header=gitestmacros.h
gitestoffsets.c: Offsets-$(GI_APIVERSION).typelib
- $(PYTHON2) ..\tests\offsets\gen-gitestoffsets ..\tests\offsets\offsets.h > $@
+ $(PYTHON) $(TOP_SRCDIR)\tests\offsets\gen-gitestoffsets $(TOP_SRCDIR)\tests\offsets\offsets.h > $@
# Generate .typelib's from generated .gir's
$(built_test_typelibs): $(built_test_girs)
@@ -276,6 +287,7 @@ clean:
@-rmdir /s /q Regress-$(GI_APIVERSION)-C
@-for %a in ($(built_test_typelibs)) do @del %a
@-for %a in ($(built_test_girs)) do @del %a
+ @-del /f/q *.ilk
@-del /f/q *.lib
@-del /f/q *.exp
@-del /f/q *.dll
diff --git a/build/gi_msvc_build_utils.py b/build/win32/gi_msvc_build_utils.py
index 150f66ec..150f66ec 100644
--- a/build/gi_msvc_build_utils.py
+++ b/build/win32/gi_msvc_build_utils.py
diff --git a/build/introspection-msvc.mak b/build/win32/introspection-msvc.mak
index 8e363a4a..6b582938 100644
--- a/build/introspection-msvc.mak
+++ b/build/win32/introspection-msvc.mak
@@ -1,27 +1,51 @@
-# Common Utility NMake Makefile Template
-# Used to Generate Introspection files for various Projects
+# Common NMake Makefile module for checking the build environment is sane
+# for building introspection files under MSVC/NMake.
+# This can be copied from $(gi_srcroot)\build\win32 for GNOME items
+# that support MSVC builds and introspection under MSVC.
-# Can Override with env vars as needed
+# Can override with env vars as needed
# You will need to have built gobject-introspection for this to work.
# Change or pass in or set the following to suit your environment
-BASEDIR = ..\..\vs$(VSVER)\$(PLAT)
-GIR_SUBDIR = share\gir-1.0
-GIR_TYPELIBDIR = lib\girepository-1.0
-G_IR_SCANNER = $(BASEDIR)\bin\g-ir-scanner
-G_IR_COMPILER = $(BASEDIR)\bin\g-ir-compiler.exe
-G_IR_INCLUDEDIR = $(BASEDIR)\$(GIR_SUBDIR)
-G_IR_TYPELIBDIR = $(BASEDIR)\$(GIR_TYPELIBDIR)
+!if "$(PREFIX)" == ""
+PREFIX = ..\..\..\vs$(VSVER)\$(PLAT)
+!endif
+
+!if ![setlocal] && \
+ ![set PFX=$(PREFIX)] && \
+ ![for %P in (%PFX%) do @echo PREFIX_FULL=%~dpnfP > pfx.x]
+!endif
+!include pfx.x
-# Note: The PYTHON2 must be a Python 2.6.x or 2.7.x Interpretor!
-# Either having python.exe from Python 2.6.x/2.7.x in your PATH will work
-# or passing in PYTHON2=<full path to your Python 2.6.x/2.7.x interpretor> will do
+!if "$(PKG_CONFIG_PATH)" == ""
+PKG_CONFIG_PATH=$(PREFIX_FULL)\lib\pkgconfig
+!else
+PKG_CONFIG_PATH=$(PREFIX_FULL)\lib\pkgconfig;$(PKG_CONFIG_PATH)
+!endif
+
+!if ![del $(ERRNUL) /q/f pfx.x]
+!endif
+
+# Note: The PYTHON must be the Python release series that was used to build
+# the GObject-introspection scanner Python module!
+# Either having python.exe your PATH will work or passing in
+# PYTHON=<full path to your Python interpretor> will do
# This is required, and gobject-introspection needs to be built
# before this can be successfully run.
-PYTHON2=python
+!if "$(PYTHON)" == ""
+PYTHON=python
+!endif
# Don't change anything following this line!
+
+GIR_SUBDIR = share\gir-1.0
+GIR_TYPELIBDIR = lib\girepository-1.0
+G_IR_SCANNER = $(PREFIX)\bin\g-ir-scanner
+G_IR_COMPILER = $(PREFIX)\bin\g-ir-compiler.exe
+G_IR_INCLUDEDIR = $(PREFIX)\$(GIR_SUBDIR)
+G_IR_TYPELIBDIR = $(PREFIX)\$(GIR_TYPELIBDIR)
+
VALID_PKG_CONFIG_PATH = FALSE
MSG_INVALID_PKGCONFIG = You must set or specifiy a valid PKG_CONFIG_PATH
@@ -31,7 +55,8 @@ ERROR_MSG =
BUILD_INTROSPECTION = TRUE
-!if ![pkg-config --print-errors --errors-to-stdout $(CHECK_PACKAGE) > pkgconfig.x] \
+!if ![set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)] \
+ && ![pkg-config --print-errors --errors-to-stdout $(CHECK_PACKAGE) > pkgconfig.x] \
&& ![setlocal] \
&& ![set file="pkgconfig.x"] \
&& ![FOR %A IN (%file%) DO @echo PKG_CHECK_SIZE=%~zA > pkgconfig.chksize] \
diff --git a/build/replace.py b/build/win32/replace.py
index 69ef417a..a81bab94 100644
--- a/build/replace.py
+++ b/build/win32/replace.py
@@ -21,12 +21,19 @@ valid_actions = ['remove-prefix',
'replace-str',
'remove-str']
-def replace(src, dest, instring, outstring):
+def replace_multi(src, dest, replace_items):
with open(src, 'r') as s:
with open(dest, 'w') as d:
for line in s:
- i = line.replace(instring, outstring)
- d.write(i)
+ replace_dict = dict((re.escape(key), value) \
+ for key, value in replace_items.items())
+ replace_pattern = re.compile("|".join(replace_dict.keys()))
+ d.write(replace_pattern.sub(lambda m: \
+ replace_dict[re.escape(m.group(0))], line))
+
+def replace(src, dest, instring, outstring):
+ replace_item = {instring: outstring}
+ replace_multi(src, dest, replace_item)
def check_required_args(args, params):
for param in params:
diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am
index 297224c2..c22e86cf 100644
--- a/build/win32/vs10/Makefile.am
+++ b/build/win32/vs10/Makefile.am
@@ -29,7 +29,7 @@ EXTRA_DIST = \
glib-print.vcxproj.filters \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
- install.vcxproj \
+ gi-install.vcxproj \
README.txt \
$(GENERATED_ITEMS)
diff --git a/build/win32/vs10/Makefile.in b/build/win32/vs10/Makefile.in
index d769504a..dea496a3 100644
--- a/build/win32/vs10/Makefile.in
+++ b/build/win32/vs10/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = build/win32/vs10
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -87,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -111,6 +121,7 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -173,6 +184,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -194,6 +206,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -280,6 +293,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -319,7 +333,7 @@ EXTRA_DIST = \
glib-print.vcxproj.filters \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
- install.vcxproj \
+ gi-install.vcxproj \
README.txt \
$(GENERATED_ITEMS)
@@ -339,7 +353,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign build/win32/vs10/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign build/win32/vs10/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -515,6 +528,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
gi-install.props: $(top_srcdir)/build/win32/vs10/gi-install.propsin girepository.vs10.headers giscanner.vs10.scripts
$(CPP) -P - <$(top_srcdir)/build/win32/vs10/gi-install.propsin >$@
diff --git a/build/win32/vs10/README.txt b/build/win32/vs10/README.txt
index f682fe3c..54afd998 100644
--- a/build/win32/vs10/README.txt
+++ b/build/win32/vs10/README.txt
@@ -12,8 +12,9 @@ This VS10 solution and the projects it includes are intented to be used
in a gobject-introspection source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment, which will do the work for you.
-The required dependencies are Python 2.6 or later, GLib and LibFFI. It is recommended
-that GLib is built with Visual C++ 2010 to avoid problems cause by usage of different CRTs
+The required dependencies are Python 2.7 (2.7) or 3.3 (3.x) or later, GLib and LibFFI.
+It is recommended that GLib is built with Visual C++ 2010 to avoid problems cause by
+usage of different CRTs.
Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs10 on how to build
GLib using Visual C++ 2010
@@ -24,9 +25,12 @@ comes with the LibFFI source package for more details on how to build LibFFI
on Visual C++-please note that the mozilla-build package from Mozilla is needed
in order to build LibFFI on Windows.
-For Python, retrieving the official Windows binaries for 2.6 or later from
-http://www.python.org will do the job-be sure that the Python version that
-you downloaded matches the configuration of your build (win32 or x64/amd64).
+For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
+from http://www.python.org will do the job-be sure that the Python version that
+you downloaded matches the configuration of your build (win32 or x64/amd64). Ensure that
+the correct path for your Python interpretor is set in gi-extra-paths.vsprops prior to
+opening the project files, or close the project files and delete all the *.user, *.sdf and
+*.suo files and reopening the project files.
For building the Regress test project, cairo (and possibly cairo-gobject support)
is needed.
@@ -48,15 +52,15 @@ into <root>\vs10\<PlatformName>\include\ and the compiled static libffi.lib
<root>\vs10\<PlatformName>\lib\.
The libintl.h that is used for building GLib needs to be in
-<root>\vs10\<PlatformName>\include, if not already done so.
+<root>\vs10\<PlatformName>\include, if not already done so.
A working pkg-config tool is also required-it may be obtained from
http://www.gtk.org/download/win32.php [32-bit]
http://www.gtk.org/download/win64.php [64-bit]
*** Note! ***
-Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that
+Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,
+the build of G-I is now a 2-step process: one with the Visual Studio Projects that
will build the libraries, tools, Python Module and test DLLs (except for the everything
test), and the other one with NMake Makefiles for building the introspection files.
Please note that if one needs to change the installation location
@@ -68,13 +72,13 @@ variables, but the following environmental variables are needed (either by using
or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which
should be done after successfully building the Project Files):
-PYTHON2: Full path to your Python 2.6.x/2.7.x interpretor (python.exe) if it is
- not in your PATH. Please note that only 2.6.x and 2.7.x works at this time.
- You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
- version of Python for Win32/x86 builds
+PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is
+ not in your PATH. Please note that only 2.7.x and 3.3.x and later works.
+ You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
+ version of Python for Win32/x86 builds
PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.
-Please see $(srcroot)\build\gi-introspection-msvc.mak for more details. Doing
+Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details. Doing
"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,
and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection
files to <root>\vs10\<PlatformName>\share\gir-1.0 (.gir files) and
diff --git a/build/win32/vs10/cmph-bdz-test.vcxproj b/build/win32/vs10/cmph-bdz-test.vcxproj
index 2086b344..5ea7323e 100644
--- a/build/win32/vs10/cmph-bdz-test.vcxproj
+++ b/build/win32/vs10/cmph-bdz-test.vcxproj
@@ -110,7 +110,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -157,7 +156,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/g-ir-compiler.vcxproj b/build/win32/vs10/g-ir-compiler.vcxproj
index 92cd5e2c..92d11910 100644
--- a/build/win32/vs10/g-ir-compiler.vcxproj
+++ b/build/win32/vs10/g-ir-compiler.vcxproj
@@ -133,7 +133,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -158,10 +157,8 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/g-ir-compiler.vcxprojin b/build/win32/vs10/g-ir-compiler.vcxprojin
index 9ba5efbf..0f4af14c 100644
--- a/build/win32/vs10/g-ir-compiler.vcxprojin
+++ b/build/win32/vs10/g-ir-compiler.vcxprojin
@@ -133,7 +133,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -158,10 +157,8 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/g-ir-generate.vcxproj b/build/win32/vs10/g-ir-generate.vcxproj
index afa3b13e..cdbf2200 100644
--- a/build/win32/vs10/g-ir-generate.vcxproj
+++ b/build/win32/vs10/g-ir-generate.vcxproj
@@ -107,7 +107,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -152,7 +151,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/gi-build-defines.props b/build/win32/vs10/gi-build-defines.props
index 56e79863..2d60f33e 100644
--- a/build/win32/vs10/gi-build-defines.props
+++ b/build/win32/vs10/gi-build-defines.props
@@ -14,7 +14,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
diff --git a/build/win32/vs10/gi-extra-paths.props b/build/win32/vs10/gi-extra-paths.props
index 13819019..d4996471 100644
--- a/build/win32/vs10/gi-extra-paths.props
+++ b/build/win32/vs10/gi-extra-paths.props
@@ -4,9 +4,9 @@
<Import Project="gi-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
- <!-- PythonDir currently needs to point to a 32-bit/x86 Python 2.6/2.7 installation -->
- <PythonDir>c:\\python27</PythonDir>
- <!-- PythonDirX64 currently needs to point to an x86-64/x64 Python 2.6/2.7 installation -->
+ <!-- PythonDir needs to point to a 32-bit/x86 Python 2.7/3.3+ installation -->
+ <PythonDir>c:\\python34</PythonDir>
+ <!-- PythonDirX64 needs to point to an x86-64/x64 Python 2.7/3.3+ installation -->
<PythonDirX64>$(PythonDir).x64</PythonDirX64>
</PropertyGroup>
<PropertyGroup>
diff --git a/build/win32/vs10/gi-gen-srcs.props b/build/win32/vs10/gi-gen-srcs.props
index caaa2526..37a06c1d 100644
--- a/build/win32/vs10/gi-gen-srcs.props
+++ b/build/win32/vs10/gi-gen-srcs.props
@@ -5,8 +5,8 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
- <GenToolsScripts>$(PythonDir)\python ..\..\..\build\gen-win32-g-ir-tools.py</GenToolsScripts>
- <GenToolsScriptsX64>$(PythonDirX64)\python ..\..\..\build\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
+ <GenToolsScripts>$(PythonDir)\python ..\gen-win32-g-ir-tools.py</GenToolsScripts>
+ <GenToolsScriptsX64>$(PythonDirX64)\python ..\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gigensrcsprops</_PropertySheetDisplayName>
diff --git a/build/win32/vs10/gi-install.props b/build/win32/vs10/gi-install.props
index b3843547..d9ff63ea 100644
--- a/build/win32/vs10/gi-install.props
+++ b/build/win32/vs10/gi-install.props
@@ -5,8 +5,6 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
- <InstalledDlls>$(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll;$(BinDir)\_giscanner.pyd</InstalledDlls>
- <InstalledBins>$(BinDir)\g-ir-compiler.exe;$(BinDir)\g-ir-generate.exe;..\..\..\tools\g-ir-annotation-tool;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-scanner</InstalledBins>
<GIDoInstall>
mkdir $(CopyDir)
mkdir $(CopyDir)\bin
@@ -123,6 +121,12 @@ copy ..\..\..\giscanner\doctemplates\Gjs\property.tmpl $(CopyDir)\lib\gobject-in
copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests
copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
mkdir $(CopyDir)\share\gir-$(ApiVersion)
@@ -132,7 +136,7 @@ mkdir $(CopyDir)\lib\girepository-$(ApiVersion)
copy $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection files
+echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
</GIDoInstall>
</PropertyGroup>
<PropertyGroup>
@@ -142,12 +146,6 @@ echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection file
<BuildMacro Include="BinDir">
<Value>$(BinDir)</Value>
</BuildMacro>
- <BuildMacro Include="InstalledDlls">
- <Value>$(InstalledDlls)</Value>
- </BuildMacro>
- <BuildMacro Include="InstalledBins">
- <Value>$(InstalledBins)</Value>
- </BuildMacro>
<BuildMacro Include="GIDoInstall">
<Value>$(GIDoInstall)</Value>
</BuildMacro>
diff --git a/build/win32/vs10/gi-install.propsin b/build/win32/vs10/gi-install.propsin
index bf2c0b71..ae32fc2c 100644
--- a/build/win32/vs10/gi-install.propsin
+++ b/build/win32/vs10/gi-install.propsin
@@ -5,8 +5,6 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
- <InstalledDlls>$(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll;$(BinDir)\_giscanner.pyd</InstalledDlls>
- <InstalledBins>$(BinDir)\g-ir-compiler.exe;$(BinDir)\g-ir-generate.exe;..\..\..\tools\g-ir-annotation-tool;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-scanner</InstalledBins>
<GIDoInstall>
mkdir $(CopyDir)
mkdir $(CopyDir)\bin
@@ -28,6 +26,13 @@ mkdir $(CopyDir)\include\gobject-introspection-1.0\girepository
#include "girepository.vs10.headers"
#include "giscanner.vs10.scripts"
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests
+
copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
@@ -40,7 +45,7 @@ copy $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection files
+echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
</GIDoInstall>
</PropertyGroup>
<PropertyGroup>
@@ -50,12 +55,6 @@ echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection file
<BuildMacro Include="BinDir">
<Value>$(BinDir)</Value>
</BuildMacro>
- <BuildMacro Include="InstalledDlls">
- <Value>$(InstalledDlls)</Value>
- </BuildMacro>
- <BuildMacro Include="InstalledBins">
- <Value>$(InstalledBins)</Value>
- </BuildMacro>
<BuildMacro Include="GIDoInstall">
<Value>$(GIDoInstall)</Value>
</BuildMacro>
diff --git a/build/win32/vs10/install.vcxproj b/build/win32/vs10/gi-install.vcxproj
index 808acd46..fbb757f9 100644
--- a/build/win32/vs10/install.vcxproj
+++ b/build/win32/vs10/gi-install.vcxproj
@@ -88,16 +88,16 @@
<CustomBuild Include="..\..\..\config.h.win32">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">some_random_file;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
@@ -121,4 +121,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/build/win32/vs10/gi-prebuild.vcxproj b/build/win32/vs10/gi-prebuild.vcxproj
index 755e60fb..19ba7fb0 100644
--- a/build/win32/vs10/gi-prebuild.vcxproj
+++ b/build/win32/vs10/gi-prebuild.vcxproj
@@ -100,10 +100,10 @@
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenToolsScripts)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating Tools Scripts...</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenToolsScripts)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenToolsScriptsX64)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating Tools Scripts...</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenToolsScriptsX64)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenToolsScripts)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating Tools Scripts...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenToolsScriptsX64)</Command>
diff --git a/build/win32/vs10/girepository.vcxproj b/build/win32/vs10/girepository.vcxproj
index a5fb26c5..b2353104 100644
--- a/build/win32/vs10/girepository.vcxproj
+++ b/build/win32/vs10/girepository.vcxproj
@@ -117,7 +117,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -172,7 +171,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/girepository.vcxprojin b/build/win32/vs10/girepository.vcxprojin
index dcd9bc92..3824bb8a 100644
--- a/build/win32/vs10/girepository.vcxprojin
+++ b/build/win32/vs10/girepository.vcxprojin
@@ -117,7 +117,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -172,7 +171,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/glib-print.vcxproj b/build/win32/vs10/glib-print.vcxproj
index 0c3e49c6..9c14a13d 100644
--- a/build/win32/vs10/glib-print.vcxproj
+++ b/build/win32/vs10/glib-print.vcxproj
@@ -107,7 +107,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -152,7 +151,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs10/gobject-introspection.sln b/build/win32/vs10/gobject-introspection.sln
index 49271a54..25bb9219 100644
--- a/build/win32/vs10/gobject-introspection.sln
+++ b/build/win32/vs10/gobject-introspection.sln
@@ -17,7 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-gener
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/build/win32/vs11/Makefile.am b/build/win32/vs11/Makefile.am
index 6dd3b650..9c19974c 100644
--- a/build/win32/vs11/Makefile.am
+++ b/build/win32/vs11/Makefile.am
@@ -20,7 +20,7 @@ EXTRA_DIST = \
glib-print.vcxproj.filters \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
- install.vcxproj \
+ gi-install.vcxproj \
README.txt
DISTCLEANFILES = $(EXTRA_DIST)
diff --git a/build/win32/vs11/Makefile.in b/build/win32/vs11/Makefile.in
index a36e474f..27015680 100644
--- a/build/win32/vs11/Makefile.in
+++ b/build/win32/vs11/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -29,7 +29,17 @@
# MSVC_VER: Short Version of Visual Studio (11 for 2012, 12 for 2013, 14 for 2015 and so on)
# MSVC_FORMAT_VER: Use 12 for MSVC 2012 through 2015
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -92,8 +102,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/build/Makefile-newvs.am \
- $(srcdir)/Makefile.in $(srcdir)/Makefile.am
subdir = build/win32/vs11
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -103,6 +111,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -127,6 +136,8 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/build/Makefile-newvs.am
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -189,6 +200,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -210,6 +222,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -296,6 +309,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -326,7 +340,7 @@ EXTRA_DIST = \
glib-print.vcxproj.filters \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
- install.vcxproj \
+ gi-install.vcxproj \
README.txt
DISTCLEANFILES = $(EXTRA_DIST)
@@ -348,7 +362,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign build/win32/vs11/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign build/win32/vs11/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -357,7 +370,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/build/Makefile-newvs.am:
+$(top_srcdir)/build/Makefile-newvs.am $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -525,6 +538,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
%.sln:
sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp
diff --git a/build/win32/vs11/README.txt b/build/win32/vs11/README.txt
index 76c1d40d..0e0efa5e 100644
--- a/build/win32/vs11/README.txt
+++ b/build/win32/vs11/README.txt
@@ -12,8 +12,9 @@ This VS11 solution and the projects it includes are intented to be used
in a gobject-introspection source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment, which will do the work for you.
-The required dependencies are Python 2.6 or later, GLib and LibFFI. It is recommended
-that GLib is built with Visual C++ 2010 to avoid problems cause by usage of different CRTs
+The required dependencies are Python 2.7 (2.7) or 3.3 (3.x) or later, GLib and LibFFI.
+It is recommended that GLib is built with Visual C++ 2010 to avoid problems cause by
+usage of different CRTs.
Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs11 on how to build
GLib using Visual C++ 2010
@@ -24,9 +25,12 @@ comes with the LibFFI source package for more details on how to build LibFFI
on Visual C++-please note that the mozilla-build package from Mozilla is needed
in order to build LibFFI on Windows.
-For Python, retrieving the official Windows binaries for 2.6 or later from
-http://www.python.org will do the job-be sure that the Python version that
-you downloaded matches the configuration of your build (win32 or x64/amd64).
+For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
+from http://www.python.org will do the job-be sure that the Python version that
+you downloaded matches the configuration of your build (win32 or x64/amd64). Ensure that
+the correct path for your Python interpretor is set in gi-extra-paths.vsprops prior to
+opening the project files, or close the project files and delete all the *.user, *.sdf and
+*.suo files and reopening the project files.
For building the Regress test project, cairo (and possibly cairo-gobject support)
is needed.
@@ -48,15 +52,15 @@ into <root>\vs11\<PlatformName>\include\ and the compiled static libffi.lib
<root>\vs11\<PlatformName>\lib\.
The libintl.h that is used for building GLib needs to be in
-<root>\vs11\<PlatformName>\include, if not already done so.
+<root>\vs11\<PlatformName>\include, if not already done so.
A working pkg-config tool is also required-it may be obtained from
http://www.gtk.org/download/win32.php [32-bit]
http://www.gtk.org/download/win64.php [64-bit]
*** Note! ***
-Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that
+Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,
+the build of G-I is now a 2-step process: one with the Visual Studio Projects that
will build the libraries, tools, Python Module and test DLLs (except for the everything
test), and the other one with NMake Makefiles for building the introspection files.
Please note that if one needs to change the installation location
@@ -68,13 +72,13 @@ variables, but the following environmental variables are needed (either by using
or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which
should be done after successfully building the Project Files):
-PYTHON2: Full path to your Python 2.6.x/2.7.x interpretor (python.exe) if it is
- not in your PATH. Please note that only 2.6.x and 2.7.x works at this time.
- You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
- version of Python for Win32/x86 builds
+PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is
+ not in your PATH. Please note that only 2.7.x and 3.3.x and later works.
+ You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
+ version of Python for Win32/x86 builds
PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.
-Please see $(srcroot)\build\gi-introspection-msvc.mak for more details. Doing
+Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details. Doing
"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,
and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection
files to <root>\vs11\<PlatformName>\share\gir-1.0 (.gir files) and
diff --git a/build/win32/vs11/cmph-bdz-test.vcxproj b/build/win32/vs11/cmph-bdz-test.vcxproj
index e69c4ec6..b33e6909 100644
--- a/build/win32/vs11/cmph-bdz-test.vcxproj
+++ b/build/win32/vs11/cmph-bdz-test.vcxproj
@@ -110,7 +110,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -157,7 +156,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs11/g-ir-compiler.vcxproj b/build/win32/vs11/g-ir-compiler.vcxproj
index 9c4c3355..fd358b9f 100644
--- a/build/win32/vs11/g-ir-compiler.vcxproj
+++ b/build/win32/vs11/g-ir-compiler.vcxproj
@@ -133,7 +133,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -158,10 +157,8 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs11/g-ir-generate.vcxproj b/build/win32/vs11/g-ir-generate.vcxproj
index 08dafb86..875d00ad 100644
--- a/build/win32/vs11/g-ir-generate.vcxproj
+++ b/build/win32/vs11/g-ir-generate.vcxproj
@@ -107,7 +107,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -152,7 +151,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs11/gi-build-defines.props b/build/win32/vs11/gi-build-defines.props
index 56e79863..2d60f33e 100644
--- a/build/win32/vs11/gi-build-defines.props
+++ b/build/win32/vs11/gi-build-defines.props
@@ -14,7 +14,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
diff --git a/build/win32/vs11/gi-extra-paths.props b/build/win32/vs11/gi-extra-paths.props
index 13819019..d4996471 100644
--- a/build/win32/vs11/gi-extra-paths.props
+++ b/build/win32/vs11/gi-extra-paths.props
@@ -4,9 +4,9 @@
<Import Project="gi-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
- <!-- PythonDir currently needs to point to a 32-bit/x86 Python 2.6/2.7 installation -->
- <PythonDir>c:\\python27</PythonDir>
- <!-- PythonDirX64 currently needs to point to an x86-64/x64 Python 2.6/2.7 installation -->
+ <!-- PythonDir needs to point to a 32-bit/x86 Python 2.7/3.3+ installation -->
+ <PythonDir>c:\\python34</PythonDir>
+ <!-- PythonDirX64 needs to point to an x86-64/x64 Python 2.7/3.3+ installation -->
<PythonDirX64>$(PythonDir).x64</PythonDirX64>
</PropertyGroup>
<PropertyGroup>
diff --git a/build/win32/vs11/gi-gen-srcs.props b/build/win32/vs11/gi-gen-srcs.props
index caaa2526..37a06c1d 100644
--- a/build/win32/vs11/gi-gen-srcs.props
+++ b/build/win32/vs11/gi-gen-srcs.props
@@ -5,8 +5,8 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
- <GenToolsScripts>$(PythonDir)\python ..\..\..\build\gen-win32-g-ir-tools.py</GenToolsScripts>
- <GenToolsScriptsX64>$(PythonDirX64)\python ..\..\..\build\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
+ <GenToolsScripts>$(PythonDir)\python ..\gen-win32-g-ir-tools.py</GenToolsScripts>
+ <GenToolsScriptsX64>$(PythonDirX64)\python ..\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gigensrcsprops</_PropertySheetDisplayName>
diff --git a/build/win32/vs11/gi-install.props b/build/win32/vs11/gi-install.props
index b3843547..d9ff63ea 100644
--- a/build/win32/vs11/gi-install.props
+++ b/build/win32/vs11/gi-install.props
@@ -5,8 +5,6 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
- <InstalledDlls>$(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll;$(BinDir)\_giscanner.pyd</InstalledDlls>
- <InstalledBins>$(BinDir)\g-ir-compiler.exe;$(BinDir)\g-ir-generate.exe;..\..\..\tools\g-ir-annotation-tool;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-scanner</InstalledBins>
<GIDoInstall>
mkdir $(CopyDir)
mkdir $(CopyDir)\bin
@@ -123,6 +121,12 @@ copy ..\..\..\giscanner\doctemplates\Gjs\property.tmpl $(CopyDir)\lib\gobject-in
copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests
copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
mkdir $(CopyDir)\share\gir-$(ApiVersion)
@@ -132,7 +136,7 @@ mkdir $(CopyDir)\lib\girepository-$(ApiVersion)
copy $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection files
+echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
</GIDoInstall>
</PropertyGroup>
<PropertyGroup>
@@ -142,12 +146,6 @@ echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection file
<BuildMacro Include="BinDir">
<Value>$(BinDir)</Value>
</BuildMacro>
- <BuildMacro Include="InstalledDlls">
- <Value>$(InstalledDlls)</Value>
- </BuildMacro>
- <BuildMacro Include="InstalledBins">
- <Value>$(InstalledBins)</Value>
- </BuildMacro>
<BuildMacro Include="GIDoInstall">
<Value>$(GIDoInstall)</Value>
</BuildMacro>
diff --git a/build/win32/vs11/install.vcxproj b/build/win32/vs11/gi-install.vcxproj
index 0ba6263c..310873c0 100644
--- a/build/win32/vs11/install.vcxproj
+++ b/build/win32/vs11/gi-install.vcxproj
@@ -88,16 +88,16 @@
<CustomBuild Include="..\..\..\config.h.win32">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">some_random_file;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
@@ -121,4 +121,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/build/win32/vs11/gi-prebuild.vcxproj b/build/win32/vs11/gi-prebuild.vcxproj
index 62172761..9de5be93 100644
--- a/build/win32/vs11/gi-prebuild.vcxproj
+++ b/build/win32/vs11/gi-prebuild.vcxproj
@@ -100,10 +100,10 @@
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenToolsScripts)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating Tools Scripts...</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenToolsScripts)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenToolsScriptsX64)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating Tools Scripts...</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenToolsScriptsX64)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenToolsScripts)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating Tools Scripts...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenToolsScriptsX64)</Command>
diff --git a/build/win32/vs11/girepository.vcxproj b/build/win32/vs11/girepository.vcxproj
index d9f78b68..3ebbaf1f 100644
--- a/build/win32/vs11/girepository.vcxproj
+++ b/build/win32/vs11/girepository.vcxproj
@@ -117,7 +117,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -172,7 +171,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs11/glib-print.vcxproj b/build/win32/vs11/glib-print.vcxproj
index b59df753..a778bf8b 100644
--- a/build/win32/vs11/glib-print.vcxproj
+++ b/build/win32/vs11/glib-print.vcxproj
@@ -107,7 +107,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -152,7 +151,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs11/gobject-introspection.sln b/build/win32/vs11/gobject-introspection.sln
index 579f6ff8..2833b3da 100644
--- a/build/win32/vs11/gobject-introspection.sln
+++ b/build/win32/vs11/gobject-introspection.sln
@@ -17,7 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-gener
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/build/win32/vs12/Makefile.am b/build/win32/vs12/Makefile.am
index c4b8bc5c..2ec8bd1a 100644
--- a/build/win32/vs12/Makefile.am
+++ b/build/win32/vs12/Makefile.am
@@ -20,7 +20,7 @@ EXTRA_DIST = \
glib-print.vcxproj.filters \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
- install.vcxproj \
+ gi-install.vcxproj \
README.txt
DISTCLEANFILES = $(EXTRA_DIST)
diff --git a/build/win32/vs12/Makefile.in b/build/win32/vs12/Makefile.in
index 1a7807c8..8b82afa4 100644
--- a/build/win32/vs12/Makefile.in
+++ b/build/win32/vs12/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -29,7 +29,17 @@
# MSVC_VER: Short Version of Visual Studio (11 for 2012, 12 for 2013, 14 for 2015 and so on)
# MSVC_FORMAT_VER: Use 12 for MSVC 2012 through 2015
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -92,8 +102,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/build/Makefile-newvs.am \
- $(srcdir)/Makefile.in $(srcdir)/Makefile.am
subdir = build/win32/vs12
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -103,6 +111,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -127,6 +136,8 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/build/Makefile-newvs.am
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -189,6 +200,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -210,6 +222,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -296,6 +309,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -326,7 +340,7 @@ EXTRA_DIST = \
glib-print.vcxproj.filters \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
- install.vcxproj \
+ gi-install.vcxproj \
README.txt
DISTCLEANFILES = $(EXTRA_DIST)
@@ -348,7 +362,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign build/win32/vs12/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign build/win32/vs12/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -357,7 +370,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/build/Makefile-newvs.am:
+$(top_srcdir)/build/Makefile-newvs.am $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -525,6 +538,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
%.sln:
sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp
diff --git a/build/win32/vs12/README.txt b/build/win32/vs12/README.txt
index 3c5dd02f..b717ea3d 100644
--- a/build/win32/vs12/README.txt
+++ b/build/win32/vs12/README.txt
@@ -12,8 +12,9 @@ This VS12 solution and the projects it includes are intented to be used
in a gobject-introspection source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment, which will do the work for you.
-The required dependencies are Python 2.6 or later, GLib and LibFFI. It is recommended
-that GLib is built with Visual C++ 2010 to avoid problems cause by usage of different CRTs
+The required dependencies are Python 2.7 (2.7) or 3.3 (3.x) or later, GLib and LibFFI.
+It is recommended that GLib is built with Visual C++ 2010 to avoid problems cause by
+usage of different CRTs.
Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs12 on how to build
GLib using Visual C++ 2010
@@ -24,9 +25,12 @@ comes with the LibFFI source package for more details on how to build LibFFI
on Visual C++-please note that the mozilla-build package from Mozilla is needed
in order to build LibFFI on Windows.
-For Python, retrieving the official Windows binaries for 2.6 or later from
-http://www.python.org will do the job-be sure that the Python version that
-you downloaded matches the configuration of your build (win32 or x64/amd64).
+For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
+from http://www.python.org will do the job-be sure that the Python version that
+you downloaded matches the configuration of your build (win32 or x64/amd64). Ensure that
+the correct path for your Python interpretor is set in gi-extra-paths.vsprops prior to
+opening the project files, or close the project files and delete all the *.user, *.sdf and
+*.suo files and reopening the project files.
For building the Regress test project, cairo (and possibly cairo-gobject support)
is needed.
@@ -48,15 +52,15 @@ into <root>\vs12\<PlatformName>\include\ and the compiled static libffi.lib
<root>\vs12\<PlatformName>\lib\.
The libintl.h that is used for building GLib needs to be in
-<root>\vs12\<PlatformName>\include, if not already done so.
+<root>\vs12\<PlatformName>\include, if not already done so.
A working pkg-config tool is also required-it may be obtained from
http://www.gtk.org/download/win32.php [32-bit]
http://www.gtk.org/download/win64.php [64-bit]
*** Note! ***
-Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that
+Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,
+the build of G-I is now a 2-step process: one with the Visual Studio Projects that
will build the libraries, tools, Python Module and test DLLs (except for the everything
test), and the other one with NMake Makefiles for building the introspection files.
Please note that if one needs to change the installation location
@@ -68,13 +72,13 @@ variables, but the following environmental variables are needed (either by using
or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which
should be done after successfully building the Project Files):
-PYTHON2: Full path to your Python 2.6.x/2.7.x interpretor (python.exe) if it is
- not in your PATH. Please note that only 2.6.x and 2.7.x works at this time.
- You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
- version of Python for Win32/x86 builds
+PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is
+ not in your PATH. Please note that only 2.7.x and 3.3.x and later works.
+ You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
+ version of Python for Win32/x86 builds
PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.
-Please see $(srcroot)\build\gi-introspection-msvc.mak for more details. Doing
+Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details. Doing
"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,
and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection
files to <root>\vs12\<PlatformName>\share\gir-1.0 (.gir files) and
diff --git a/build/win32/vs12/cmph-bdz-test.vcxproj b/build/win32/vs12/cmph-bdz-test.vcxproj
index 11e6738d..dd38bf16 100644
--- a/build/win32/vs12/cmph-bdz-test.vcxproj
+++ b/build/win32/vs12/cmph-bdz-test.vcxproj
@@ -110,7 +110,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -157,7 +156,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs12/g-ir-compiler.vcxproj b/build/win32/vs12/g-ir-compiler.vcxproj
index af3a8f96..c6855b13 100644
--- a/build/win32/vs12/g-ir-compiler.vcxproj
+++ b/build/win32/vs12/g-ir-compiler.vcxproj
@@ -133,7 +133,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -158,10 +157,8 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs12/g-ir-generate.vcxproj b/build/win32/vs12/g-ir-generate.vcxproj
index 1c9dd5be..673a3fd9 100644
--- a/build/win32/vs12/g-ir-generate.vcxproj
+++ b/build/win32/vs12/g-ir-generate.vcxproj
@@ -107,7 +107,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -152,7 +151,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs12/gi-build-defines.props b/build/win32/vs12/gi-build-defines.props
index 56e79863..2d60f33e 100644
--- a/build/win32/vs12/gi-build-defines.props
+++ b/build/win32/vs12/gi-build-defines.props
@@ -14,7 +14,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
diff --git a/build/win32/vs12/gi-extra-paths.props b/build/win32/vs12/gi-extra-paths.props
index 13819019..d4996471 100644
--- a/build/win32/vs12/gi-extra-paths.props
+++ b/build/win32/vs12/gi-extra-paths.props
@@ -4,9 +4,9 @@
<Import Project="gi-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
- <!-- PythonDir currently needs to point to a 32-bit/x86 Python 2.6/2.7 installation -->
- <PythonDir>c:\\python27</PythonDir>
- <!-- PythonDirX64 currently needs to point to an x86-64/x64 Python 2.6/2.7 installation -->
+ <!-- PythonDir needs to point to a 32-bit/x86 Python 2.7/3.3+ installation -->
+ <PythonDir>c:\\python34</PythonDir>
+ <!-- PythonDirX64 needs to point to an x86-64/x64 Python 2.7/3.3+ installation -->
<PythonDirX64>$(PythonDir).x64</PythonDirX64>
</PropertyGroup>
<PropertyGroup>
diff --git a/build/win32/vs12/gi-gen-srcs.props b/build/win32/vs12/gi-gen-srcs.props
index caaa2526..37a06c1d 100644
--- a/build/win32/vs12/gi-gen-srcs.props
+++ b/build/win32/vs12/gi-gen-srcs.props
@@ -5,8 +5,8 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
- <GenToolsScripts>$(PythonDir)\python ..\..\..\build\gen-win32-g-ir-tools.py</GenToolsScripts>
- <GenToolsScriptsX64>$(PythonDirX64)\python ..\..\..\build\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
+ <GenToolsScripts>$(PythonDir)\python ..\gen-win32-g-ir-tools.py</GenToolsScripts>
+ <GenToolsScriptsX64>$(PythonDirX64)\python ..\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gigensrcsprops</_PropertySheetDisplayName>
diff --git a/build/win32/vs12/gi-install.props b/build/win32/vs12/gi-install.props
index b3843547..d9ff63ea 100644
--- a/build/win32/vs12/gi-install.props
+++ b/build/win32/vs12/gi-install.props
@@ -5,8 +5,6 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
- <InstalledDlls>$(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll;$(BinDir)\_giscanner.pyd</InstalledDlls>
- <InstalledBins>$(BinDir)\g-ir-compiler.exe;$(BinDir)\g-ir-generate.exe;..\..\..\tools\g-ir-annotation-tool;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-scanner</InstalledBins>
<GIDoInstall>
mkdir $(CopyDir)
mkdir $(CopyDir)\bin
@@ -123,6 +121,12 @@ copy ..\..\..\giscanner\doctemplates\Gjs\property.tmpl $(CopyDir)\lib\gobject-in
copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests
copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
mkdir $(CopyDir)\share\gir-$(ApiVersion)
@@ -132,7 +136,7 @@ mkdir $(CopyDir)\lib\girepository-$(ApiVersion)
copy $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection files
+echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
</GIDoInstall>
</PropertyGroup>
<PropertyGroup>
@@ -142,12 +146,6 @@ echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection file
<BuildMacro Include="BinDir">
<Value>$(BinDir)</Value>
</BuildMacro>
- <BuildMacro Include="InstalledDlls">
- <Value>$(InstalledDlls)</Value>
- </BuildMacro>
- <BuildMacro Include="InstalledBins">
- <Value>$(InstalledBins)</Value>
- </BuildMacro>
<BuildMacro Include="GIDoInstall">
<Value>$(GIDoInstall)</Value>
</BuildMacro>
diff --git a/build/win32/vs12/install.vcxproj b/build/win32/vs12/gi-install.vcxproj
index 0e9926db..34bc42fa 100644
--- a/build/win32/vs12/install.vcxproj
+++ b/build/win32/vs12/gi-install.vcxproj
@@ -88,16 +88,16 @@
<CustomBuild Include="..\..\..\config.h.win32">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">some_random_file;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
@@ -121,4 +121,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/build/win32/vs12/gi-prebuild.vcxproj b/build/win32/vs12/gi-prebuild.vcxproj
index 379b36d8..0d521da3 100644
--- a/build/win32/vs12/gi-prebuild.vcxproj
+++ b/build/win32/vs12/gi-prebuild.vcxproj
@@ -100,10 +100,10 @@
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenToolsScripts)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating Tools Scripts...</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenToolsScripts)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenToolsScriptsX64)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating Tools Scripts...</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenToolsScriptsX64)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenToolsScripts)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating Tools Scripts...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenToolsScriptsX64)</Command>
diff --git a/build/win32/vs12/girepository.vcxproj b/build/win32/vs12/girepository.vcxproj
index 73902a03..68a11068 100644
--- a/build/win32/vs12/girepository.vcxproj
+++ b/build/win32/vs12/girepository.vcxproj
@@ -117,7 +117,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -172,7 +171,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs12/glib-print.vcxproj b/build/win32/vs12/glib-print.vcxproj
index 21c0e816..866a4a01 100644
--- a/build/win32/vs12/glib-print.vcxproj
+++ b/build/win32/vs12/glib-print.vcxproj
@@ -107,7 +107,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -152,7 +151,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs12/gobject-introspection.sln b/build/win32/vs12/gobject-introspection.sln
index e193202c..7ee76e65 100644
--- a/build/win32/vs12/gobject-introspection.sln
+++ b/build/win32/vs12/gobject-introspection.sln
@@ -17,7 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-gener
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/build/win32/vs14/Makefile.am b/build/win32/vs14/Makefile.am
index f6138f22..cc958310 100644
--- a/build/win32/vs14/Makefile.am
+++ b/build/win32/vs14/Makefile.am
@@ -20,7 +20,7 @@ EXTRA_DIST = \
glib-print.vcxproj.filters \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
- install.vcxproj \
+ gi-install.vcxproj \
README.txt
DISTCLEANFILES = $(EXTRA_DIST)
diff --git a/build/win32/vs14/Makefile.in b/build/win32/vs14/Makefile.in
index b0e5eea1..650dfd89 100644
--- a/build/win32/vs14/Makefile.in
+++ b/build/win32/vs14/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -29,7 +29,17 @@
# MSVC_VER: Short Version of Visual Studio (11 for 2012, 12 for 2013, 14 for 2015 and so on)
# MSVC_FORMAT_VER: Use 12 for MSVC 2012 through 2015
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -92,8 +102,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/build/Makefile-newvs.am \
- $(srcdir)/Makefile.in $(srcdir)/Makefile.am
subdir = build/win32/vs14
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -103,6 +111,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -127,6 +136,8 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/build/Makefile-newvs.am
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -189,6 +200,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -210,6 +222,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -296,6 +309,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -326,7 +340,7 @@ EXTRA_DIST = \
glib-print.vcxproj.filters \
_giscanner.vcxproj \
_giscanner.vcxproj.filters \
- install.vcxproj \
+ gi-install.vcxproj \
README.txt
DISTCLEANFILES = $(EXTRA_DIST)
@@ -348,7 +362,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign build/win32/vs14/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign build/win32/vs14/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -357,7 +370,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/build/Makefile-newvs.am:
+$(top_srcdir)/build/Makefile-newvs.am $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -525,6 +538,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
%.sln:
sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' < $(top_srcdir)/build/win32/vs10/$@ > $(top_builddir)/build/win32/vs$(MSVC_VER)/$@.tmp
diff --git a/build/win32/vs14/README.txt b/build/win32/vs14/README.txt
index 476f97a1..7cc3c576 100644
--- a/build/win32/vs14/README.txt
+++ b/build/win32/vs14/README.txt
@@ -12,8 +12,9 @@ This VS14 solution and the projects it includes are intented to be used
in a gobject-introspection source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment, which will do the work for you.
-The required dependencies are Python 2.6 or later, GLib and LibFFI. It is recommended
-that GLib is built with Visual C++ 2010 to avoid problems cause by usage of different CRTs
+The required dependencies are Python 2.7 (2.7) or 3.3 (3.x) or later, GLib and LibFFI.
+It is recommended that GLib is built with Visual C++ 2010 to avoid problems cause by
+usage of different CRTs.
Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs14 on how to build
GLib using Visual C++ 2010
@@ -24,9 +25,12 @@ comes with the LibFFI source package for more details on how to build LibFFI
on Visual C++-please note that the mozilla-build package from Mozilla is needed
in order to build LibFFI on Windows.
-For Python, retrieving the official Windows binaries for 2.6 or later from
-http://www.python.org will do the job-be sure that the Python version that
-you downloaded matches the configuration of your build (win32 or x64/amd64).
+For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
+from http://www.python.org will do the job-be sure that the Python version that
+you downloaded matches the configuration of your build (win32 or x64/amd64). Ensure that
+the correct path for your Python interpretor is set in gi-extra-paths.vsprops prior to
+opening the project files, or close the project files and delete all the *.user, *.sdf and
+*.suo files and reopening the project files.
For building the Regress test project, cairo (and possibly cairo-gobject support)
is needed.
@@ -48,15 +52,15 @@ into <root>\vs14\<PlatformName>\include\ and the compiled static libffi.lib
<root>\vs14\<PlatformName>\lib\.
The libintl.h that is used for building GLib needs to be in
-<root>\vs14\<PlatformName>\include, if not already done so.
+<root>\vs14\<PlatformName>\include, if not already done so.
A working pkg-config tool is also required-it may be obtained from
http://www.gtk.org/download/win32.php [32-bit]
http://www.gtk.org/download/win64.php [64-bit]
*** Note! ***
-Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that
+Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH,
+the build of G-I is now a 2-step process: one with the Visual Studio Projects that
will build the libraries, tools, Python Module and test DLLs (except for the everything
test), and the other one with NMake Makefiles for building the introspection files.
Please note that if one needs to change the installation location
@@ -68,13 +72,13 @@ variables, but the following environmental variables are needed (either by using
or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which
should be done after successfully building the Project Files):
-PYTHON2: Full path to your Python 2.6.x/2.7.x interpretor (python.exe) if it is
- not in your PATH. Please note that only 2.6.x and 2.7.x works at this time.
- You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
- version of Python for Win32/x86 builds
+PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is
+ not in your PATH. Please note that only 2.7.x and 3.3.x and later works.
+ You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
+ version of Python for Win32/x86 builds
PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.
-Please see $(srcroot)\build\gi-introspection-msvc.mak for more details. Doing
+Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details. Doing
"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,
and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection
files to <root>\vs14\<PlatformName>\share\gir-1.0 (.gir files) and
diff --git a/build/win32/vs14/cmph-bdz-test.vcxproj b/build/win32/vs14/cmph-bdz-test.vcxproj
index 137de21c..954ddfdc 100644
--- a/build/win32/vs14/cmph-bdz-test.vcxproj
+++ b/build/win32/vs14/cmph-bdz-test.vcxproj
@@ -110,7 +110,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -157,7 +156,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs14/g-ir-compiler.vcxproj b/build/win32/vs14/g-ir-compiler.vcxproj
index b1b05f38..a4bffc06 100644
--- a/build/win32/vs14/g-ir-compiler.vcxproj
+++ b/build/win32/vs14/g-ir-compiler.vcxproj
@@ -133,7 +133,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -158,10 +157,8 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<DataExecutionPrevention>
</DataExecutionPrevention>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs14/g-ir-generate.vcxproj b/build/win32/vs14/g-ir-generate.vcxproj
index a315279c..f6c2e648 100644
--- a/build/win32/vs14/g-ir-generate.vcxproj
+++ b/build/win32/vs14/g-ir-generate.vcxproj
@@ -107,7 +107,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -152,7 +151,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs14/gi-build-defines.props b/build/win32/vs14/gi-build-defines.props
index 56e79863..2d60f33e 100644
--- a/build/win32/vs14/gi-build-defines.props
+++ b/build/win32/vs14/gi-build-defines.props
@@ -14,7 +14,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
diff --git a/build/win32/vs14/gi-extra-paths.props b/build/win32/vs14/gi-extra-paths.props
index 13819019..d4996471 100644
--- a/build/win32/vs14/gi-extra-paths.props
+++ b/build/win32/vs14/gi-extra-paths.props
@@ -4,9 +4,9 @@
<Import Project="gi-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
- <!-- PythonDir currently needs to point to a 32-bit/x86 Python 2.6/2.7 installation -->
- <PythonDir>c:\\python27</PythonDir>
- <!-- PythonDirX64 currently needs to point to an x86-64/x64 Python 2.6/2.7 installation -->
+ <!-- PythonDir needs to point to a 32-bit/x86 Python 2.7/3.3+ installation -->
+ <PythonDir>c:\\python34</PythonDir>
+ <!-- PythonDirX64 needs to point to an x86-64/x64 Python 2.7/3.3+ installation -->
<PythonDirX64>$(PythonDir).x64</PythonDirX64>
</PropertyGroup>
<PropertyGroup>
diff --git a/build/win32/vs14/gi-gen-srcs.props b/build/win32/vs14/gi-gen-srcs.props
index caaa2526..37a06c1d 100644
--- a/build/win32/vs14/gi-gen-srcs.props
+++ b/build/win32/vs14/gi-gen-srcs.props
@@ -5,8 +5,8 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
- <GenToolsScripts>$(PythonDir)\python ..\..\..\build\gen-win32-g-ir-tools.py</GenToolsScripts>
- <GenToolsScriptsX64>$(PythonDirX64)\python ..\..\..\build\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
+ <GenToolsScripts>$(PythonDir)\python ..\gen-win32-g-ir-tools.py</GenToolsScripts>
+ <GenToolsScriptsX64>$(PythonDirX64)\python ..\gen-win32-g-ir-tools.py</GenToolsScriptsX64>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gigensrcsprops</_PropertySheetDisplayName>
diff --git a/build/win32/vs14/gi-install.props b/build/win32/vs14/gi-install.props
index b3843547..d9ff63ea 100644
--- a/build/win32/vs14/gi-install.props
+++ b/build/win32/vs14/gi-install.props
@@ -5,8 +5,6 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
- <InstalledDlls>$(BinDir)\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll;$(BinDir)\_giscanner.pyd</InstalledDlls>
- <InstalledBins>$(BinDir)\g-ir-compiler.exe;$(BinDir)\g-ir-generate.exe;..\..\..\tools\g-ir-annotation-tool;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-scanner</InstalledBins>
<GIDoInstall>
mkdir $(CopyDir)
mkdir $(CopyDir)\bin
@@ -123,6 +121,12 @@ copy ..\..\..\giscanner\doctemplates\Gjs\property.tmpl $(CopyDir)\lib\gobject-in
copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests
+copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests
copy $(BinDir)\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
copy $(BinDir)\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner
mkdir $(CopyDir)\share\gir-$(ApiVersion)
@@ -132,7 +136,7 @@ mkdir $(CopyDir)\lib\girepository-$(ApiVersion)
copy $(BinDir)\girepository-$(ApiVersion).lib $(CopyDir)\lib
echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process
echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile
-echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection files
+echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files
</GIDoInstall>
</PropertyGroup>
<PropertyGroup>
@@ -142,12 +146,6 @@ echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection file
<BuildMacro Include="BinDir">
<Value>$(BinDir)</Value>
</BuildMacro>
- <BuildMacro Include="InstalledDlls">
- <Value>$(InstalledDlls)</Value>
- </BuildMacro>
- <BuildMacro Include="InstalledBins">
- <Value>$(InstalledBins)</Value>
- </BuildMacro>
<BuildMacro Include="GIDoInstall">
<Value>$(GIDoInstall)</Value>
</BuildMacro>
diff --git a/build/win32/vs14/install.vcxproj b/build/win32/vs14/gi-install.vcxproj
index 420ce0b1..78e76055 100644
--- a/build/win32/vs14/install.vcxproj
+++ b/build/win32/vs14/gi-install.vcxproj
@@ -88,16 +88,16 @@
<CustomBuild Include="..\..\..\config.h.win32">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">some_random_file;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GIDoInstall)</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">some_random_file;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
@@ -121,4 +121,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/build/win32/vs14/gi-prebuild.vcxproj b/build/win32/vs14/gi-prebuild.vcxproj
index 6ded383a..51399336 100644
--- a/build/win32/vs14/gi-prebuild.vcxproj
+++ b/build/win32/vs14/gi-prebuild.vcxproj
@@ -100,10 +100,10 @@
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenToolsScripts)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating Tools Scripts...</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenToolsScripts)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenToolsScriptsX64)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating Tools Scripts...</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenToolsScriptsX64)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenToolsScripts)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\tools\g-ir-scanner;..\..\..\tools\g-ir-doc-tool;..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating Tools Scripts...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenToolsScriptsX64)</Command>
diff --git a/build/win32/vs14/girepository.vcxproj b/build/win32/vs14/girepository.vcxproj
index bb96fac3..35e88db6 100644
--- a/build/win32/vs14/girepository.vcxproj
+++ b/build/win32/vs14/girepository.vcxproj
@@ -117,7 +117,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -172,7 +171,6 @@
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs14/glib-print.vcxproj b/build/win32/vs14/glib-print.vcxproj
index 632b8c46..f3e9ddce 100644
--- a/build/win32/vs14/glib-print.vcxproj
+++ b/build/win32/vs14/glib-print.vcxproj
@@ -107,7 +107,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
@@ -152,7 +151,6 @@
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
diff --git a/build/win32/vs14/gobject-introspection.sln b/build/win32/vs14/gobject-introspection.sln
index fcaf1c82..c49a0677 100644
--- a/build/win32/vs14/gobject-introspection.sln
+++ b/build/win32/vs14/gobject-introspection.sln
@@ -17,7 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-generate", "g-ir-gener
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compiler.vcxproj", "{5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
index 0c5845d8..725a18a5 100644
--- a/build/win32/vs9/Makefile.am
+++ b/build/win32/vs9/Makefile.am
@@ -18,7 +18,7 @@ EXTRA_DIST = \
g-ir-compiler.vcprojin \
g-ir-generate.vcproj \
glib-print.vcproj \
- install.vcproj \
+ gi-install.vcproj \
_giscanner.vcproj \
README.txt \
$(GENERATED_ITEMS)
diff --git a/build/win32/vs9/Makefile.in b/build/win32/vs9/Makefile.in
index 166760cb..39080a8d 100644
--- a/build/win32/vs9/Makefile.in
+++ b/build/win32/vs9/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = build/win32/vs9
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -87,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -111,6 +121,7 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -173,6 +184,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -194,6 +206,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -280,6 +293,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -308,7 +322,7 @@ EXTRA_DIST = \
g-ir-compiler.vcprojin \
g-ir-generate.vcproj \
glib-print.vcproj \
- install.vcproj \
+ gi-install.vcproj \
_giscanner.vcproj \
README.txt \
$(GENERATED_ITEMS)
@@ -329,7 +343,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign build/win32/vs9/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign build/win32/vs9/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -505,6 +518,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
gi-install.vsprops: $(top_srcdir)/build/win32/vs9/gi-install.vspropsin girepository.headers giscanner.scripts
$(CPP) -P - <$(top_srcdir)/build/win32/vs9/gi-install.vspropsin >$@
diff --git a/build/win32/vs9/README.txt b/build/win32/vs9/README.txt
index 2aa7891e..2911fc17 100644
--- a/build/win32/vs9/README.txt
+++ b/build/win32/vs9/README.txt
@@ -12,8 +12,9 @@ This VS9 solution and the projects it includes are intented to be used
in a gobject-introspection source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment, which will do the work for you.
-The required dependencies are Python 2.6 or later, GLib and LibFFI. It is recommended
-that GLib is built with Visual C++ 2008 to avoid problems cause by usage of different CRTs
+The required dependencies are Python 2.7 (2.7) or 3.3 (3.x) or later, GLib and LibFFI.
+It is recommended that GLib is built with Visual C++ 2008 to avoid problems cause by
+usage of different CRTs.
Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs9 on how to build
GLib using Visual C++ 2008
@@ -24,9 +25,12 @@ comes with the LibFFI source package for more details on how to build LibFFI
on Visual C++-please note that the mozilla-build package from Mozilla is needed
in order to build LibFFI on Windows.
-For Python, retrieving the official Windows binaries for 2.6 or later from
-http://www.python.org will do the job-be sure that the Python version that
-you downloaded matches the configuration of your build (win32 or x64/amd64).
+For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
+from http://www.python.org will do the job-be sure that the Python version that
+you downloaded matches the configuration of your build (win32 or x64/amd64). Ensure that
+the correct path for your Python interpretor is set in gi-extra-paths.vsprops prior to
+opening the project files, or close the project files and delete all the *.user, *.ncb and
+*.suo files and reopening the project files.
For building the Regress test project, cairo (and possibly cairo-gobject support)
is needed.
@@ -55,8 +59,8 @@ http://www.gtk.org/download/win32.php [32-bit]
http://www.gtk.org/download/win64.php [64-bit]
*** Note! ***
-Please note that due to numerous possible configurations on Python and PKG_CONFIG_PATH,
-the build of G-I is now a 2-step process: one with the Visual Studio Projects that
+Please note that due to numerous possible configurations on Python and PKG_CONFIG_PATH,
+the build of G-I is now a 2-step process: one with the Visual Studio Projects that
will build the libraries, tools, Python Module and test DLLs (except for the everything
test), and the other one with NMake Makefiles for building the introspection files.
Please note that if one needs to change the installation location
@@ -68,13 +72,13 @@ variables, but the following environmental variables are needed (either by using
or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which
should be done after successfully building the Project Files):
-PYTHON2: Full path to your Python 2.6.x/2.7.x interpretor (python.exe) if it is
- not in your PATH. Please note that only 2.6.x and 2.7.x works at this time.
- You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
- version of Python for Win32/x86 builds
+PYTHON: Full path to your Python 2.7.x/3.3.x+ interpretor (python.exe) if it is
+ not in your PATH. Please note that only 2.7.x and 3.3.x and later works.
+ You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86
+ version of Python for Win32/x86 builds
PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.
-Please see $(srcroot)\build\gi-introspection-msvc.mak for more details. Doing
+Please see $(srcroot)\build\win32\gi-introspection-msvc.mak for more details. Doing
"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,
and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection
files to <root>\vs9\<PlatformName>\share\gir-1.0 (.gir files) and <root>\vs9\<PlatformName>\lib\girepository-1.0
diff --git a/build/win32/vs9/gi-build-defines.vsprops b/build/win32/vs9/gi-build-defines.vsprops
index fc497d18..efc28524 100644
--- a/build/win32/vs9/gi-build-defines.vsprops
+++ b/build/win32/vs9/gi-build-defines.vsprops
@@ -9,7 +9,7 @@
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include"
+ AdditionalIncludeDirectories="..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include"
PreprocessorDefinitions="HAVE_CONFIG_H;WIN32"
ForcedIncludeFiles="msvc_recommended_pragmas.h"
AdditionalOptions="/MP"
diff --git a/build/win32/vs9/gi-extra-paths.vsprops b/build/win32/vs9/gi-extra-paths.vsprops
index 989b4994..ba7c4a6e 100644
--- a/build/win32/vs9/gi-extra-paths.vsprops
+++ b/build/win32/vs9/gi-extra-paths.vsprops
@@ -5,12 +5,12 @@
Name="giextrapaths"
InheritedPropertySheets=".\gi-build-defines.vsprops"
>
- <!-- PythonDir currently needs to point to a 32-bit/x86 Python 2.6/2.7 installation -->
+ <!-- PythonDir needs to point to a 32-bit/x86 Python 2.7/3.3+ installation -->
<UserMacro
Name="PythonDir"
Value="c:\\python27"
/>
- <!-- PythonDirX64 currently needs to point to an x86-64/x64 Python 2.6/2.7 installation -->
+ <!-- PythonDirX64 needs to point to an x86-64/x64 Python 2.7/3.3+ installation -->
<UserMacro
Name="PythonDirX64"
Value="$(PythonDir).x64"
diff --git a/build/win32/vs9/gi-gen-srcs.vsprops b/build/win32/vs9/gi-gen-srcs.vsprops
index b3a68eb6..cd83b45a 100644
--- a/build/win32/vs9/gi-gen-srcs.vsprops
+++ b/build/win32/vs9/gi-gen-srcs.vsprops
@@ -7,16 +7,14 @@
>
<UserMacro
Name="CopyConfigH"
- Value="
-copy ..\..\..\config.h.win32 ..\..\..\config.h
- "
+ Value="copy ..\..\..\config.h.win32 ..\..\..\config.h"
/>
<UserMacro
Name="GenToolsScripts"
- Value="$(PythonDir)\python ..\..\..\build\gen-win32-g-ir-tools.py"
+ Value="$(PythonDir)\python ..\gen-win32-g-ir-tools.py"
/>
<UserMacro
Name="GenToolsScriptsX64"
- Value="$(PythonDirX64)\python ..\..\..\build\gen-win32-g-ir-tools.py"
+ Value="$(PythonDirX64)\python ..\gen-win32-g-ir-tools.py"
/>
</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/install.vcproj b/build/win32/vs9/gi-install.vcproj
index 58ad177b..58ad177b 100644
--- a/build/win32/vs9/install.vcproj
+++ b/build/win32/vs9/gi-install.vcproj
diff --git a/build/win32/vs9/gi-install.vsprops b/build/win32/vs9/gi-install.vsprops
index 8663dfb2..cda3c9c8 100644
--- a/build/win32/vs9/gi-install.vsprops
+++ b/build/win32/vs9/gi-install.vsprops
@@ -123,6 +123,12 @@ copy ..\..\..\giscanner\doctemplates\Gjs\property.tmpl $(CopyDir)\lib\gobject-in
copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs&#x0D;&#x0A;
copy ..\..\..\giscanner\doctemplates\Gjs\signal.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs&#x0D;&#x0A;
copy ..\..\..\giscanner\doctemplates\Gjs\vfunc.tmpl $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\Gjs&#x0D;&#x0A;
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
mkdir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
@@ -132,7 +138,7 @@ mkdir $(CopyDir)\lib&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\girepository-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process&#x0D;&#x0A;
echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile&#x0D;&#x0A;
-echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection files&#x0D;&#x0A;
+echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files&#x0D;&#x0A;
"
/>
</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/gi-install.vspropsin b/build/win32/vs9/gi-install.vspropsin
index f47937a3..a30f3e3c 100644
--- a/build/win32/vs9/gi-install.vspropsin
+++ b/build/win32/vs9/gi-install.vspropsin
@@ -27,6 +27,12 @@ mkdir $(CopyDir)\include\gobject-introspection-1.0\girepository&#x0D;&#x0A;
#include "girepository.headers"
#include "giscanner.scripts"
+mkdir $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\gitestmacros.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\gimarshallingtests.c $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\gimarshallingtests.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\scanner\regress.c $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
+copy ..\..\..\tests\scanner\regress.h $(CopyDir)\share\gobject-introspection-1.0\tests&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pdb $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
@@ -43,7 +49,7 @@ copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\girepository-$(ApiVe
echo Please note that building GObject-Introspection with Visual Studio is now a 2-step process&#x0D;&#x0A;
echo Please open the appropriate Visual Studio (or Windows SDK) command prompt and use the NMake Makefile&#x0D;&#x0A;
-echo in SRC_ROOT\build\gi-introspection-msvc.mak to build the introspection files&#x0D;&#x0A;
+echo in SRC_ROOT\build\win32\gi-introspection-msvc.mak to build the introspection files&#x0D;&#x0A;
"
/>
</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/gobject-introspection.sln b/build/win32/vs9/gobject-introspection.sln
index 3edd58ee..d6d4e541 100644
--- a/build/win32/vs9/gobject-introspection.sln
+++ b/build/win32/vs9/gobject-introspection.sln
@@ -40,7 +40,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compi
{442C007E-D901-41DA-9706-5DB4AFB4C06B} = {442C007E-D901-41DA-9706-5DB4AFB4C06B}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-install", "gi-install.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"
ProjectSection(ProjectDependencies) = postProject
{F4E6621F-A7DD-4863-8CCF-BA04DFC601E3} = {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}
{23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}
diff --git a/common.mk b/common.mk
index e26c6377..b778f7aa 100644
--- a/common.mk
+++ b/common.mk
@@ -24,8 +24,12 @@ INTROSPECTION_SCANNER_ARGS = \
--add-include-path=$(top_builddir) \
--add-include-path=$(top_builddir)/gir
+# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler.
+# Normally will be undefined but can be set (e.g. to wine or qemu)
+# when cross-compiling
INTROSPECTION_COMPILER = \
env PATH=".libs:$(PATH)" \
+ $(GI_CROSS_LAUNCHER) \
$(top_builddir)/g-ir-compiler$(EXEEXT)
INTROSPECTION_COMPILER_ARGS = \
diff --git a/config.h.in b/config.h.in
index f05f4eb4..2d3baeea 100644
--- a/config.h.in
+++ b/config.h.in
@@ -21,9 +21,6 @@
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
-/* Define to 1 if you have the `getauxval' function. */
-#undef HAVE_GETAUXVAL
-
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -72,13 +69,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Name of package */
#undef PACKAGE
diff --git a/config.h.win32 b/config.h.win32
index 493e98ef..6f6b2979 100644
--- a/config.h.win32
+++ b/config.h.win32
@@ -96,7 +96,7 @@
#define PACKAGE_NAME "gobject-introspection"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "gojbect-introspection 1.47.1"
+#define PACKAGE_STRING "gojbect-introspection 1.47.92"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gobject-introspection"
@@ -105,7 +105,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.47.1"
+#define PACKAGE_VERSION "1.47.92"
/* Define to the platform's shared library suffix */
#define SHLIB_SUFFIX ".dll"
@@ -126,7 +126,7 @@
#define STDC_HEADERS 1
/* Version number of package */
-#define VERSION "1.47.1"
+#define VERSION "1.47.92"
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
`char[]'. */
diff --git a/configure b/configure
index 9dcc8cd7..37645abb 100755
--- 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 gobject-introspection 1.47.1.
+# Generated by GNU Autoconf 2.69 for gobject-introspection 1.47.92.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gobject-introspection'
PACKAGE_TARNAME='gobject-introspection'
-PACKAGE_VERSION='1.47.1'
-PACKAGE_STRING='gobject-introspection 1.47.1'
+PACKAGE_VERSION='1.47.92'
+PACKAGE_STRING='gobject-introspection 1.47.92'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection'
PACKAGE_URL=''
@@ -665,11 +665,14 @@ GTK_DOC_BUILD_HTML_FALSE
GTK_DOC_BUILD_HTML_TRUE
ENABLE_GTK_DOC_FALSE
ENABLE_GTK_DOC_TRUE
+HAVE_GTK_DOC_FALSE
+HAVE_GTK_DOC_TRUE
GTKDOC_DEPS_LIBS
GTKDOC_DEPS_CFLAGS
HTML_DIR
GTKDOC_MKPDF
GTKDOC_REBASE
+GTKDOC_CHECK_PATH
GTKDOC_CHECK
GIREPO_LIBS
GIREPO_CFLAGS
@@ -715,6 +718,7 @@ PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
CPP
+LT_SYS_LIBRARY_PATH
OTOOL64
OTOOL
LIPO
@@ -813,6 +817,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -842,6 +847,7 @@ enable_shared
enable_static
with_pic
enable_fast_install
+with_aix_soname
with_gnu_ld
with_sysroot
enable_libtool_lock
@@ -863,6 +869,7 @@ CFLAGS
LDFLAGS
LIBS
CPPFLAGS
+LT_SYS_LIBRARY_PATH
CPP
PKG_CONFIG
PKG_CONFIG_PATH
@@ -926,6 +933,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1178,6 +1186,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1315,7 +1332,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1428,7 +1445,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 gobject-introspection 1.47.1 to adapt to many kinds of systems.
+\`configure' configures gobject-introspection 1.47.92 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1468,6 +1485,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1499,7 +1517,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gobject-introspection 1.47.1:";;
+ short | recursive ) echo "Configuration of gobject-introspection 1.47.92:";;
esac
cat <<\_ACEOF
@@ -1532,9 +1550,12 @@ Optional Packages:
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
+ --with-aix-soname=aix|svr4|both
+ shared library versioning (aka "SONAME") variant to
+ provide on AIX, [default=aix].
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
+ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
+ compiler's sysroot if not specified).
--with-cairo Use cairo [default=maybe]
--with-html-dir=PATH path to installed docs
--with-python=PATH Path to Python interpreter; searches $PATH if only a
@@ -1550,6 +1571,8 @@ Some influential environment variables:
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
+ LT_SYS_LIBRARY_PATH
+ User-defined run-time library search path.
CPP C preprocessor
PKG_CONFIG path to pkg-config utility
PKG_CONFIG_PATH
@@ -1656,7 +1679,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gobject-introspection configure 1.47.1
+gobject-introspection configure 1.47.92
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2208,7 +2231,7 @@ 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 gobject-introspection $as_me 1.47.1, which was
+It was created by gobject-introspection $as_me 1.47.92, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2590,7 +2613,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-am__api_version='1.13'
+am__api_version='1.15'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -2762,8 +2785,8 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
@@ -2782,7 +2805,7 @@ else
$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3076,7 +3099,7 @@ fi
# Define the identity of the package.
PACKAGE='gobject-introspection'
- VERSION='1.47.1'
+ VERSION='1.47.92'
cat >>confdefs.h <<_ACEOF
@@ -3110,8 +3133,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
mkdir_p='$(MKDIR_P)'
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
@@ -3243,6 +3266,48 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
@@ -3308,7 +3373,7 @@ AM_BACKSLASH='\'
# Used in docs/reference/version.xml
-GI_VERSION=1.47.1
+GI_VERSION=1.47.92
# Check for Win32
@@ -4189,6 +4254,65 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
@@ -4381,131 +4505,6 @@ else
fi
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
@@ -4519,8 +4518,8 @@ esac
-macro_version='2.4.2'
-macro_revision='1.3337'
+macro_version='2.4.6'
+macro_revision='2.4.6'
@@ -4534,7 +4533,7 @@ macro_revision='1.3337'
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
# Backslashify metacharacters that are still active within
# double-quoted strings.
@@ -4583,7 +4582,7 @@ func_echo_all ()
$ECHO ""
}
-case "$ECHO" in
+case $ECHO in
printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
$as_echo "printf" >&6; } ;;
print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
@@ -4906,19 +4905,19 @@ test -z "$GREP" && GREP=grep
# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
else
with_gnu_ld=no
fi
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -4932,7 +4931,7 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -4943,7 +4942,7 @@ $as_echo_n "checking for ld used by $CC... " >&6; }
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
@@ -4954,32 +4953,32 @@ if ${lt_cv_path_LD+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi
fi
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
$as_echo "$LD" >&6; }
@@ -5022,33 +5021,38 @@ if ${lt_cv_path_NM+:} false; then :
else
if test -n "$NM"; then
# Let the user override the test.
- lt_cv_path_NM="$NM"
+ lt_cv_path_NM=$NM
else
- lt_nm_to_check="${ac_tool_prefix}nm"
+ lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
- break
+ break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
- break
+ break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -5059,15 +5063,15 @@ else
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
@@ -5173,9 +5177,9 @@ esac
fi
fi
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
- DUMPBIN="$DUMPBIN -symbols"
+ DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
@@ -5183,8 +5187,8 @@ fi
esac
fi
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
@@ -5235,7 +5239,7 @@ if ${lt_cv_sys_max_cmd_len+:} false; then :
$as_echo_n "(cached) " >&6
else
i=0
- teststring="ABCD"
+ teststring=ABCD
case $build_os in
msdosdjgpp*)
@@ -5275,7 +5279,7 @@ else
lt_cv_sys_max_cmd_len=8192;
;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -5325,22 +5329,23 @@ else
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# Make teststring a little bigger before we do anything with it.
# a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
+ for i in 1 2 3 4 5 6 7 8; do
teststring=$teststring$teststring
done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
+ test 17 != "$i" # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
@@ -5358,7 +5363,7 @@ else
fi
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
@@ -5376,30 +5381,6 @@ max_cmd_len=$lt_cv_sys_max_cmd_len
: ${MV="mv -f"}
: ${RM="rm -f"}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
lt_unset=unset
else
@@ -5522,13 +5503,13 @@ esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
reload_cmds=false
fi
;;
darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
@@ -5656,13 +5637,13 @@ lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
aix[4-9]*)
@@ -5689,8 +5670,7 @@ mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ if ( file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -5726,10 +5706,6 @@ freebsd* | dragonfly*)
fi
;;
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -5768,11 +5744,11 @@ irix5* | irix6* | nonstopux*)
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -5790,8 +5766,8 @@ newos6*)
lt_cv_deplibs_check_method=pass_all
;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
@@ -5844,6 +5820,9 @@ sysv4 | sysv4.3*)
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
fi
@@ -6001,8 +5980,8 @@ else
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
*--identify-strict*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -6014,7 +5993,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
# fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
@@ -6169,7 +6148,7 @@ if ac_fn_c_try_compile "$LINENO"; then :
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
+ if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
rm -f conftest.$ac_objext libconftest.a
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
@@ -6177,7 +6156,7 @@ if ac_fn_c_try_compile "$LINENO"; then :
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
+ if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
fi
fi
@@ -6190,7 +6169,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
$as_echo "$lt_cv_ar_at_file" >&6; }
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
else
archiver_list_spec=$lt_cv_ar_at_file
@@ -6407,7 +6386,7 @@ old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
- openbsd*)
+ bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
@@ -6497,7 +6476,7 @@ cygwin* | mingw* | pw32* | cegcc*)
symcode='[ABCDGISTW]'
;;
hpux*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
symcode='[ABCDEGRST]'
fi
;;
@@ -6530,14 +6509,44 @@ case `$NM -V 2>&1` in
symcode='[ABCDGIRSTW]' ;;
esac
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
@@ -6555,21 +6564,24 @@ for ac_symprfx in "" "_"; do
# Write the raw and C identifiers.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -6617,11 +6629,11 @@ _LT_EOF
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
@@ -6647,7 +6659,7 @@ lt__PROGRAM__LTX_preloaded_symbols[] =
{
{ "@PROGRAM@", (void *) 0 },
_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
cat <<\_LT_EOF >> conftest.$ac_ext
{0, (void *) 0}
};
@@ -6667,13 +6679,13 @@ _LT_EOF
mv conftest.$ac_objext conftstm.$ac_objext
lt_globsym_save_LIBS=$LIBS
lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
+ LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
pipe_works=yes
fi
LIBS=$lt_globsym_save_LIBS
@@ -6694,7 +6706,7 @@ _LT_EOF
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
+ if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
@@ -6747,6 +6759,16 @@ fi
+
+
+
+
+
+
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
$as_echo_n "checking for sysroot... " >&6; }
@@ -6759,9 +6781,9 @@ fi
lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
yes)
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
fi
;; #(
@@ -6771,8 +6793,8 @@ case ${with_sysroot} in #(
no|'')
;; #(
*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+$as_echo "$with_sysroot" >&6; }
as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
;;
esac
@@ -6784,18 +6806,99 @@ $as_echo "${lt_sysroot:-no}" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+$as_echo_n "checking for a working dd... " >&6; }
+if ${ac_cv_path_lt_DD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+ ac_path_lt_DD_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in dd; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+ $ac_path_lt_DD_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_lt_DD"; then
+ :
+ fi
+else
+ ac_cv_path_lt_DD=$lt_DD
+fi
+
+rm -f conftest.i conftest2.i conftest.out
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+$as_echo "$ac_cv_path_lt_DD" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+$as_echo_n "checking how to truncate binary pipes... " >&6; }
+if ${lt_cv_truncate_bin+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+$as_echo "$lt_cv_truncate_bin" >&6; }
+
+
+
+
+
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then :
enableval=$enable_libtool_lock;
fi
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case $host in
ia64-*-hpux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -6804,24 +6907,25 @@ ia64-*-hpux*)
test $ac_status = 0; }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
- HPUX_IA64_MODE="32"
+ HPUX_IA64_MODE=32
;;
*ELF-64*)
- HPUX_IA64_MODE="64"
+ HPUX_IA64_MODE=64
;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo '#line '$LINENO' "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
@@ -6850,9 +6954,50 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -6866,9 +7011,19 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
+ ;;
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -6887,7 +7042,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -6905,7 +7063,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
+ SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
@@ -6945,13 +7103,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
+ CFLAGS=$SAVE_CFLAGS
fi
;;
*-*solaris*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -6963,7 +7122,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
- i?86-*-solaris*)
+ i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)
@@ -6972,7 +7131,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
esac
# GNU ld 2.21 introduced _sol2 emulations. Use them if available.
if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
+ LD=${LD-ld}_sol2
fi
;;
*)
@@ -6988,7 +7147,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
;;
esac
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
@@ -7099,7 +7258,7 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
@@ -7602,7 +7761,7 @@ if ${lt_cv_apple_cc_single_mod+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
+ if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
# non-empty at configure time, or by adding -multi_module to the
@@ -7620,7 +7779,7 @@ else
cat conftest.err >&5
# Otherwise, if the output was created with a 0 exit code from
# the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&5
@@ -7659,7 +7818,7 @@ else
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
@@ -7688,7 +7847,7 @@ _LT_EOF
_lt_result=$?
if test -s conftest.err && $GREP force_load conftest.err; then
cat conftest.err >&5
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&5
@@ -7701,32 +7860,32 @@ fi
$as_echo "$lt_cv_ld_force_load" >&6; }
case $host_os in
rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[012][,.]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
@@ -7734,6 +7893,41 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
;;
esac
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -8037,14 +8231,14 @@ if test "${enable_shared+set}" = set; then :
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -8068,14 +8262,14 @@ if test "${enable_static+set}" = set; then :
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -8099,14 +8293,14 @@ if test "${with_pic+set}" = set; then :
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -8114,8 +8308,6 @@ else
fi
-test -z "$pic_mode" && pic_mode=default
-
@@ -8131,14 +8323,14 @@ if test "${enable_fast_install+set}" = set; then :
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -8152,11 +8344,63 @@ fi
+ shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+ withval=$with_aix_soname; case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname
+else
+ if ${lt_cv_with_aix_soname+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_with_aix_soname=aix
+fi
+
+ with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+
+
+
+
+
+
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -8205,7 +8449,7 @@ test -z "$LN_S" && LN_S="ln -s"
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
@@ -8244,7 +8488,7 @@ aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
+ if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -8255,14 +8499,14 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
# Set sane defaults for various variables
test -z "$CC" && CC=cc
@@ -8271,15 +8515,8 @@ test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
test -z "$LD" && LD=ld
test -z "$ac_objext" && ac_objext=o
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
# Only perform the check for file, if the check method requires it
@@ -8294,22 +8531,22 @@ if ${lt_cv_path_MAGIC_CMD+:} false; then :
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -f "$ac_dir/${ac_tool_prefix}file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -8332,13 +8569,13 @@ _LT_EOF
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
@@ -8360,22 +8597,22 @@ if ${lt_cv_path_MAGIC_CMD+:} false; then :
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -f "$ac_dir/file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -8398,13 +8635,13 @@ _LT_EOF
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
@@ -8425,7 +8662,7 @@ esac
# Use C for the default configuration in the libtool script
-lt_save_CC="$CC"
+lt_save_CC=$CC
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -8487,7 +8724,7 @@ if test -n "$compiler"; then
lt_prog_compiler_no_builtin_flag=
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $cc_basename in
nvcc*)
lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
@@ -8503,7 +8740,7 @@ else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
+ lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -8533,7 +8770,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
else
:
@@ -8551,17 +8788,18 @@ lt_prog_compiler_pic=
lt_prog_compiler_static=
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_static='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
fi
+ lt_prog_compiler_pic='-fPIC'
;;
amigaos*)
@@ -8572,8 +8810,8 @@ lt_prog_compiler_static=
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -8589,6 +8827,11 @@ lt_prog_compiler_static=
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
@@ -8659,7 +8902,7 @@ lt_prog_compiler_static=
case $host_os in
aix*)
lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
else
@@ -8667,10 +8910,29 @@ lt_prog_compiler_static=
fi
;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
+
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
;;
hpux9* | hpux10* | hpux11*)
@@ -8686,7 +8948,7 @@ lt_prog_compiler_static=
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
+ lt_prog_compiler_static='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
@@ -8695,9 +8957,9 @@ lt_prog_compiler_static=
lt_prog_compiler_static='-non_shared'
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
+ # old Intel for x86_64, which still supported -KPIC.
ecc*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
@@ -8722,6 +8984,12 @@ lt_prog_compiler_static=
lt_prog_compiler_pic='-PIC'
lt_prog_compiler_static='-Bstatic'
;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -8819,7 +9087,7 @@ lt_prog_compiler_static=
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
lt_prog_compiler_pic='-Kconform_pic'
lt_prog_compiler_static='-Bstatic'
fi
@@ -8848,7 +9116,7 @@ lt_prog_compiler_static=
fi
case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
+ # For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
lt_prog_compiler_pic=
;;
@@ -8880,7 +9148,7 @@ else
lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -8910,7 +9178,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -8942,7 +9210,7 @@ if ${lt_cv_prog_compiler_static_works+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -8961,13 +9229,13 @@ else
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_static_works"; then
:
else
lt_prog_compiler_static=
@@ -9087,8 +9355,8 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
$as_echo_n "checking if we can lock with hard links... " >&6; }
@@ -9100,9 +9368,9 @@ $as_echo_n "checking if we can lock with hard links... " >&6; }
ln conftest.a conftest.b 2>/dev/null && hard_links=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ if test no = "$hard_links"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
@@ -9145,9 +9413,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
# included in the symbol list
include_expsyms=
# exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
@@ -9162,7 +9430,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
@@ -9170,9 +9438,12 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
- openbsd*)
+ openbsd* | bitrig*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs=no
+ ;;
esac
ld_shlibs=yes
@@ -9180,7 +9451,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
# On some targets, GNU ld is compatible enough with the native linker
# that we're better off using the native interface for both.
lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
case $host_os in
aix*)
# The AIX port of GNU ld has always aspired to compatibility
@@ -9202,24 +9473,24 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
esac
fi
- if test "$lt_use_gnu_ld_interface" = yes; then
+ if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+ wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
whole_archive_flag_spec=
fi
supports_anon_versioning=no
- case `$LD -v 2>&1` in
+ case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -9232,7 +9503,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
case $host_os in
aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
+ if test ia64 != "$host_cpu"; then
ld_shlibs=no
cat <<_LT_EOF 1>&2
@@ -9251,7 +9522,7 @@ _LT_EOF
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds=''
;;
m68k)
@@ -9267,7 +9538,7 @@ _LT_EOF
allow_undefined_flag=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
ld_shlibs=no
fi
@@ -9277,7 +9548,7 @@ _LT_EOF
# _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
+ export_dynamic_flag_spec='$wl--export-all-symbols'
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -9285,61 +9556,89 @@ _LT_EOF
exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs=no
fi
;;
haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
link_all_deplibs=yes
;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
interix[3-9]*)
hardcode_direct=no
hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
+ if test linux-dietlibc = "$host_os"; then
case $cc_basename in
diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
esac
fi
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
+ && test no = "$tmp_diet"
then
tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
@@ -9350,42 +9649,47 @@ _LT_EOF
lf95*) # Lahey Fortran 8.1
whole_archive_flag_spec=
tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
+ tcc*)
+ export_dynamic_flag_spec='-rdynamic'
+ ;;
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
@@ -9394,13 +9698,13 @@ _LT_EOF
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
@@ -9418,8 +9722,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
@@ -9431,7 +9735,7 @@ _LT_EOF
ld_shlibs=no
cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
*** reliably create shared libraries on SCO systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
@@ -9446,9 +9750,9 @@ _LT_EOF
# DT_RUNPATH tag from executables and libraries. But doing so
# requires that you compile everything twice, which is a pain.
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
@@ -9465,15 +9769,15 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
esac
- if test "$ld_shlibs" = no; then
+ if test no = "$ld_shlibs"; then
runpath_var=
hardcode_libdir_flag_spec=
export_dynamic_flag_spec=
@@ -9489,7 +9793,7 @@ _LT_EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
@@ -9497,34 +9801,57 @@ _LT_EOF
;;
aix[4-9]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
aix_use_runtimelinking=yes
break
fi
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -9543,13 +9870,21 @@ _LT_EOF
hardcode_direct_absolute=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
- file_list_spec='${wl}-f,'
+ file_list_spec='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ ;;
+ esac
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
case $host_os in aix4.[012]|aix4.[012].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -9568,35 +9903,42 @@ _LT_EOF
;;
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- export_dynamic_flag_spec='${wl}-bexpall'
+ export_dynamic_flag_spec='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
+ if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath_+:} false; then :
@@ -9631,7 +9973,7 @@ fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
+ lt_cv_aix_libpath_=/usr/lib:/lib
fi
fi
@@ -9639,17 +9981,17 @@ fi
aix_libpath=$lt_cv_aix_libpath_
fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
+ if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath_+:} false; then :
@@ -9684,7 +10026,7 @@ fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
+ lt_cv_aix_libpath_=/usr/lib:/lib
fi
fi
@@ -9692,21 +10034,33 @@ fi
aix_libpath=$lt_cv_aix_libpath_
fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ no_undefined_flag=' $wl-bernotok'
+ allow_undefined_flag=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
whole_archive_flag_spec='$convenience'
fi
archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -9715,7 +10069,7 @@ fi
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds=''
;;
m68k)
@@ -9745,16 +10099,17 @@ fi
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
enable_shared_with_static_runtimes=yes
@@ -9763,18 +10118,18 @@ fi
# Don't use ranlib
old_postinstall_cmds='chmod 644 $oldlib'
postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# Assume MSVC wrapper
@@ -9783,7 +10138,7 @@ fi
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
@@ -9802,24 +10157,24 @@ fi
hardcode_direct=no
hardcode_automatic=yes
hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ if test yes = "$lt_cv_ld_force_load"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
else
whole_archive_flag_spec=''
fi
link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
+ allow_undefined_flag=$_lt_dar_allow_undefined
case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
- if test "$_lt_dar_can_shared" = "yes"; then
+ if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
else
ld_shlibs=no
@@ -9861,33 +10216,33 @@ fi
;;
hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GCC"; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
;;
hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
@@ -9895,25 +10250,25 @@ fi
;;
hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ if test yes,no = "$GCC,$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
@@ -9925,7 +10280,7 @@ if ${lt_cv_prog_compiler__b+:} false; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -b"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -9944,14 +10299,14 @@ else
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
$as_echo "$lt_cv_prog_compiler__b" >&6; }
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+if test yes = "$lt_cv_prog_compiler__b"; then
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -9959,8 +10314,8 @@ fi
;;
esac
fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
case $host_cpu in
@@ -9971,7 +10326,7 @@ fi
*)
hardcode_direct=yes
hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -9982,8 +10337,8 @@ fi
;;
irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
@@ -9993,8 +10348,8 @@ $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >
if ${lt_cv_irix_exported_symbol+:} false; then :
$as_echo_n "(cached) " >&6
else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo (void) { return 0; }
@@ -10006,25 +10361,36 @@ else
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ link_all_deplibs=no
else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
inherit_rpath=yes
link_all_deplibs=yes
;;
- netbsd*)
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ ld_shlibs=yes
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -10038,7 +10404,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
newsos6)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
hardcode_shlibpath_var=no
;;
@@ -10046,27 +10412,19 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
*nto* | *qnx*)
;;
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
hardcode_shlibpath_var=no
hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
fi
else
ld_shlibs=no
@@ -10077,33 +10435,53 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
;;
osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
@@ -10114,24 +10492,24 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
solaris*)
no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
;;
*)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ wlarc='$wl'
+ archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
@@ -10141,11 +10519,11 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
# but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ if test yes = "$GCC"; then
+ whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
else
whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
fi
@@ -10155,10 +10533,10 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
;;
sunos4*)
- if test "x$host_vendor" = xsequent; then
+ if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -10207,43 +10585,43 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
+ no_undefined_flag='$wl-z,text'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
+ no_undefined_flag='$wl-z,text'
+ allow_undefined_flag='$wl-z,nodefs'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_flag_spec='$wl-R,$libdir'
hardcode_libdir_separator=':'
link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
+ export_dynamic_flag_spec='$wl-Bexport'
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -10258,10 +10636,10 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
;;
esac
- if test x$host_vendor = xsni; then
+ if test sni = "$host_vendor"; then
case $host in
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
+ export_dynamic_flag_spec='$wl-Blargedynsym'
;;
esac
fi
@@ -10269,7 +10647,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
+test no = "$ld_shlibs" && can_build_shared=no
with_gnu_ld=$with_gnu_ld
@@ -10295,7 +10673,7 @@ x|xyes)
# Assume -lc should be added
archive_cmds_need_lc=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
+ if test yes,yes = "$GCC,$enable_shared"; then
case $archive_cmds in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
@@ -10510,14 +10888,14 @@ esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
$as_echo_n "checking dynamic linker characteristics... " >&6; }
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
case $lt_search_path_spec in
@@ -10533,28 +10911,35 @@ if test "$GCC" = yes; then
;;
esac
# Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
+ # and add multilib dir if necessary...
lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
test -d "$lt_sys_path" && \
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
for (lt_i = NF; lt_i > 0; lt_i--) {
if ($lt_i != "" && $lt_i != ".") {
if ($lt_i == "..") {
lt_count++;
} else {
if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
+ lt_foo = "/" $lt_i lt_foo;
} else {
lt_count--;
}
@@ -10568,7 +10953,7 @@ BEGIN {RS=" "; FS="/|\n";} {
# for these hosts.
case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
@@ -10577,7 +10962,7 @@ fi
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -10594,14 +10979,16 @@ hardcode_into_libs=no
# flags to be left without arguments
need_version=unknown
+
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
aix[4-9]*)
@@ -10609,41 +10996,91 @@ aix[4-9]*)
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a(lib.so.V)'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
@@ -10653,18 +11090,18 @@ amigaos*)
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
@@ -10672,8 +11109,8 @@ beos*)
bsdi[45]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -10685,7 +11122,7 @@ bsdi[45]*)
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
@@ -10694,8 +11131,8 @@ cygwin* | mingw* | pw32* | cegcc*)
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
@@ -10711,17 +11148,17 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
@@ -10730,8 +11167,8 @@ cygwin* | mingw* | pw32* | cegcc*)
*,cl*)
# Native MSVC
libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
@@ -10758,7 +11195,7 @@ cygwin* | mingw* | pw32* | cegcc*)
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
- sys_lib_search_path_spec="$LIB"
+ sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -10771,8 +11208,8 @@ cygwin* | mingw* | pw32* | cegcc*)
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
@@ -10785,7 +11222,7 @@ cygwin* | mingw* | pw32* | cegcc*)
*)
# Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
@@ -10798,8 +11235,8 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -10812,8 +11249,8 @@ dgux*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -10831,12 +11268,13 @@ freebsd* | dragonfly*)
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
@@ -10861,26 +11299,15 @@ freebsd* | dragonfly*)
esac
;;
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -10898,14 +11325,15 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -10913,8 +11341,8 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
@@ -10923,8 +11351,8 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -10937,8 +11365,8 @@ interix[3-9]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -10949,7 +11377,7 @@ irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
@@ -10957,8 +11385,8 @@ irix5* | irix6* | nonstopux*)
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -10977,8 +11405,8 @@ irix5* | irix6* | nonstopux*)
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -10987,13 +11415,33 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -11037,14 +11485,15 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
- # Add ABI-specific directories to the system library path.
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -11056,17 +11505,29 @@ fi
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -11076,7 +11537,7 @@ netbsd*)
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -11085,58 +11546,68 @@ newsos6)
version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
else
- shlibpath_overrides_runpath=yes
+ need_version=yes
fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
@@ -11147,8 +11618,8 @@ solaris*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -11158,11 +11629,11 @@ solaris*)
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
@@ -11170,8 +11641,8 @@ sunos4*)
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
@@ -11192,24 +11663,24 @@ sysv4 | sysv4.3*)
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
+ version_type=sco
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -11227,7 +11698,7 @@ tpf*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -11235,8 +11706,8 @@ tpf*)
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -11246,20 +11717,35 @@ uts4*)
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
@@ -11356,15 +11842,15 @@ $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" ||
test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
+ test yes = "$hardcode_automatic"; then
# We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
+ if test no != "$hardcode_direct" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+ test no != "$hardcode_minus_L"; then
# Linking always hardcodes the temporary library directory.
hardcode_action=relink
else
@@ -11379,12 +11865,12 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
$as_echo "$hardcode_action" >&6; }
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
+if test relink = "$hardcode_action" ||
+ test yes = "$inherit_rpath"; then
# Fast installation is not supported
enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
@@ -11394,7 +11880,7 @@ fi
- if test "x$enable_dlopen" != xyes; then
+ if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -11404,23 +11890,23 @@ else
case $host_os in
beos*)
- lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
cygwin*)
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
;;
darwin*)
- # if libdl is installed we need to link against it
+ # if libdl is installed we need to link against it
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
if ${ac_cv_lib_dl_dlopen+:} false; then :
@@ -11458,10 +11944,10 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
else
- lt_cv_dlopen="dyld"
+ lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
@@ -11469,10 +11955,18 @@ fi
;;
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
*)
ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
+ lt_cv_dlopen=shl_load
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
$as_echo_n "checking for shl_load in -ldld... " >&6; }
@@ -11511,11 +12005,11 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+ lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
else
ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
@@ -11554,7 +12048,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
$as_echo_n "checking for dlopen in -lsvld... " >&6; }
@@ -11593,7 +12087,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
$as_echo_n "checking for dld_link in -ldld... " >&6; }
@@ -11632,7 +12126,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+ lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
fi
@@ -11653,21 +12147,21 @@ fi
;;
esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
+ if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
+ else
+ enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- save_LIBS="$LIBS"
+ save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
@@ -11675,7 +12169,7 @@ $as_echo_n "checking whether a program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
+ if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -11722,9 +12216,9 @@ else
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -11754,7 +12248,7 @@ _LT_EOF
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -11774,14 +12268,14 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
$as_echo "$lt_cv_dlopen_self" >&6; }
- if test "x$lt_cv_dlopen_self" = xyes; then
+ if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self_static+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
+ if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -11828,9 +12322,9 @@ else
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -11860,7 +12354,7 @@ _LT_EOF
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -11881,9 +12375,9 @@ fi
$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
;;
esac
@@ -11927,7 +12421,7 @@ else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
- if test -n "$STRIP" ; then
+ if test -n "$STRIP"; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -11955,7 +12449,7 @@ fi
- # Report which library types will actually be built
+ # Report what library types will actually be built
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
$as_echo_n "checking if libtool supports shared libraries... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
@@ -11963,13 +12457,13 @@ $as_echo "$can_build_shared" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
@@ -11977,8 +12471,12 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
;;
aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -11988,7 +12486,7 @@ $as_echo "$enable_shared" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
$as_echo "$enable_static" >&6; }
@@ -12002,7 +12500,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-CC="$lt_save_CC"
+CC=$lt_save_CC
@@ -12658,12 +13156,12 @@ if test -n "$GLIB_CFLAGS"; then
pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.45.3\""; } >&5
- ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.45.3") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.47.6\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.47.6") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.45.3" 2>/dev/null`
+ pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.47.6" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -12675,12 +13173,12 @@ if test -n "$GLIB_LIBS"; then
pkg_cv_GLIB_LIBS="$GLIB_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.45.3\""; } >&5
- ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.45.3") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.47.6\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.47.6") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.45.3" 2>/dev/null`
+ pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.47.6" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -12701,14 +13199,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.45.3" 2>&1`
+ GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.47.6" 2>&1`
else
- GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.45.3" 2>&1`
+ GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.47.6" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$GLIB_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (glib-2.0 >= 2.45.3) were not met:
+ as_fn_error $? "Package requirements (glib-2.0 >= 2.47.6) were not met:
$GLIB_PKG_ERRORS
@@ -13724,16 +14222,78 @@ GIREPO_CFLAGS="$GIREPO_CFLAGS $GCOV_CFLAGS"
- # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+ gtk_doc_requires="gtk-doc >= 1.19"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk-doc" >&5
+$as_echo_n "checking for gtk-doc... " >&6; }
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk_doc_requires\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$gtk_doc_requires") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ have_gtk_doc=yes
+else
+ have_gtk_doc=no
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gtk_doc" >&5
+$as_echo "$have_gtk_doc" >&6; }
+
+ if test "$have_gtk_doc" = "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found." >&5
+$as_echo "$as_me: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found." >&2;}
+ fi
+
+ # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+set dummy gtkdoc-check; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GTKDOC_CHECK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GTKDOC_CHECK"; then
+ ac_cv_prog_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GTKDOC_CHECK="gtkdoc-check.test"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GTKDOC_CHECK=$ac_cv_prog_GTKDOC_CHECK
+if test -n "$GTKDOC_CHECK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
+$as_echo "$GTKDOC_CHECK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ # Extract the first word of "gtkdoc-check", so it can be a program name with args.
set dummy gtkdoc-check; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GTKDOC_CHECK+:} false; then :
+if ${ac_cv_path_GTKDOC_CHECK_PATH+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $GTKDOC_CHECK in
+ case $GTKDOC_CHECK_PATH in
[\\/]* | ?:[\\/]*)
- ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
+ ac_cv_path_GTKDOC_CHECK_PATH="$GTKDOC_CHECK_PATH" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -13743,7 +14303,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_GTKDOC_CHECK_PATH="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -13754,10 +14314,10 @@ IFS=$as_save_IFS
;;
esac
fi
-GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
-if test -n "$GTKDOC_CHECK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
-$as_echo "$GTKDOC_CHECK" >&6; }
+GTKDOC_CHECK_PATH=$ac_cv_path_GTKDOC_CHECK_PATH
+if test -n "$GTKDOC_CHECK_PATH"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK_PATH" >&5
+$as_echo "$GTKDOC_CHECK_PATH" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -13870,18 +14430,19 @@ else
fi
- if test x$enable_gtk_doc = xyes; then
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.19\""; } >&5
- ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.19") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- :
-else
- as_fn_error $? "You need to have gtk-doc >= 1.19 installed to build $PACKAGE_NAME" "$LINENO" 5
-fi
- if test "x$PACKAGE_NAME" != "xglib"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
+$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
+$as_echo "$enable_gtk_doc" >&6; }
+
+ if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+ as_fn_error $? "
+ You must have $gtk_doc_requires installed to build documentation for
+ $PACKAGE_NAME. Please install gtk-doc or disable building the
+ documentation by adding '--disable-gtk-doc' to '$0'." "$LINENO" 5
+ fi
+
+ if test "x$PACKAGE_NAME" != "xglib"; then
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5
@@ -13953,14 +14514,8 @@ else
$as_echo "yes" >&6; }
fi
- fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
-$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
-$as_echo "$enable_gtk_doc" >&6; }
-
# Check whether --enable-gtk-doc-html was given.
if test "${enable_gtk_doc_html+set}" = set; then :
enableval=$enable_gtk_doc_html;
@@ -13985,6 +14540,14 @@ fi
fi
+ if test x$have_gtk_doc = xyes; then
+ HAVE_GTK_DOC_TRUE=
+ HAVE_GTK_DOC_FALSE='#'
+else
+ HAVE_GTK_DOC_TRUE='#'
+ HAVE_GTK_DOC_FALSE=
+fi
+
if test x$enable_gtk_doc = xyes; then
ENABLE_GTK_DOC_TRUE=
ENABLE_GTK_DOC_FALSE='#'
@@ -14352,7 +14915,7 @@ fi
fi
-for ac_func in memchr strchr strspn strstr strtol strtoull getauxval
+for ac_func in memchr strchr strspn strstr strtol strtoull
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"
@@ -15054,6 +15617,10 @@ if test -z "${HAVE_CAIRO_TRUE}" && test -z "${HAVE_CAIRO_FALSE}"; then
as_fn_error $? "conditional \"HAVE_CAIRO\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${HAVE_GTK_DOC_TRUE}" && test -z "${HAVE_GTK_DOC_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -15479,7 +16046,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 gobject-introspection $as_me 1.47.1, which was
+This file was extended by gobject-introspection $as_me 1.47.92, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15545,7 +16112,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="\\
-gobject-introspection config.status 1.47.1
+gobject-introspection config.status 1.47.92
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -15680,6 +16247,7 @@ enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -15729,10 +16297,13 @@ compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
@@ -15797,7 +16368,8 @@ finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -15848,9 +16420,12 @@ CFLAGS \
compiler \
lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
nm_file_list_spec \
+lt_cv_truncate_bin \
lt_prog_compiler_no_builtin_flag \
lt_prog_compiler_pic \
lt_prog_compiler_wl \
@@ -15885,7 +16460,7 @@ old_striplib \
striplib; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -15912,10 +16487,11 @@ postinstall_cmds \
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -15924,19 +16500,16 @@ sys_lib_dlsearch_path_spec; do
done
ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
PACKAGE='$PACKAGE'
VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
RM='$RM'
ofile='$ofile'
@@ -16664,55 +17237,53 @@ $as_echo X"$file" |
;;
"libtool":C)
- # See if we are running on zsh, and set the options which allow our
+ # See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
+ if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
- cfgfile="${ofile}T"
+ cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# The names of the tagged configurations supported by this script.
-available_tags=""
+available_tags=''
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
# ### BEGIN LIBTOOL CONFIG
@@ -16732,6 +17303,9 @@ pic_mode=$pic_mode
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
# Shell to use when invoking shell scripts.
SHELL=$lt_SHELL
@@ -16849,18 +17423,27 @@ global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
# Transform the output of nm in a proper C declaration.
global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
# Transform the output of nm in a C name address pair.
global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
# Specify filename containing input files for \$NM.
nm_file_list_spec=$lt_nm_file_list_spec
-# The root where to search for dependent libraries,and in which our libraries should be installed.
+# The root where to search for dependent libraries,and where our libraries should be installed.
lt_sysroot=$lt_sysroot
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
# The name of the directory that contains temporary libtool files.
objdir=$objdir
@@ -16951,8 +17534,11 @@ hardcode_into_libs=$hardcode_into_libs
# Compile-time system search path for libraries.
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
# Whether dlopen is supported.
dlopen_support=$enable_dlopen
@@ -17045,13 +17631,13 @@ hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary.
hardcode_direct=$hardcode_direct
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
# library is relocated.
hardcode_direct_absolute=$hardcode_direct_absolute
@@ -17103,13 +17689,72 @@ hardcode_action=$hardcode_action
_LT_EOF
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -17118,7 +17763,7 @@ _LT_EOF
esac
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
# We use sed instead of cat because bash on DJGPP gets confused if
@@ -17128,165 +17773,6 @@ ltmain="$ac_aux_dir/ltmain.sh"
sed '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
diff --git a/configure.ac b/configure.ac
index b74d182e..0c35f6d3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@
dnl the gi version number
m4_define(gi_major_version, 1)
m4_define(gi_minor_version, 47)
-m4_define(gi_micro_version, 1)
+m4_define(gi_micro_version, 92)
m4_define(gi_version, gi_major_version.gi_minor_version.gi_micro_version)
AC_PREREQ([2.63])
@@ -128,7 +128,7 @@ GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
AC_SUBST(GIR_DIR)
AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation])
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.45.3])
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.47.6])
PKG_CHECK_MODULES(GOBJECT, [gobject-2.0])
PKG_CHECK_MODULES(GMODULE, [gmodule-2.0])
PKG_CHECK_MODULES(GIO, [gio-2.0])
@@ -247,7 +247,7 @@ AC_C_CONST
# Checks for library functions.
AC_FUNC_STRTOD
-AC_CHECK_FUNCS([memchr strchr strspn strstr strtol strtoull getauxval])
+AC_CHECK_FUNCS([memchr strchr strspn strstr strtol strtoull])
AC_CHECK_FUNCS([backtrace backtrace_symbols])
# Python
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 009f40de..283da6c8 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = docs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -87,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -146,6 +156,7 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = reference
+am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -233,6 +244,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -254,6 +266,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -340,6 +353,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -364,7 +378,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign docs/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -659,6 +672,8 @@ uninstall-am:
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# 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.
diff --git a/docs/reference/Makefile.in b/docs/reference/Makefile.in
index 8eb50220..7ff2e293 100644
--- a/docs/reference/Makefile.in
+++ b/docs/reference/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,17 @@
# Everything below here is generic #
####################################
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -83,8 +93,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/gtk-doc.make $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(srcdir)/version.xml.in
subdir = docs/reference
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -94,6 +102,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = version.xml
@@ -118,6 +127,8 @@ am__can_run_installinfo = \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.xml.in \
+ $(top_srcdir)/gtk-doc.make
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -180,6 +191,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -201,6 +213,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -287,6 +300,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -410,6 +424,7 @@ GPATH = $(srcdir)
TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
SETUP_FILES = \
$(content_files) \
+ $(expand_content_files) \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
@@ -436,11 +451,11 @@ REPORT_FILES = \
$(DOC_MODULE)-undeclared.txt \
$(DOC_MODULE)-unused.txt
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
-@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
+@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
+@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
+@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
#### setup ####
GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V))
@@ -496,7 +511,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/reference/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign docs/reference/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -505,7 +519,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/gtk-doc.make:
+$(top_srcdir)/gtk-doc.make $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -565,6 +579,7 @@ distdir: $(DISTFILES)
dist-hook
check-am: all-am
check: check-am
+@ENABLE_GTK_DOC_FALSE@all-local:
all-am: Makefile all-local
installdirs:
install: install-am
@@ -681,9 +696,18 @@ uninstall-am: uninstall-local
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am uninstall-local
+.PRECIOUS: Makefile
-@ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-@ENABLE_GTK_DOC_FALSE@all-local:
+
+gtkdoc-check.test: Makefile
+ $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+ echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+ chmod +x $@
+
+all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+.PHONY: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
@@ -691,17 +715,19 @@ $(REPORT_FILES): sgml-build.stamp
setup-build.stamp:
-$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
if test "x$$files" != "x" ; then \
for file in $$files ; do \
+ destdir=`dirname $(abs_builddir)/$$file`; \
+ test -d "$$destdir" || mkdir -p "$$destdir"; \
test -f $(abs_srcdir)/$$file && \
- cp -pu $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
done; \
fi; \
fi
$(AM_V_at)touch setup-build.stamp
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
$(GTK_DOC_V_SCAN)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
_source_dir="$${_source_dir} --source-dir=$$i" ; \
@@ -710,7 +736,7 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
$(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
scanobj_options=""; \
gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
if test "x$(V)" = "x1"; then \
scanobj_options="--verbose"; \
fi; \
@@ -727,7 +753,7 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
@true
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
$(GTK_DOC_V_XML)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
_source_dir="$${_source_dir} --source-dir=$$i" ; \
@@ -738,17 +764,28 @@ sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DO
sgml.stamp: sgml-build.stamp
@true
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+xml/gtkdocentities.ent: Makefile
+ $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
+ echo "<!ENTITY package \"$(PACKAGE)\">"; \
+ echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
+ echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
+ echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
+ echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
+ echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
+ echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
+ ) > $@
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
$(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
mkhtml_options=""; \
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
if test "x$(V)" = "x1"; then \
mkhtml_options="$$mkhtml_options --verbose"; \
fi; \
fi; \
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
fi; \
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
@@ -764,11 +801,11 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
$(AM_V_at)touch html-build.stamp
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
$(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
mkpdf_options=""; \
gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
if test "x$(V)" = "x1"; then \
mkpdf_options="$$mkpdf_options --verbose"; \
fi; \
@@ -790,12 +827,18 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
clean-local:
@rm -f *~ *.bak
@rm -rf .libs
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+ rm -f $(DOC_MODULE).types; \
+ fi
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
+ rm -f $(DOC_MODULE)-sections.txt; \
+ fi
distclean-local:
@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
fi
maintainer-clean-local:
@@ -834,12 +877,14 @@ uninstall-local:
#
# Require gtk-doc when making dist
#
-@ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
-@ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
-@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
-@ENABLE_GTK_DOC_FALSE@ @false
-
-dist-hook: dist-check-gtkdoc dist-hook-local
+@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
+@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***"
+@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***"
+@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***"
+@HAVE_GTK_DOC_FALSE@ @false
+
+dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
@mkdir $(distdir)/html
@cp ./html/* $(distdir)/html
@-cp ./$(DOC_MODULE).pdf $(distdir)/
diff --git a/docs/reference/html/GIRepository.html b/docs/reference/html/GIRepository.html
index 4ea1ed06..7715b1fb 100644
--- a/docs/reference/html/GIRepository.html
+++ b/docs/reference/html/GIRepository.html
@@ -2,32 +2,27 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIRepository</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIRepository: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="ch01.html" title="GIRepository">
<link rel="next" href="gi-struct-hierarchy.html" title="Struct hierarchy">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-struct-hierarchy.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#GIRepository.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#GIRepository.description" class="shortcut">Description</a>
-  | 
- <a href="#GIRepository.object-hierarchy" class="shortcut">Object Hierarchy</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#GIRepository.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#GIRepository.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-struct-hierarchy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="GIRepository"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -35,1075 +30,1299 @@
<h2><span class="refentrytitle"><a name="GIRepository.top_of_page"></a>GIRepository</span></h2>
<p>GIRepository — GObject Introspection repository manager</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="GIRepository.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include &lt;girepository.h&gt;
-
-struct <a class="link" href="GIRepository.html#GIRepository-struct" title="struct GIRepository">GIRepository</a>;
-enum <a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags">GIRepositoryLoadFlags</a>;
-<a class="link" href="GIRepository.html" title="GIRepository"><span class="returnvalue">GIRepository</span></a> * <a class="link" href="GIRepository.html#g-irepository-get-default" title="g_irepository_get_default ()">g_irepository_get_default</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<span class="returnvalue">gchar</span> ** <a class="link" href="GIRepository.html#g-irepository-get-dependencies" title="g_irepository_get_dependencies ()">g_irepository_get_dependencies</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
-<span class="returnvalue">gchar</span> ** <a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()">g_irepository_get_immediate_dependencies</a>
- (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
-<span class="returnvalue">gchar</span> ** <a class="link" href="GIRepository.html#g-irepository-get-loaded-namespaces" title="g_irepository_get_loaded_namespaces ()">g_irepository_get_loaded_namespaces</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="GIRepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()">g_irepository_get_n_infos</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
-<span class="returnvalue">GIBaseInfo</span> * <a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()">g_irepository_get_info</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code><span class="type">gint</span> index</code></em>);
-<span class="returnvalue">GOptionGroup</span> * <a class="link" href="GIRepository.html#g-irepository-get-option-group" title="g_irepository_get_option_group ()">g_irepository_get_option_group</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<span class="returnvalue">GList</span> * <a class="link" href="GIRepository.html#g-irepository-enumerate-versions" title="g_irepository_enumerate_versions ()">g_irepository_enumerate_versions</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
-
-<span class="returnvalue">void</span> <a class="link" href="GIRepository.html#g-irepository-prepend-library-path" title="g_irepository_prepend_library_path ()">g_irepository_prepend_library_path</a> (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="GIRepository.html#g-irepository-prepend-search-path" title="g_irepository_prepend_search_path ()">g_irepository_prepend_search_path</a> (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);
-<span class="returnvalue">GSList</span> * <a class="link" href="GIRepository.html#g-irepository-get-search-path" title="g_irepository_get_search_path ()">g_irepository_get_search_path</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-
-const <span class="returnvalue">char</span> * <a class="link" href="GIRepository.html#g-irepository-load-typelib" title="g_irepository_load_typelib ()">g_irepository_load_typelib</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="GIRepository.html#g-irepository-get-typelib-path" title="g_irepository_get_typelib_path ()">g_irepository_get_typelib_path</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GIRepository.html#g-irepository-is-registered" title="g_irepository_is_registered ()">g_irepository_is_registered</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>);
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()">g_irepository_require</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
- <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * <a class="link" href="GIRepository.html#g-irepository-require-private" title="g_irepository_require_private ()">g_irepository_require_private</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *typelib_dir</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
- <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="GIRepository.html#g-irepository-get-c-prefix" title="g_irepository_get_c_prefix ()">g_irepository_get_c_prefix</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="GIRepository.html#g-irepository-get-shared-library" title="g_irepository_get_shared_library ()">g_irepository_get_shared_library</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="GIRepository.html#g-irepository-get-version" title="g_irepository_get_version ()">g_irepository_get_version</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);
-
-<span class="returnvalue">GIBaseInfo</span> * <a class="link" href="GIRepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()">g_irepository_find_by_gtype</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code><span class="type">GType</span> gtype</code></em>);
-<a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="returnvalue">GIEnumInfo</span></a> * <a class="link" href="GIRepository.html#g-irepository-find-by-error-domain" title="g_irepository_find_by_error_domain ()">g_irepository_find_by_error_domain</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code><span class="type">GQuark</span> domain</code></em>);
-<span class="returnvalue">GIBaseInfo</span> * <a class="link" href="GIRepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()">g_irepository_find_by_name</a> (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-
-<span class="returnvalue">gboolean</span> <a class="link" href="GIRepository.html#g-irepository-dump" title="g_irepository_dump ()">g_irepository_dump</a> (<em class="parameter"><code>const <span class="type">char</span> *arg</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-
-<span class="returnvalue">void</span> <a class="link" href="GIRepository.html#gi-cclosure-marshal-generic" title="gi_cclosure_marshal_generic ()">gi_cclosure_marshal_generic</a> (<em class="parameter"><code><span class="type">GClosure</span> *closure</code></em>,
- <em class="parameter"><code><span class="type">GValue</span> *return_gvalue</code></em>,
- <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>,
- <em class="parameter"><code>const <span class="type">GValue</span> *param_values</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);
-
-#define <a class="link" href="GIRepository.html#G-IREPOSITORY-ERROR:CAPS" title="G_IREPOSITORY_ERROR">G_IREPOSITORY_ERROR</a>
-enum <a class="link" href="GIRepository.html#GIRepositoryError" title="enum GIRepositoryError">GIRepositoryError</a>;
-</pre>
+<div class="refsect1">
+<a name="GIRepository.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="GIRepository.html" title="GIRepository"><span class="returnvalue">GIRepository</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-default" title="g_irepository_get_default ()">g_irepository_get_default</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-dependencies" title="g_irepository_get_dependencies ()">g_irepository_get_dependencies</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()">g_irepository_get_immediate_dependencies</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-loaded-namespaces" title="g_irepository_get_loaded_namespaces ()">g_irepository_get_loaded_namespaces</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()">g_irepository_get_n_infos</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GIBaseInfo</span> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()">g_irepository_get_info</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Commandline-option-parser.html#GOptionGroup"><span class="returnvalue">GOptionGroup</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-option-group" title="g_irepository_get_option_group ()">g_irepository_get_option_group</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-enumerate-versions" title="g_irepository_enumerate_versions ()">g_irepository_enumerate_versions</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-prepend-library-path" title="g_irepository_prepend_library_path ()">g_irepository_prepend_library_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-prepend-search-path" title="g_irepository_prepend_search_path ()">g_irepository_prepend_search_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-search-path" title="g_irepository_get_search_path ()">g_irepository_get_search_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-load-typelib" title="g_irepository_load_typelib ()">g_irepository_load_typelib</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-typelib-path" title="g_irepository_get_typelib_path ()">g_irepository_get_typelib_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-is-registered" title="g_irepository_is_registered ()">g_irepository_is_registered</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()">g_irepository_require</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-require-private" title="g_irepository_require_private ()">g_irepository_require_private</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-c-prefix" title="g_irepository_get_c_prefix ()">g_irepository_get_c_prefix</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-shared-library" title="g_irepository_get_shared_library ()">g_irepository_get_shared_library</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-get-version" title="g_irepository_get_version ()">g_irepository_get_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GIBaseInfo</span> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()">g_irepository_find_by_gtype</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="returnvalue">GIEnumInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-find-by-error-domain" title="g_irepository_find_by_error_domain ()">g_irepository_find_by_error_domain</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GIBaseInfo</span> *
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()">g_irepository_find_by_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#g-irepository-dump" title="g_irepository_dump ()">g_irepository_dump</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GIRepository.html#gi-cclosure-marshal-generic" title="gi_cclosure_marshal_generic ()">gi_cclosure_marshal_generic</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="GIRepository.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="GIRepository.html#GIRepository-struct" title="struct GIRepository">GIRepository</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags">GIRepositoryLoadFlags</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="GIRepository.html#G-IREPOSITORY-ERROR:CAPS" title="G_IREPOSITORY_ERROR">G_IREPOSITORY_ERROR</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="GIRepository.html#GIRepositoryError" title="enum GIRepositoryError">GIRepositoryError</a></td>
+</tr>
+</tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="GIRepository.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- GObject
- +----GIRepository
+<pre class="screen"> <a href="../gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> GIRepository
</pre>
</div>
<div class="refsect1">
-<a name="GIRepository.description"></a><h2>Description</h2>
-<p>
-<a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> is used to manage repositories of namespaces. Namespaces
-are represented on disk by type libraries (.typelib files).
-</p>
+<a name="GIRepository.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;girepository.h&gt;
+</pre>
</div>
<div class="refsect1">
-<a name="GIRepository.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GIRepository-struct"></a><h3>struct GIRepository</h3>
-<pre class="programlisting">struct GIRepository;</pre>
-<p>
-The GIRepository structure contains private data and should only be
-accessed using the provided API.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GIRepositoryLoadFlags"></a><h3>enum GIRepositoryLoadFlags</h3>
-<pre class="programlisting">typedef enum {
- G_IREPOSITORY_LOAD_FLAG_LAZY = 1 &lt;&lt; 0
-} GIRepositoryLoadFlags;
-</pre>
-<p>
-Flags that control how a typelib is loaded.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><a name="G-IREPOSITORY-LOAD-FLAG-LAZY:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_LOAD_FLAG_LAZY</code></span></p></td>
-<td>Lazily load the typelib.
-</td>
-</tr></tbody>
-</table></div>
+<a name="GIRepository.description"></a><h2>Description</h2>
+<p><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> is used to manage repositories of namespaces. Namespaces
+are represented on disk by type libraries (.typelib files).</p>
</div>
-<hr>
+<div class="refsect1">
+<a name="GIRepository.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="g-irepository-get-default"></a><h3>g_irepository_get_default ()</h3>
-<pre class="programlisting"><a class="link" href="GIRepository.html" title="GIRepository"><span class="returnvalue">GIRepository</span></a> * g_irepository_get_default (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Returns the singleton process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. It is
+<a name="g-irepository-get-default"></a><h3>g_irepository_get_default ()</h3>
+<pre class="programlisting"><a class="link" href="GIRepository.html" title="GIRepository"><span class="returnvalue">GIRepository</span></a> *
+g_irepository_get_default (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Returns the singleton process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. It is
not currently supported to have multiple repositories in a
particular process, but this function is provided in the unlikely
eventuality that it would become possible, and as a convenience for
higher level language bindings to conform to the GObject method
-call conventions.
-</p>
-<p>
-All methods on <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> also accept <code class="literal">NULL</code> as an instance
+call conventions.</p>
+<p>All methods on <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> also accept <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as an instance
parameter to mean this default repository, which is usually more
-convenient for C.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The global singleton <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr></tbody>
-</table></div>
+convenient for C.</p>
+<div class="refsect3">
+<a name="g-irepository-get-default.returns"></a><h4>Returns</h4>
+<p> The global singleton <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-dependencies"></a><h3>g_irepository_get_dependencies ()</h3>
-<pre class="programlisting"><span class="returnvalue">gchar</span> ** g_irepository_get_dependencies (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>
-Return an array of all (transitive) versioned dependencies for
-<em class="parameter"><code>namespace_</code></em>. Returned strings are of the form
+<a name="g-irepository-get-dependencies"></a><h3>g_irepository_get_dependencies ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+g_irepository_get_dependencies (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<p>Return an array of all (transitive) versioned dependencies for
+<em class="parameter"><code>namespace_</code></em>
+. Returned strings are of the form</p>
<code class="code">namespace-version</code>.
-</p>
-<p>
-Note: <em class="parameter"><code>namespace_</code></em> must have already been loaded using a function
-such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
-</p>
-<p>
-To get only the immediate dependencies for <em class="parameter"><code>namespace_</code></em>, use
-<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()"><code class="function">g_irepository_get_immediate_dependencies()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Note: <em class="parameter"><code>namespace_</code></em>
+ must have already been loaded using a function
+such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
+<p>To get only the immediate dependencies for <em class="parameter"><code>namespace_</code></em>
+, use
+<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()"><code class="function">g_irepository_get_immediate_dependencies()</code></a>.</p>
+<div class="refsect3">
+<a name="g-irepository-get-dependencies.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace of interest</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Zero-terminated string array of all versioned
-dependencies. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace of interest</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-get-dependencies.returns"></a><h4>Returns</h4>
+<p> Zero-terminated string array of all versioned
+dependencies. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-immediate-dependencies"></a><h3>g_irepository_get_immediate_dependencies ()</h3>
-<pre class="programlisting"><span class="returnvalue">gchar</span> ** g_irepository_get_immediate_dependencies
- (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>
-Return an array of the immediate versioned dependencies for <em class="parameter"><code>namespace_</code></em>.
-Returned strings are of the form <code class="code">namespace-version</code>.
-</p>
-<p>
-Note: <em class="parameter"><code>namespace_</code></em> must have already been loaded using a function
-such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
-</p>
-<p>
-To get the transitive closure of dependencies for <em class="parameter"><code>namespace_</code></em>, use
-<a class="link" href="GIRepository.html#g-irepository-get-dependencies" title="g_irepository_get_dependencies ()"><code class="function">g_irepository_get_dependencies()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-irepository-get-immediate-dependencies"></a><h3>g_irepository_get_immediate_dependencies ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+g_irepository_get_immediate_dependencies
+ (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<p>Return an array of the immediate versioned dependencies for <em class="parameter"><code>namespace_</code></em>
+.
+Returned strings are of the form <code class="code">namespace-version</code>.</p>
+<p>Note: <em class="parameter"><code>namespace_</code></em>
+ must have already been loaded using a function
+such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
+<p>To get the transitive closure of dependencies for <em class="parameter"><code>namespace_</code></em>
+, use
+<a class="link" href="GIRepository.html#g-irepository-get-dependencies" title="g_irepository_get_dependencies ()"><code class="function">g_irepository_get_dependencies()</code></a>.</p>
+<div class="refsect3">
+<a name="g-irepository-get-immediate-dependencies.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[nullable]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><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></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace of interest</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Zero-terminated string array of immediate versioned
-dependencies. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace of interest</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 1.44</p>
+</div>
+<div class="refsect3">
+<a name="g-irepository-get-immediate-dependencies.returns"></a><h4>Returns</h4>
+<p> Zero-terminated string array of immediate versioned
+dependencies. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since: 1.44</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-loaded-namespaces"></a><h3>g_irepository_get_loaded_namespaces ()</h3>
-<pre class="programlisting"><span class="returnvalue">gchar</span> ** g_irepository_get_loaded_namespaces (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>);</pre>
-<p>
-Return the list of currently loaded namespaces.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-irepository-get-loaded-namespaces"></a><h3>g_irepository_get_loaded_namespaces ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+g_irepository_get_loaded_namespaces (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>);</pre>
+<p>Return the list of currently loaded namespaces.</p>
+<div class="refsect3">
+<a name="g-irepository-get-loaded-namespaces.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>List of namespaces. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-get-loaded-namespaces.returns"></a><h4>Returns</h4>
+<p> List of namespaces. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-n-infos"></a><h3>g_irepository_get_n_infos ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_irepository_get_n_infos (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>
-This function returns the number of metadata entries in
-given namespace <em class="parameter"><code>namespace_</code></em>. The namespace must have
-already been loaded before calling this function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-irepository-get-n-infos"></a><h3>g_irepository_get_n_infos ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_irepository_get_n_infos (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<p>This function returns the number of metadata entries in
+given namespace <em class="parameter"><code>namespace_</code></em>
+. The namespace must have
+already been loaded before calling this function.</p>
+<div class="refsect3">
+<a name="g-irepository-get-n-infos.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace to inspect</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of metadata entries</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace to inspect</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-get-n-infos.returns"></a><h4>Returns</h4>
+<p> number of metadata entries</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-info"></a><h3>g_irepository_get_info ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> * g_irepository_get_info (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code><span class="type">gint</span> index</code></em>);</pre>
-<p>
-This function returns a particular metadata entry in the
-given namespace <em class="parameter"><code>namespace_</code></em>. The namespace must have
+<a name="g-irepository-get-info"></a><h3>g_irepository_get_info ()</h3>
+<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+g_irepository_get_info (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
+<p>This function returns a particular metadata entry in the
+given namespace <em class="parameter"><code>namespace_</code></em>
+. The namespace must have
already been loaded before calling this function.
-See <a class="link" href="GIRepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()"><code class="function">g_irepository_get_n_infos()</code></a> to find the maximum number of
-entries.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+See <a class="link" href="GIRepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()"><code class="function">g_irepository_get_n_infos()</code></a> to find the maximum number of
+entries.</p>
+<div class="refsect3">
+<a name="g-irepository-get-info.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace to inspect</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace to inspect</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
-<td>0-based offset into namespace metadata for entry</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<span class="type">GIBaseInfo</span> containing metadata. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>index</p></td>
+<td class="parameter_description"><p>0-based offset into namespace metadata for entry</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-get-info.returns"></a><h4>Returns</h4>
+<p> <span class="type">GIBaseInfo</span> containing metadata. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-option-group"></a><h3>g_irepository_get_option_group ()</h3>
-<pre class="programlisting"><span class="returnvalue">GOptionGroup</span> * g_irepository_get_option_group (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Obtain the option group for girepository, it's used
+<a name="g-irepository-get-option-group"></a><h3>g_irepository_get_option_group ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Commandline-option-parser.html#GOptionGroup"><span class="returnvalue">GOptionGroup</span></a> *
+g_irepository_get_option_group (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Obtain the option group for girepository, it's used
by the dumper and for programs that wants to provide
-introspection information
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the option group. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr></tbody>
-</table></div>
+introspection information</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-irepository-get-option-group.returns"></a><h4>Returns</h4>
+<p> the option group. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-enumerate-versions"></a><h3>g_irepository_enumerate_versions ()</h3>
-<pre class="programlisting"><span class="returnvalue">GList</span> * g_irepository_enumerate_versions (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>
-Obtain an unordered list of versions (either currently loaded or
-available) for <em class="parameter"><code>namespace_</code></em> in this <em class="parameter"><code>repository</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-irepository-enumerate-versions"></a><h3>g_irepository_enumerate_versions ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+g_irepository_enumerate_versions (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<p>Obtain an unordered list of versions (either currently loaded or
+available) for <em class="parameter"><code>namespace_</code></em>
+ in this <em class="parameter"><code>repository</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-irepository-enumerate-versions.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>GI namespace, e.g. "Gtk"</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the array of versions. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>GI namespace, e.g. "Gtk"</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-enumerate-versions.returns"></a><h4>Returns</h4>
+<p> the array of versions. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-prepend-library-path"></a><h3>g_irepository_prepend_library_path ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_irepository_prepend_library_path (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);</pre>
-<p>
-Prepends <em class="parameter"><code>directory</code></em> to the search path that is used to
+<a name="g-irepository-prepend-library-path"></a><h3>g_irepository_prepend_library_path ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_irepository_prepend_library_path (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);</pre>
+<p>Prepends <em class="parameter"><code>directory</code></em>
+ to the search path that is used to
search shared libraries referenced by imported namespaces.
Multiple calls to this function all contribute to the final
list of paths.
The list of paths is unique and shared for all <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>
instances across the process, but it doesn't affect namespaces
-imported before the call.
-</p>
-<p>
-If the library is not found in the directories configured
+imported before the call.</p>
+<p>If the library is not found in the directories configured
in this way, loading will fall back to the system library
path (ie. LD_LIBRARY_PATH and DT_RPATH in ELF systems).
-See the documentation of your dynamic linker for full details.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+See the documentation of your dynamic linker for full details.</p>
+<div class="refsect3">
+<a name="g-irepository-prepend-library-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>directory</code></em> :</span></p></td>
-<td>a single directory to scan for shared libraries. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span>
-</td>
+<td class="parameter_name"><p>directory</p></td>
+<td class="parameter_description"><p> a single directory to scan for shared libraries. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr></tbody>
</table></div>
-<p class="since">Since 1.35.8</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-35-8.html#api-index-1.35.8">1.35.8</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-prepend-search-path"></a><h3>g_irepository_prepend_search_path ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_irepository_prepend_search_path (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);</pre>
-<p>
-Prepends <em class="parameter"><code>directory</code></em> to the typelib search path.
-See <a class="link" href="GIRepository.html#g-irepository-get-search-path" title="g_irepository_get_search_path ()"><code class="function">g_irepository_get_search_path()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-irepository-prepend-search-path"></a><h3>g_irepository_prepend_search_path ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_irepository_prepend_search_path (<em class="parameter"><code>const <span class="type">char</span> *directory</code></em>);</pre>
+<p>Prepends <em class="parameter"><code>directory</code></em>
+ to the typelib search path.
+See <a class="link" href="GIRepository.html#g-irepository-get-search-path" title="g_irepository_get_search_path ()"><code class="function">g_irepository_get_search_path()</code></a>.</p>
+<div class="refsect3">
+<a name="g-irepository-prepend-search-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>directory</code></em> :</span></p></td>
-<td>directory name to prepend to the typelib
-search path. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span>
-</td>
+<td class="parameter_name"><p>directory</p></td>
+<td class="parameter_description"><p> directory name to prepend to the typelib
+search path. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-search-path"></a><h3>g_irepository_get_search_path ()</h3>
-<pre class="programlisting"><span class="returnvalue">GSList</span> * g_irepository_get_search_path (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-Returns the current search path <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> will use when loading
+<a name="g-irepository-get-search-path"></a><h3>g_irepository_get_search_path ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
+g_irepository_get_search_path (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Returns the current search path <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> will use when loading
typelib files. The list is internal to <span class="type">GIRespository</span> and should not
-be freed, nor should its string elements.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<span class="type">GSList</span> of strings. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr></tbody>
-</table></div>
+be freed, nor should its string elements.</p>
+<div class="refsect3">
+<a name="g-irepository-get-search-path.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> of strings. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-load-typelib"></a><h3>g_irepository_load_typelib ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * g_irepository_load_typelib (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-irepository-load-typelib"></a><h3>g_irepository_load_typelib ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+g_irepository_load_typelib (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-irepository-load-typelib.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-typelib-path"></a><h3>g_irepository_get_typelib_path ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_irepository_get_typelib_path (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>
-If namespace <em class="parameter"><code>namespace_</code></em> is loaded, return the full path to the
+<a name="g-irepository-get-typelib-path"></a><h3>g_irepository_get_typelib_path ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_irepository_get_typelib_path (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<p>If namespace <em class="parameter"><code>namespace_</code></em>
+ is loaded, return the full path to the
.typelib file it was loaded from. If the typelib for
-namespace <em class="parameter"><code>namespace_</code></em> was included in a shared library, return
-the special string "&lt;builtin&gt;".
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+namespace <em class="parameter"><code>namespace_</code></em>
+ was included in a shared library, return
+the special string "&lt;builtin&gt;".</p>
+<div class="refsect3">
+<a name="g-irepository-get-typelib-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>GI namespace to use, e.g. "Gtk"</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Filesystem path (or $lt;builtin$gt;) if successful, <code class="literal">NULL</code> if namespace is not loaded</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>GI namespace to use, e.g. "Gtk"</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-get-typelib-path.returns"></a><h4>Returns</h4>
+<p> Filesystem path (or $lt;builtin$gt;) if successful, <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if namespace is not loaded</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-is-registered"></a><h3>g_irepository_is_registered ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_irepository_is_registered (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>);</pre>
-<p>
-Check whether a particular namespace (and optionally, a specific
+<a name="g-irepository-is-registered"></a><h3>g_irepository_is_registered ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_irepository_is_registered (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</code></em>);</pre>
+<p>Check whether a particular namespace (and optionally, a specific
version thereof) is currently loaded. This function is likely to
only be useful in unusual circumstances; in order to act upon
-metadata in the namespace, you should call <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a>
+metadata in the namespace, you should call <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a>
instead which will ensure the namespace is loaded, and return as
-quickly as this function will if it has already been loaded.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+quickly as this function will if it has already been loaded.</p>
+<div class="refsect3">
+<a name="g-irepository-is-registered.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace of interest</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace of interest</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
-<td>Required version, may be <code class="literal">NULL</code> for latest. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if namespace-version is loaded, <code class="literal">FALSE</code> otherwise</td>
+<td class="parameter_name"><p>version</p></td>
+<td class="parameter_description"><p> Required version, may be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for latest. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-is-registered.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if namespace-version is loaded, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-require"></a><h3>g_irepository_require ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * g_irepository_require (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
- <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Force the namespace <em class="parameter"><code>namespace_</code></em> to be loaded if it isn't already.
-If <em class="parameter"><code>namespace_</code></em> is not loaded, this function will search for a
+<a name="g-irepository-require"></a><h3>g_irepository_require ()</h3>
+<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_irepository_require (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</code></em>,
+ <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Force the namespace <em class="parameter"><code>namespace_</code></em>
+ to be loaded if it isn't already.
+If <em class="parameter"><code>namespace_</code></em>
+ is not loaded, this function will search for a
".typelib" file using the repository search path. In addition, a
-version <em class="parameter"><code>version</code></em> of namespace may be specified. If <em class="parameter"><code>version</code></em> is
-not specified, the latest will be used.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+version <em class="parameter"><code>version</code></em>
+ of namespace may be specified. If <em class="parameter"><code>version</code></em>
+ is
+not specified, the latest will be used.</p>
+<div class="refsect3">
+<a name="g-irepository-require.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>GI namespace to use, e.g. "Gtk"</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>GI namespace to use, e.g. "Gtk"</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
-<td>Version of namespace, may be <code class="literal">NULL</code> for latest. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>version</p></td>
+<td class="parameter_description"><p> Version of namespace, may be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for latest. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>Set of <a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><code class="literal">GIRepositoryLoadFlags</code></a>, may be 0</td>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Set of <a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><code class="literal">GIRepositoryLoadFlags</code></a>, may be 0</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <span class="type">GError</span>.</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a pointer to the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <code class="literal">NULL</code> otherwise. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-require.returns"></a><h4>Returns</h4>
+<p> a pointer to the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-require-private"></a><h3>g_irepository_require_private ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * g_irepository_require_private (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *typelib_dir</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *version</code></em>,
- <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Force the namespace <em class="parameter"><code>namespace_</code></em> to be loaded if it isn't already.
-If <em class="parameter"><code>namespace_</code></em> is not loaded, this function will search for a
+<a name="g-irepository-require-private"></a><h3>g_irepository_require_private ()</h3>
+<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_irepository_require_private (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *typelib_dir</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</code></em>,
+ <em class="parameter"><code><a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><span class="type">GIRepositoryLoadFlags</span></a> flags</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Force the namespace <em class="parameter"><code>namespace_</code></em>
+ to be loaded if it isn't already.
+If <em class="parameter"><code>namespace_</code></em>
+ is not loaded, this function will search for a
".typelib" file within the private directory only. In addition, a
-version <em class="parameter"><code>version</code></em> of namespace should be specified. If <em class="parameter"><code>version</code></em> is
-not specified, the latest will be used.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+version <em class="parameter"><code>version</code></em>
+ of namespace should be specified. If <em class="parameter"><code>version</code></em>
+ is
+not specified, the latest will be used.</p>
+<div class="refsect3">
+<a name="g-irepository-require-private.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib_dir</code></em> :</span></p></td>
-<td>Private directory where to find the requested typelib</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>GI namespace to use, e.g. "Gtk"</td>
+<td class="parameter_name"><p>typelib_dir</p></td>
+<td class="parameter_description"><p>Private directory where to find the requested typelib</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
-<td>Version of namespace, may be <code class="literal">NULL</code> for latest. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>GI namespace to use, e.g. "Gtk"</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td>Set of <a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><code class="literal">GIRepositoryLoadFlags</code></a>, may be 0</td>
+<td class="parameter_name"><p>version</p></td>
+<td class="parameter_description"><p> Version of namespace, may be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for latest. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <span class="type">GError</span>.</td>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Set of <a class="link" href="GIRepository.html#GIRepositoryLoadFlags" title="enum GIRepositoryLoadFlags"><code class="literal">GIRepositoryLoadFlags</code></a>, may be 0</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>a pointer to the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <code class="literal">NULL</code> otherwise. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-require-private.returns"></a><h4>Returns</h4>
+<p> a pointer to the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> if successful, <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-c-prefix"></a><h3>g_irepository_get_c_prefix ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_irepository_get_c_prefix (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>
-This function returns the "C prefix", or the C level namespace
+<a name="g-irepository-get-c-prefix"></a><h3>g_irepository_get_c_prefix ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_irepository_get_c_prefix (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<p>This function returns the "C prefix", or the C level namespace
associated with the given introspection namespace. Each C symbol
-starts with this prefix, as well each <span class="type">GType</span> in the library.
-</p>
-<p>
-Note: The namespace must have already been loaded using a function
-such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+starts with this prefix, as well each <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> in the library.</p>
+<p>Note: The namespace must have already been loaded using a function
+such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
+<div class="refsect3">
+<a name="g-irepository-get-c-prefix.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace to inspect</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>C namespace prefix, or <code class="literal">NULL</code> if none associated</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace to inspect</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-get-c-prefix.returns"></a><h4>Returns</h4>
+<p> C namespace prefix, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none associated</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-shared-library"></a><h3>g_irepository_get_shared_library ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_irepository_get_shared_library (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>
-This function returns a comma-separated list of paths to the
-shared C libraries associated with the given namespace <em class="parameter"><code>namespace_</code></em>.
+<a name="g-irepository-get-shared-library"></a><h3>g_irepository_get_shared_library ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_irepository_get_shared_library (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<p>This function returns a comma-separated list of paths to the
+shared C libraries associated with the given namespace <em class="parameter"><code>namespace_</code></em>
+.
There may be no shared library path associated, in which case this
-function will return <code class="literal">NULL</code>.
-</p>
-<p>
-Note: The namespace must have already been loaded using a function
-such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+function will return <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
+<p>Note: The namespace must have already been loaded using a function
+such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
+<div class="refsect3">
+<a name="g-irepository-get-shared-library.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace to inspect</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Comma-separated list of paths to shared libraries,
-or <code class="literal">NULL</code> if none are associated</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace to inspect</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-get-shared-library.returns"></a><h4>Returns</h4>
+<p> Comma-separated list of paths to shared libraries,
+or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none are associated</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-get-version"></a><h3>g_irepository_get_version ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_irepository_get_version (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>);</pre>
-<p>
-This function returns the loaded version associated with the given
-namespace <em class="parameter"><code>namespace_</code></em>.
-</p>
-<p>
-Note: The namespace must have already been loaded using a function
-such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-irepository-get-version"></a><h3>g_irepository_get_version ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_irepository_get_version (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<p>This function returns the loaded version associated with the given
+namespace <em class="parameter"><code>namespace_</code></em>
+.</p>
+<p>Note: The namespace must have already been loaded using a function
+such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> before calling this function.</p>
+<div class="refsect3">
+<a name="g-irepository-get-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace to inspect</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Loaded version</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace to inspect</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-get-version.returns"></a><h4>Returns</h4>
+<p> Loaded version</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-find-by-gtype"></a><h3>g_irepository_find_by_gtype ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> * g_irepository_find_by_gtype (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code><span class="type">GType</span> gtype</code></em>);</pre>
-<p>
-Searches all loaded namespaces for a particular <span class="type">GType</span>. Note that
+<a name="g-irepository-find-by-gtype"></a><h3>g_irepository_find_by_gtype ()</h3>
+<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+g_irepository_find_by_gtype (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code><a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>Searches all loaded namespaces for a particular <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a>. Note that
in order to locate the metadata, the namespace corresponding to
the type must first have been loaded. There is currently no
mechanism for determining the namespace which corresponds to an
arbitrary GType - thus, this function will operate most reliably
-when you know the GType to originate from be from a loaded namespace.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+when you know the GType to originate from be from a loaded namespace.</p>
+<div class="refsect3">
+<a name="g-irepository-find-by-gtype.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
-<td>GType to search for</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<span class="type">GIBaseInfo</span> representing metadata about <em class="parameter"><code>type</code></em>, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>gtype</p></td>
+<td class="parameter_description"><p>GType to search for</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-find-by-gtype.returns"></a><h4>Returns</h4>
+<p> <span class="type">GIBaseInfo</span> representing metadata about <em class="parameter"><code>type</code></em>
+, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-find-by-error-domain"></a><h3>g_irepository_find_by_error_domain ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="returnvalue">GIEnumInfo</span></a> * g_irepository_find_by_error_domain (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code><span class="type">GQuark</span> domain</code></em>);</pre>
-<p>
-Searches for the enum type corresponding to the given <span class="type">GError</span>
+<a name="g-irepository-find-by-error-domain"></a><h3>g_irepository_find_by_error_domain ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="returnvalue">GIEnumInfo</span></a> *
+g_irepository_find_by_error_domain (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> domain</code></em>);</pre>
+<p>Searches for the enum type corresponding to the given <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
domain. Before calling this function for a particular namespace,
-you must call <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> once to load the namespace, or
-otherwise ensure the namespace has already been loaded.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+you must call <a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> once to load the namespace, or
+otherwise ensure the namespace has already been loaded.</p>
+<div class="refsect3">
+<a name="g-irepository-find-by-error-domain.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>domain</code></em> :</span></p></td>
-<td>a <span class="type">GError</span> domain</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> representing metadata about <em class="parameter"><code>domain</code></em>'s
-enum type, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>domain</p></td>
+<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> domain</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 1.29.17</p>
+</div>
+<div class="refsect3">
+<a name="g-irepository-find-by-error-domain.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> representing metadata about <em class="parameter"><code>domain</code></em>
+'s
+enum type, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<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-1-29-17.html#api-index-1.29.17">1.29.17</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-find-by-name"></a><h3>g_irepository_find_by_name ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> * g_irepository_find_by_name (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *namespace_</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Searches for a particular entry in a namespace. Before calling
+<a name="g-irepository-find-by-name"></a><h3>g_irepository_find_by_name ()</h3>
+<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+g_irepository_find_by_name (<em class="parameter"><code><a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> *repository</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Searches for a particular entry in a namespace. Before calling
this function for a particular namespace, you must call
-<a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> once to load the namespace, or otherwise
-ensure the namespace has already been loaded.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()"><code class="function">g_irepository_require()</code></a> once to load the namespace, or otherwise
+ensure the namespace has already been loaded.</p>
+<div class="refsect3">
+<a name="g-irepository-find-by-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>repository</code></em> :</span></p></td>
-<td>A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <code class="literal">NULL</code> for the singleton
-process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>repository</p></td>
+<td class="parameter_description"><p> A <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+process-global default <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>namespace_</code></em> :</span></p></td>
-<td>Namespace which will be searched</td>
+<td class="parameter_name"><p>namespace_</p></td>
+<td class="parameter_description"><p>Namespace which will be searched</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>Entry name to find</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<span class="type">GIBaseInfo</span> representing metadata about <em class="parameter"><code>name</code></em>, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>Entry name to find</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-find-by-name.returns"></a><h4>Returns</h4>
+<p> <span class="type">GIBaseInfo</span> representing metadata about <em class="parameter"><code>name</code></em>
+, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-irepository-dump"></a><h3>g_irepository_dump ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_irepository_dump (<em class="parameter"><code>const <span class="type">char</span> *arg</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Argument specified is a comma-separated pair of filenames; i.e. of
+<a name="g-irepository-dump"></a><h3>g_irepository_dump ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_irepository_dump (<em class="parameter"><code>const <span class="type">char</span> *arg</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Argument specified is a comma-separated pair of filenames; i.e. of
the form "input.txt,output.xml". The input file should be a
UTF-8 Unix-line-ending text file, with each line containing either
"get-type:" followed by the name of a GType _get_type function, or
"error-quark:" followed by the name of an error quark function. No
-extra whitespace is allowed.
-</p>
-<p>
-The output file should already exist, but be empty. This function will
-overwrite its contents.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+extra whitespace is allowed.</p>
+<p>The output file should already exist, but be empty. This function will
+overwrite its contents.</p>
+<div class="refsect3">
+<a name="g-irepository-dump.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>arg</code></em> :</span></p></td>
-<td>Comma-separated pair of input and output filenames</td>
+<td class="parameter_name"><p>arg</p></td>
+<td class="parameter_description"><p>Comma-separated pair of input and output filenames</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <code class="literal">GError</code>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on error</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><code class="literal">GError</code></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-irepository-dump.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="gi-cclosure-marshal-generic"></a><h3>gi_cclosure_marshal_generic ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> gi_cclosure_marshal_generic (<em class="parameter"><code><span class="type">GClosure</span> *closure</code></em>,
- <em class="parameter"><code><span class="type">GValue</span> *return_gvalue</code></em>,
- <em class="parameter"><code><span class="type">guint</span> n_param_values</code></em>,
- <em class="parameter"><code>const <span class="type">GValue</span> *param_values</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> invocation_hint</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> marshal_data</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="gi-cclosure-marshal-generic"></a><h3>gi_cclosure_marshal_generic ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gi_cclosure_marshal_generic (<em class="parameter"><code><a href="../gobject/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
+ <em class="parameter"><code><a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_gvalue</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>,
+ <em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="gi-cclosure-marshal-generic.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>closure</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>return_gvalue</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>return_gvalue</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_param_values</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>n_param_values</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>param_values</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>param_values</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>invocation_hint</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>invocation_hint</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>marshal_data</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>marshal_data</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="GIRepository.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIRepository-struct"></a><h3>struct GIRepository</h3>
+<pre class="programlisting">struct GIRepository;</pre>
+<p>The GIRepository structure contains private data and should only be
+accessed using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIRepositoryLoadFlags"></a><h3>enum GIRepositoryLoadFlags</h3>
+<p>Flags that control how a typelib is loaded.</p>
+<div class="refsect3">
+<a name="GIRepositoryLoadFlags.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="enum_member_name"><p><a name="G-IREPOSITORY-LOAD-FLAG-LAZY:CAPS"></a>G_IREPOSITORY_LOAD_FLAG_LAZY</p></td>
+<td class="enum_member_description">
+<p>Lazily load the typelib.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
<hr>
<div class="refsect2">
<a name="G-IREPOSITORY-ERROR:CAPS"></a><h3>G_IREPOSITORY_ERROR</h3>
<pre class="programlisting">#define G_IREPOSITORY_ERROR (g_irepository_error_quark ())
</pre>
-<p>
-Error domain for <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. Errors in this domain will be from the
-<a class="link" href="GIRepository.html#GIRepositoryError" title="enum GIRepositoryError"><span class="type">GIRepositoryError</span></a> enumeration. See <span class="type">GError</span> for more information on
-error domains.
-</p>
+<p>Error domain for <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a>. Errors in this domain will be from the
+<a class="link" href="GIRepository.html#GIRepositoryError" title="enum GIRepositoryError"><span class="type">GIRepositoryError</span></a> enumeration. See <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for more information on
+error domains.</p>
</div>
<hr>
<div class="refsect2">
<a name="GIRepositoryError"></a><h3>enum GIRepositoryError</h3>
-<pre class="programlisting">typedef enum {
- G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND,
- G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH,
- G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT,
- G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND
-} GIRepositoryError;
-</pre>
-<p>
-An error code used with <a class="link" href="GIRepository.html#G-IREPOSITORY-ERROR:CAPS" title="G_IREPOSITORY_ERROR"><span class="type">G_IREPOSITORY_ERROR</span></a> in a <span class="type">GError</span> returned
-from a <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> routine.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>An error code used with <a class="link" href="GIRepository.html#G-IREPOSITORY-ERROR:CAPS" title="G_IREPOSITORY_ERROR"><span class="type">G_IREPOSITORY_ERROR</span></a> in a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> returned
+from a <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> routine.</p>
+<div class="refsect3">
+<a name="GIRepositoryError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="G-IREPOSITORY-ERROR-TYPELIB-NOT-FOUND:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND</code></span></p></td>
-<td>the typelib could not be found.
+<td class="enum_member_name"><p><a name="G-IREPOSITORY-ERROR-TYPELIB-NOT-FOUND:CAPS"></a>G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND</p></td>
+<td class="enum_member_description">
+<p>the typelib could not be found.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-IREPOSITORY-ERROR-NAMESPACE-MISMATCH:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH</code></span></p></td>
-<td>the namespace does not match the
- requested namespace.
+<td class="enum_member_name"><p><a name="G-IREPOSITORY-ERROR-NAMESPACE-MISMATCH:CAPS"></a>G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH</p></td>
+<td class="enum_member_description">
+<p>the namespace does not match the
+ requested namespace.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-IREPOSITORY-ERROR-NAMESPACE-VERSION-CONFLICT:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT</code></span></p></td>
-<td>the version of the
- typelib does not match the requested version.
+<td class="enum_member_name"><p><a name="G-IREPOSITORY-ERROR-NAMESPACE-VERSION-CONFLICT:CAPS"></a>G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT</p></td>
+<td class="enum_member_description">
+<p>the version of the
+ typelib does not match the requested version.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-IREPOSITORY-ERROR-LIBRARY-NOT-FOUND:CAPS"></a><span class="term"><code class="literal">G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND</code></span></p></td>
-<td>the library used by the typelib
- could not be found.
+<td class="enum_member_name"><p><a name="G-IREPOSITORY-ERROR-LIBRARY-NOT-FOUND:CAPS"></a>G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND</p></td>
+<td class="enum_member_description">
+<p>the library used by the typelib
+ could not be found.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
+</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/annotation-glossary.html b/docs/reference/html/annotation-glossary.html
index 9fc25659..433fbf79 100644
--- a/docs/reference/html/annotation-glossary.html
+++ b/docs/reference/html/annotation-glossary.html
@@ -2,47 +2,60 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Annotation Glossary</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Annotation Glossary: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="api-index-1-35-8.html" title="Index of new symbols in 1.35.8">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-1-35-8.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td> </td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#glsA">A</a>
-  | 
- <a class="shortcut" href="#glsE">E</a>
-  | 
- <a class="shortcut" href="#glsO">O</a>
-  | 
- <a class="shortcut" href="#glsT">T</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_glossary"><a class="shortcut" href="#glsA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsE">E</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsN">N</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsO">O</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsS">S</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsT">T</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-35-8.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
+</tr></table>
<div class="glossary">
<div class="titlepage"><div><div><h1 class="title">
<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
<a name="glsA"></a><h3 class="title">A</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt>
-<dd class="glossdef"><p>NULL is ok, both for passing and for returning.</p></dd>
+<dd class="glossdef"><p>NULL is OK, both for passing and for returning.</p></dd>
<a name="glsE"></a><h3 class="title">E</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
+<a name="glsN"></a><h3 class="title">N</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-nullable"></a>nullable</span></dt>
+<dd class="glossdef"><p>NULL may be passed as the value in, out, in-out; or as a return value.</p></dd>
<a name="glsO"></a><h3 class="title">O</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
<dt><span class="glossterm"><a name="annotation-glossterm-out%20caller-allocates"></a>out caller-allocates</span></dt>
<dd class="glossdef"><p>Out parameter, where caller must allocate storage.</p></dd>
+<a name="glsS"></a><h3 class="title">S</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-skip"></a>skip</span></dt>
+<dd class="glossdef"><p>Exposed in C code, not necessarily available in other languages.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-Stable"></a>Stable</span></dt>
+<dd class="glossdef"><p>The intention of a Stable interface is to enable arbitrary third parties to
+develop applications to these interfaces, release them, and have confidence that
+they will run on all minor releases of the product (after the one in which the
+interface was introduced, and within the same major release). Even at a major
+release, incompatible changes are expected to be rare, and to have strong
+justifications.
+</p></dd>
<a name="glsT"></a><h3 class="title">T</h3>
<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt>
<dd class="glossdef"><p>Free data after the code is done.</p></dd>
@@ -52,7 +65,6 @@
<dd class="glossdef"><p>Override the parsed C type with given type.</p></dd>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/api-index-1-29-0.html b/docs/reference/html/api-index-1-29-0.html
index ca0c7b3a..88fce431 100644
--- a/docs/reference/html/api-index-1-29-0.html
+++ b/docs/reference/html/api-index-1-29-0.html
@@ -2,37 +2,33 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.29.0</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Index of new symbols in 1.29.0: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated symbols">
<link rel="next" href="api-index-1-29-17.html" title="Index of new symbols in 1.29.17">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-deprecated.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="api-index-1-29-17.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts"><a class="shortcut" href="#idxA">A</a></td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-deprecated.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-29-17.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-1-29-0"></a>Index of new symbols in 1.29.0</h1></div></div></div>
<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/api-index-1-29-17.html b/docs/reference/html/api-index-1-29-17.html
index c6f2c895..3fc34356 100644
--- a/docs/reference/html/api-index-1-29-17.html
+++ b/docs/reference/html/api-index-1-29-17.html
@@ -2,54 +2,48 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.29.17</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Index of new symbols in 1.29.17: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="api-index-1-29-0.html" title="Index of new symbols in 1.29.0">
<link rel="next" href="api-index-1-30-1.html" title="Index of new symbols in 1.30.1">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-1-29-0.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="api-index-1-30-1.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxE">E</a>
-  | 
- <a class="shortcut" href="#idxI">I</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxE">E</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxI">I</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-29-0.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-30-1.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-1-29-17"></a>Index of new symbols in 1.29.17</h1></div></div></div>
<a name="idx"></a><a name="idxE"></a><h3 class="title">E</h3>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-error-domain" title="g_enum_info_get_error_domain ()">g_enum_info_get_error_domain</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-error-domain" title="g_enum_info_get_error_domain ()">g_enum_info_get_error_domain</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-method" title="g_enum_info_get_method ()">g_enum_info_get_method</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-method" title="g_enum_info_get_method ()">g_enum_info_get_method</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-methods" title="g_enum_info_get_n_methods ()">g_enum_info_get_n_methods</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-methods" title="g_enum_info_get_n_methods ()">g_enum_info_get_n_methods</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<a name="idxI"></a><h3 class="title">I</h3>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-find-by-error-domain" title="g_irepository_find_by_error_domain ()">g_irepository_find_by_error_domain</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-find-by-error-domain" title="g_irepository_find_by_error_domain ()">g_irepository_find_by_error_domain</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/api-index-1-30-1.html b/docs/reference/html/api-index-1-30-1.html
index e3d03ddd..fbf2f0c5 100644
--- a/docs/reference/html/api-index-1-30-1.html
+++ b/docs/reference/html/api-index-1-30-1.html
@@ -2,37 +2,33 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.30.1</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Index of new symbols in 1.30.1: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="api-index-1-29-17.html" title="Index of new symbols in 1.29.17">
<link rel="next" href="api-index-1-34.html" title="Index of new symbols in 1.34">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-1-29-17.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="api-index-1-34.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts"><a class="shortcut" href="#idxC">C</a></td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxC">C</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-29-17.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-34.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-1-30-1"></a>Index of new symbols in 1.30.1</h1></div></div></div>
<a name="idx"></a><a name="idxC"></a><h3 class="title">C</h3>
<dt>
-<a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()">g_constant_info_free_value</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
+<a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()">g_constant_info_free_value</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
</dt>
<dd></dd>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/api-index-1-34.html b/docs/reference/html/api-index-1-34.html
index bee61fe0..4c78a453 100644
--- a/docs/reference/html/api-index-1-34.html
+++ b/docs/reference/html/api-index-1-34.html
@@ -2,50 +2,44 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.34</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Index of new symbols in 1.34: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="api-index-1-30-1.html" title="Index of new symbols in 1.30.1">
<link rel="next" href="api-index-1-35-8.html" title="Index of new symbols in 1.35.8">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-1-30-1.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="api-index-1-35-8.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxC">C</a>
-  | 
- <a class="shortcut" href="#idxI">I</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxC">C</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxI">I</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-30-1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-35-8.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-1-34"></a>Index of new symbols in 1.34</h1></div></div></div>
<a name="idx"></a><a name="idxC"></a><h3 class="title">C</h3>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" title="g_callable_info_can_throw_gerror ()">g_callable_info_can_throw_gerror</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" title="g_callable_info_can_throw_gerror ()">g_callable_info_can_throw_gerror</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-is-method" title="g_callable_info_is_method ()">g_callable_info_is_method</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-is-method" title="g_callable_info_is_method ()">g_callable_info_is_method</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<a name="idxI"></a><h3 class="title">I</h3>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-signal" title="g_interface_info_find_signal ()">g_interface_info_find_signal</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-signal" title="g_interface_info_find_signal ()">g_interface_info_find_signal</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/api-index-1-35-8.html b/docs/reference/html/api-index-1-35-8.html
index e309e834..513a2f8d 100644
--- a/docs/reference/html/api-index-1-35-8.html
+++ b/docs/reference/html/api-index-1-35-8.html
@@ -2,37 +2,33 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of new symbols in 1.35.8</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Index of new symbols in 1.35.8: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="api-index-1-34.html" title="Index of new symbols in 1.34">
<link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="api-index-1-34.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts"><a class="shortcut" href="#idxI">I</a></td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxI">I</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-1-34.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-1-35-8"></a>Index of new symbols in 1.35.8</h1></div></div></div>
<a name="idx"></a><a name="idxI"></a><h3 class="title">I</h3>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-prepend-library-path" title="g_irepository_prepend_library_path ()">g_irepository_prepend_library_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-prepend-library-path" title="g_irepository_prepend_library_path ()">g_irepository_prepend_library_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/api-index-deprecated.html b/docs/reference/html/api-index-deprecated.html
index 53d1c243..223569fc 100644
--- a/docs/reference/html/api-index-deprecated.html
+++ b/docs/reference/html/api-index-deprecated.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index of deprecated symbols</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Index of deprecated symbols: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="api-index-full.html" title="Index">
<link rel="next" href="api-index-1-29-0.html" title="Index of new symbols in 1.29.0">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="api-index-1-29-0.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-1-29-0.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
@@ -25,7 +25,6 @@
<a name="idx"></a>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/api-index-full.html b/docs/reference/html/api-index-full.html
index 2235bf8a..43dea9ad 100644
--- a/docs/reference/html/api-index-full.html
+++ b/docs/reference/html/api-index-full.html
@@ -2,56 +2,51 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Index: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="gi-gir-reference.html" title="The GIR XML format">
<link rel="next" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-gir-reference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="api-index-deprecated.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a class="shortcut" href="#idxA">A</a>
-  | 
- <a class="shortcut" href="#idxB">B</a>
-  | 
- <a class="shortcut" href="#idxC">C</a>
-  | 
- <a class="shortcut" href="#idxD">D</a>
-  | 
- <a class="shortcut" href="#idxE">E</a>
-  | 
- <a class="shortcut" href="#idxF">F</a>
-  | 
- <a class="shortcut" href="#idxH">H</a>
-  | 
- <a class="shortcut" href="#idxI">I</a>
-  | 
- <a class="shortcut" href="#idxO">O</a>
-  | 
- <a class="shortcut" href="#idxP">P</a>
-  | 
- <a class="shortcut" href="#idxR">R</a>
-  | 
- <a class="shortcut" href="#idxS">S</a>
-  | 
- <a class="shortcut" href="#idxT">T</a>
-  | 
- <a class="shortcut" href="#idxU">U</a>
-  | 
- <a class="shortcut" href="#idxV">V</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxB">B</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxC">C</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxD">D</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxE">E</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxF">F</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxH">H</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxI">I</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxO">O</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxP">P</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxR">R</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxS">S</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxT">T</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxU">U</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxV">V</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="gi-gir-reference.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-deprecated.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-full"></a>Index</h1></div></div></div>
@@ -61,51 +56,51 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-closure" title="g_arg_info_get_closure ()">g_arg_info_get_closure</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-closure" title="g_arg_info_get_closure ()">g_arg_info_get_closure</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-destroy" title="g_arg_info_get_destroy ()">g_arg_info_get_destroy</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-destroy" title="g_arg_info_get_destroy ()">g_arg_info_get_destroy</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-direction" title="g_arg_info_get_direction ()">g_arg_info_get_direction</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-direction" title="g_arg_info_get_direction ()">g_arg_info_get_direction</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-ownership-transfer" title="g_arg_info_get_ownership_transfer ()">g_arg_info_get_ownership_transfer</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-ownership-transfer" title="g_arg_info_get_ownership_transfer ()">g_arg_info_get_ownership_transfer</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-scope" title="g_arg_info_get_scope ()">g_arg_info_get_scope</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-scope" title="g_arg_info_get_scope ()">g_arg_info_get_scope</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()">g_arg_info_get_type</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()">g_arg_info_get_type</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-caller-allocates" title="g_arg_info_is_caller_allocates ()">g_arg_info_is_caller_allocates</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-caller-allocates" title="g_arg_info_is_caller_allocates ()">g_arg_info_is_caller_allocates</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()">g_arg_info_is_optional</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()">g_arg_info_is_optional</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-return-value" title="g_arg_info_is_return_value ()">g_arg_info_is_return_value</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-return-value" title="g_arg_info_is_return_value ()">g_arg_info_is_return_value</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-load-type" title="g_arg_info_load_type ()">g_arg_info_load_type</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-load-type" title="g_arg_info_load_type ()">g_arg_info_load_type</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIArgInfo.html#g-arg-info-may-be-null" title="g_arg_info_may_be_null ()">g_arg_info_may_be_null</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-may-be-null" title="g_arg_info_may_be_null ()">g_arg_info_may_be_null</a>, function in <a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
</dt>
<dd></dd>
<dt>
@@ -122,108 +117,108 @@
<dd></dd>
<a name="idxB"></a><h3 class="title">B</h3>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<a name="idxC"></a><h3 class="title">C</h3>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" title="g_callable_info_can_throw_gerror ()">g_callable_info_can_throw_gerror</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" title="g_callable_info_can_throw_gerror ()">g_callable_info_can_throw_gerror</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#g-callable-info-free-closure" title="g_callable_info_free_closure ()">g_callable_info_free_closure</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#g-callable-info-free-closure" title="g_callable_info_free_closure ()">g_callable_info_free_closure</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-arg" title="g_callable_info_get_arg ()">g_callable_info_get_arg</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-arg" title="g_callable_info_get_arg ()">g_callable_info_get_arg</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-caller-owns" title="g_callable_info_get_caller_owns ()">g_callable_info_get_caller_owns</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-caller-owns" title="g_callable_info_get_caller_owns ()">g_callable_info_get_caller_owns</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()">g_callable_info_get_n_args</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()">g_callable_info_get_n_args</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-attribute" title="g_callable_info_get_return_attribute ()">g_callable_info_get_return_attribute</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-attribute" title="g_callable_info_get_return_attribute ()">g_callable_info_get_return_attribute</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-type" title="g_callable_info_get_return_type ()">g_callable_info_get_return_type</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-type" title="g_callable_info_get_return_type ()">g_callable_info_get_return_type</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-invoke" title="g_callable_info_invoke ()">g_callable_info_invoke</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-invoke" title="g_callable_info_invoke ()">g_callable_info_invoke</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-is-method" title="g_callable_info_is_method ()">g_callable_info_is_method</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-is-method" title="g_callable_info_is_method ()">g_callable_info_is_method</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-iterate-return-attributes" title="g_callable_info_iterate_return_attributes ()">g_callable_info_iterate_return_attributes</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-iterate-return-attributes" title="g_callable_info_iterate_return_attributes ()">g_callable_info_iterate_return_attributes</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-load-arg" title="g_callable_info_load_arg ()">g_callable_info_load_arg</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-load-arg" title="g_callable_info_load_arg ()">g_callable_info_load_arg</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-load-return-type" title="g_callable_info_load_return_type ()">g_callable_info_load_return_type</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-load-return-type" title="g_callable_info_load_return_type ()">g_callable_info_load_return_type</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-may-return-null" title="g_callable_info_may_return_null ()">g_callable_info_may_return_null</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-may-return-null" title="g_callable_info_may_return_null ()">g_callable_info_may_return_null</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#g-callable-info-prepare-closure" title="g_callable_info_prepare_closure ()">g_callable_info_prepare_closure</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#g-callable-info-prepare-closure" title="g_callable_info_prepare_closure ()">g_callable_info_prepare_closure</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GICallableInfo.html#g-callable-info-skip-return" title="g_callable_info_skip_return ()">g_callable_info_skip_return</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-skip-return" title="g_callable_info_skip_return ()">g_callable_info_skip_return</a>, function in <a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
</dt>
<dd></dd>
<dt>
@@ -239,15 +234,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()">g_constant_info_free_value</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
+<a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()">g_constant_info_free_value</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-type" title="g_constant_info_get_type ()">g_constant_info_get_type</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
+<a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-type" title="g_constant_info_get_type ()">g_constant_info_get_type</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()">g_constant_info_get_value</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
+<a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()">g_constant_info_get_value</a>, function in <a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
</dt>
<dd></dd>
<a name="idxD"></a><h3 class="title">D</h3>
@@ -261,27 +256,27 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-error-domain" title="g_enum_info_get_error_domain ()">g_enum_info_get_error_domain</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-error-domain" title="g_enum_info_get_error_domain ()">g_enum_info_get_error_domain</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-method" title="g_enum_info_get_method ()">g_enum_info_get_method</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-method" title="g_enum_info_get_method ()">g_enum_info_get_method</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-methods" title="g_enum_info_get_n_methods ()">g_enum_info_get_n_methods</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-methods" title="g_enum_info_get_n_methods ()">g_enum_info_get_n_methods</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-values" title="g_enum_info_get_n_values ()">g_enum_info_get_n_values</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-values" title="g_enum_info_get_n_values ()">g_enum_info_get_n_values</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-storage-type" title="g_enum_info_get_storage_type ()">g_enum_info_get_storage_type</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-storage-type" title="g_enum_info_get_storage_type ()">g_enum_info_get_storage_type</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-value" title="g_enum_info_get_value ()">g_enum_info_get_value</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-value" title="g_enum_info_get_value ()">g_enum_info_get_value</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
@@ -294,27 +289,27 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-field" title="g_field_info_get_field ()">g_field_info_get_field</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-field" title="g_field_info_get_field ()">g_field_info_get_field</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-flags" title="g_field_info_get_flags ()">g_field_info_get_flags</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-flags" title="g_field_info_get_flags ()">g_field_info_get_flags</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-offset" title="g_field_info_get_offset ()">g_field_info_get_offset</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-offset" title="g_field_info_get_offset ()">g_field_info_get_offset</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-size" title="g_field_info_get_size ()">g_field_info_get_size</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-size" title="g_field_info_get_size ()">g_field_info_get_size</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-type" title="g_field_info_get_type ()">g_field_info_get_type</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-type" title="g_field_info_get_type ()">g_field_info_get_type</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFieldInfo.html#g-field-info-set-field" title="g_field_info_set_field ()">g_field_info_set_field</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-set-field" title="g_field_info_set_field ()">g_field_info_set_field</a>, function in <a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
</dt>
<dd></dd>
<dt>
@@ -322,35 +317,35 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-flags" title="g_function_info_get_flags ()">g_function_info_get_flags</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-flags" title="g_function_info_get_flags ()">g_function_info_get_flags</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-property" title="g_function_info_get_property ()">g_function_info_get_property</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-property" title="g_function_info_get_property ()">g_function_info_get_property</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-symbol" title="g_function_info_get_symbol ()">g_function_info_get_symbol</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-symbol" title="g_function_info_get_symbol ()">g_function_info_get_symbol</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-vfunc" title="g_function_info_get_vfunc ()">g_function_info_get_vfunc</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-vfunc" title="g_function_info_get_vfunc ()">g_function_info_get_vfunc</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFunctionInfo.html#g-function-info-invoke" title="g_function_info_invoke ()">g_function_info_invoke</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-invoke" title="g_function_info_invoke ()">g_function_info_invoke</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#g-function-info-prep-invoker" title="g_function_info_prep_invoker ()">g_function_info_prep_invoker</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#g-function-info-prep-invoker" title="g_function_info_prep_invoker ()">g_function_info_prep_invoker</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#g-function-invoker-destroy" title="g_function_invoker_destroy ()">g_function_invoker_destroy</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#g-function-invoker-destroy" title="g_function_invoker_destroy ()">g_function_invoker_destroy</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#g-function-invoker-new-for-address" title="g_function_invoker_new_for_address ()">g_function_invoker_new_for_address</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#g-function-invoker-new-for-address" title="g_function_invoker_new_for_address ()">g_function_invoker_new_for_address</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<a name="idxH"></a><h3 class="title">H</h3>
@@ -364,7 +359,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument">GIArgument</a>, union in <a class="link" href="gi-common-types.html" title="common types">common types</a>
+<a class="link" href="gi-common-types.html#GIArgument" title="GIArgument">GIArgument</a>, union in <a class="link" href="gi-common-types.html" title="common types">common types</a>
</dt>
<dd></dd>
<dt>
@@ -396,7 +391,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#GIFFIClosureCallback" title="GIFFIClosureCallback ()">GIFFIClosureCallback</a>, user_function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#GIFFIClosureCallback" title="GIFFIClosureCallback ()">GIFFIClosureCallback</a>, user_function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<dt>
@@ -432,11 +427,11 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIBaseInfo.html#g-info-new" title="g_info_new ()">g_info_new</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+<a class="link" href="gi-GIBaseInfo.html#g-info-new" title="g_info_new ()">g_info_new</a>, function in <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
@@ -448,67 +443,67 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-method" title="g_interface_info_find_method ()">g_interface_info_find_method</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-method" title="g_interface_info_find_method ()">g_interface_info_find_method</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-signal" title="g_interface_info_find_signal ()">g_interface_info_find_signal</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-signal" title="g_interface_info_find_signal ()">g_interface_info_find_signal</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-vfunc" title="g_interface_info_find_vfunc ()">g_interface_info_find_vfunc</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-vfunc" title="g_interface_info_find_vfunc ()">g_interface_info_find_vfunc</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-constant" title="g_interface_info_get_constant ()">g_interface_info_get_constant</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-constant" title="g_interface_info_get_constant ()">g_interface_info_get_constant</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-iface-struct" title="g_interface_info_get_iface_struct ()">g_interface_info_get_iface_struct</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-iface-struct" title="g_interface_info_get_iface_struct ()">g_interface_info_get_iface_struct</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-method" title="g_interface_info_get_method ()">g_interface_info_get_method</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-method" title="g_interface_info_get_method ()">g_interface_info_get_method</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-constants" title="g_interface_info_get_n_constants ()">g_interface_info_get_n_constants</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-constants" title="g_interface_info_get_n_constants ()">g_interface_info_get_n_constants</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-methods" title="g_interface_info_get_n_methods ()">g_interface_info_get_n_methods</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-methods" title="g_interface_info_get_n_methods ()">g_interface_info_get_n_methods</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-prerequisites" title="g_interface_info_get_n_prerequisites ()">g_interface_info_get_n_prerequisites</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-prerequisites" title="g_interface_info_get_n_prerequisites ()">g_interface_info_get_n_prerequisites</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-properties" title="g_interface_info_get_n_properties ()">g_interface_info_get_n_properties</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-properties" title="g_interface_info_get_n_properties ()">g_interface_info_get_n_properties</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-signals" title="g_interface_info_get_n_signals ()">g_interface_info_get_n_signals</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-signals" title="g_interface_info_get_n_signals ()">g_interface_info_get_n_signals</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-vfuncs" title="g_interface_info_get_n_vfuncs ()">g_interface_info_get_n_vfuncs</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-vfuncs" title="g_interface_info_get_n_vfuncs ()">g_interface_info_get_n_vfuncs</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-prerequisite" title="g_interface_info_get_prerequisite ()">g_interface_info_get_prerequisite</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-prerequisite" title="g_interface_info_get_prerequisite ()">g_interface_info_get_prerequisite</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-property" title="g_interface_info_get_property ()">g_interface_info_get_property</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-property" title="g_interface_info_get_property ()">g_interface_info_get_property</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-signal" title="g_interface_info_get_signal ()">g_interface_info_get_signal</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-signal" title="g_interface_info_get_signal ()">g_interface_info_get_signal</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-vfunc" title="g_interface_info_get_vfunc ()">g_interface_info_get_vfunc</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-vfunc" title="g_interface_info_get_vfunc ()">g_interface_info_get_vfunc</a>, function in <a class="link" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">GIInterfaceInfo</a>
</dt>
<dd></dd>
<dt>
@@ -520,7 +515,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIFunctionInfo.html#g-invoke-error-quark" title="g_invoke_error_quark ()">g_invoke_error_quark</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+<a class="link" href="gi-GIFunctionInfo.html#g-invoke-error-quark" title="g_invoke_error_quark ()">g_invoke_error_quark</a>, function in <a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
</dt>
<dd></dd>
<dt>
@@ -528,19 +523,19 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()">GIObjectInfoGetValueFunction</a>, user_function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()">GIObjectInfoGetValueFunction</a>, user_function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()">GIObjectInfoRefFunction</a>, user_function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()">GIObjectInfoRefFunction</a>, user_function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()">GIObjectInfoSetValueFunction</a>, user_function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()">GIObjectInfoSetValueFunction</a>, user_function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()">GIObjectInfoUnrefFunction</a>, user_function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()">GIObjectInfoUnrefFunction</a>, user_function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
@@ -564,11 +559,11 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-dump" title="g_irepository_dump ()">g_irepository_dump</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-dump" title="g_irepository_dump ()">g_irepository_dump</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-enumerate-versions" title="g_irepository_enumerate_versions ()">g_irepository_enumerate_versions</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-enumerate-versions" title="g_irepository_enumerate_versions ()">g_irepository_enumerate_versions</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
@@ -576,87 +571,87 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-find-by-error-domain" title="g_irepository_find_by_error_domain ()">g_irepository_find_by_error_domain</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-find-by-error-domain" title="g_irepository_find_by_error_domain ()">g_irepository_find_by_error_domain</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()">g_irepository_find_by_gtype</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()">g_irepository_find_by_gtype</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()">g_irepository_find_by_name</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()">g_irepository_find_by_name</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-c-prefix" title="g_irepository_get_c_prefix ()">g_irepository_get_c_prefix</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-c-prefix" title="g_irepository_get_c_prefix ()">g_irepository_get_c_prefix</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-default" title="g_irepository_get_default ()">g_irepository_get_default</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-default" title="g_irepository_get_default ()">g_irepository_get_default</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-dependencies" title="g_irepository_get_dependencies ()">g_irepository_get_dependencies</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-dependencies" title="g_irepository_get_dependencies ()">g_irepository_get_dependencies</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()">g_irepository_get_immediate_dependencies</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-immediate-dependencies" title="g_irepository_get_immediate_dependencies ()">g_irepository_get_immediate_dependencies</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()">g_irepository_get_info</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()">g_irepository_get_info</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-loaded-namespaces" title="g_irepository_get_loaded_namespaces ()">g_irepository_get_loaded_namespaces</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-loaded-namespaces" title="g_irepository_get_loaded_namespaces ()">g_irepository_get_loaded_namespaces</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()">g_irepository_get_n_infos</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-n-infos" title="g_irepository_get_n_infos ()">g_irepository_get_n_infos</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-option-group" title="g_irepository_get_option_group ()">g_irepository_get_option_group</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-option-group" title="g_irepository_get_option_group ()">g_irepository_get_option_group</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-search-path" title="g_irepository_get_search_path ()">g_irepository_get_search_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-search-path" title="g_irepository_get_search_path ()">g_irepository_get_search_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-shared-library" title="g_irepository_get_shared_library ()">g_irepository_get_shared_library</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-shared-library" title="g_irepository_get_shared_library ()">g_irepository_get_shared_library</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-typelib-path" title="g_irepository_get_typelib_path ()">g_irepository_get_typelib_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-typelib-path" title="g_irepository_get_typelib_path ()">g_irepository_get_typelib_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-get-version" title="g_irepository_get_version ()">g_irepository_get_version</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-get-version" title="g_irepository_get_version ()">g_irepository_get_version</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-is-registered" title="g_irepository_is_registered ()">g_irepository_is_registered</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-is-registered" title="g_irepository_is_registered ()">g_irepository_is_registered</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-load-typelib" title="g_irepository_load_typelib ()">g_irepository_load_typelib</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-load-typelib" title="g_irepository_load_typelib ()">g_irepository_load_typelib</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-prepend-library-path" title="g_irepository_prepend_library_path ()">g_irepository_prepend_library_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-prepend-library-path" title="g_irepository_prepend_library_path ()">g_irepository_prepend_library_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-prepend-search-path" title="g_irepository_prepend_search_path ()">g_irepository_prepend_search_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-prepend-search-path" title="g_irepository_prepend_search_path ()">g_irepository_prepend_search_path</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()">g_irepository_require</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-require" title="g_irepository_require ()">g_irepository_require</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#g-irepository-require-private" title="g_irepository_require_private ()">g_irepository_require_private</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#g-irepository-require-private" title="g_irepository_require_private ()">g_irepository_require_private</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
@@ -720,7 +715,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="GIRepository.html#gi-cclosure-marshal-generic" title="gi_cclosure_marshal_generic ()">gi_cclosure_marshal_generic</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
+<a class="link" href="GIRepository.html#gi-cclosure-marshal-generic" title="gi_cclosure_marshal_generic ()">gi_cclosure_marshal_generic</a>, function in <a class="link" href="GIRepository.html" title="GIRepository">GIRepository</a>
</dt>
<dd></dd>
<dt>
@@ -780,11 +775,11 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#gi-type-info-extract-ffi-return-value" title="gi_type_info_extract_ffi_return_value ()">gi_type_info_extract_ffi_return_value</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#gi-type-info-extract-ffi-return-value" title="gi_type_info_extract_ffi_return_value ()">gi_type_info_extract_ffi_return_value</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#gi-type-tag-get-ffi-type" title="gi_type_tag_get_ffi_type ()">gi_type_tag_get_ffi_type</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#gi-type-tag-get-ffi-type" title="gi_type_tag_get_ffi_type ()">gi_type_tag_get_ffi_type</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<dt>
@@ -797,135 +792,135 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-method" title="g_object_info_find_method ()">g_object_info_find_method</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-method" title="g_object_info_find_method ()">g_object_info_find_method</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-method-using-interfaces" title="g_object_info_find_method_using_interfaces ()">g_object_info_find_method_using_interfaces</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-method-using-interfaces" title="g_object_info_find_method_using_interfaces ()">g_object_info_find_method_using_interfaces</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-signal" title="g_object_info_find_signal ()">g_object_info_find_signal</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-signal" title="g_object_info_find_signal ()">g_object_info_find_signal</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc" title="g_object_info_find_vfunc ()">g_object_info_find_vfunc</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc" title="g_object_info_find_vfunc ()">g_object_info_find_vfunc</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc-using-interfaces" title="g_object_info_find_vfunc_using_interfaces ()">g_object_info_find_vfunc_using_interfaces</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc-using-interfaces" title="g_object_info_find_vfunc_using_interfaces ()">g_object_info_find_vfunc_using_interfaces</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-abstract" title="g_object_info_get_abstract ()">g_object_info_get_abstract</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-abstract" title="g_object_info_get_abstract ()">g_object_info_get_abstract</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-class-struct" title="g_object_info_get_class_struct ()">g_object_info_get_class_struct</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-class-struct" title="g_object_info_get_class_struct ()">g_object_info_get_class_struct</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-constant" title="g_object_info_get_constant ()">g_object_info_get_constant</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-constant" title="g_object_info_get_constant ()">g_object_info_get_constant</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-field" title="g_object_info_get_field ()">g_object_info_get_field</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-field" title="g_object_info_get_field ()">g_object_info_get_field</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-fundamental" title="g_object_info_get_fundamental ()">g_object_info_get_fundamental</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-fundamental" title="g_object_info_get_fundamental ()">g_object_info_get_fundamental</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function" title="g_object_info_get_get_value_function ()">g_object_info_get_get_value_function</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function" title="g_object_info_get_get_value_function ()">g_object_info_get_get_value_function</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function-pointer" title="g_object_info_get_get_value_function_pointer ()">g_object_info_get_get_value_function_pointer</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function-pointer" title="g_object_info_get_get_value_function_pointer ()">g_object_info_get_get_value_function_pointer</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-interface" title="g_object_info_get_interface ()">g_object_info_get_interface</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-interface" title="g_object_info_get_interface ()">g_object_info_get_interface</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-method" title="g_object_info_get_method ()">g_object_info_get_method</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-method" title="g_object_info_get_method ()">g_object_info_get_method</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-constants" title="g_object_info_get_n_constants ()">g_object_info_get_n_constants</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-constants" title="g_object_info_get_n_constants ()">g_object_info_get_n_constants</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-fields" title="g_object_info_get_n_fields ()">g_object_info_get_n_fields</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-fields" title="g_object_info_get_n_fields ()">g_object_info_get_n_fields</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-interfaces" title="g_object_info_get_n_interfaces ()">g_object_info_get_n_interfaces</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-interfaces" title="g_object_info_get_n_interfaces ()">g_object_info_get_n_interfaces</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-methods" title="g_object_info_get_n_methods ()">g_object_info_get_n_methods</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-methods" title="g_object_info_get_n_methods ()">g_object_info_get_n_methods</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-properties" title="g_object_info_get_n_properties ()">g_object_info_get_n_properties</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-properties" title="g_object_info_get_n_properties ()">g_object_info_get_n_properties</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-signals" title="g_object_info_get_n_signals ()">g_object_info_get_n_signals</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-signals" title="g_object_info_get_n_signals ()">g_object_info_get_n_signals</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-vfuncs" title="g_object_info_get_n_vfuncs ()">g_object_info_get_n_vfuncs</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-vfuncs" title="g_object_info_get_n_vfuncs ()">g_object_info_get_n_vfuncs</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-parent" title="g_object_info_get_parent ()">g_object_info_get_parent</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-parent" title="g_object_info_get_parent ()">g_object_info_get_parent</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-property" title="g_object_info_get_property ()">g_object_info_get_property</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-property" title="g_object_info_get_property ()">g_object_info_get_property</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function" title="g_object_info_get_ref_function ()">g_object_info_get_ref_function</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function" title="g_object_info_get_ref_function ()">g_object_info_get_ref_function</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function-pointer" title="g_object_info_get_ref_function_pointer ()">g_object_info_get_ref_function_pointer</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function-pointer" title="g_object_info_get_ref_function_pointer ()">g_object_info_get_ref_function_pointer</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function" title="g_object_info_get_set_value_function ()">g_object_info_get_set_value_function</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function" title="g_object_info_get_set_value_function ()">g_object_info_get_set_value_function</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function-pointer" title="g_object_info_get_set_value_function_pointer ()">g_object_info_get_set_value_function_pointer</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function-pointer" title="g_object_info_get_set_value_function_pointer ()">g_object_info_get_set_value_function_pointer</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-signal" title="g_object_info_get_signal ()">g_object_info_get_signal</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-signal" title="g_object_info_get_signal ()">g_object_info_get_signal</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-type-init" title="g_object_info_get_type_init ()">g_object_info_get_type_init</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-type-init" title="g_object_info_get_type_init ()">g_object_info_get_type_init</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-type-name" title="g_object_info_get_type_name ()">g_object_info_get_type_name</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-type-name" title="g_object_info_get_type_name ()">g_object_info_get_type_name</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function" title="g_object_info_get_unref_function ()">g_object_info_get_unref_function</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function" title="g_object_info_get_unref_function ()">g_object_info_get_unref_function</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function-pointer" title="g_object_info_get_unref_function_pointer ()">g_object_info_get_unref_function_pointer</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function-pointer" title="g_object_info_get_unref_function_pointer ()">g_object_info_get_unref_function_pointer</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-vfunc" title="g_object_info_get_vfunc ()">g_object_info_get_vfunc</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-vfunc" title="g_object_info_get_vfunc ()">g_object_info_get_vfunc</a>, function in <a class="link" href="gi-GIObjectInfo.html" title="GIObjectInfo">GIObjectInfo</a>
</dt>
<dd></dd>
<a name="idxP"></a><h3 class="title">P</h3>
@@ -938,15 +933,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-flags" title="g_property_info_get_flags ()">g_property_info_get_flags</a>, function in <a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
+<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-flags" title="g_property_info_get_flags ()">g_property_info_get_flags</a>, function in <a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-ownership-transfer" title="g_property_info_get_ownership_transfer ()">g_property_info_get_ownership_transfer</a>, function in <a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
+<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-ownership-transfer" title="g_property_info_get_ownership_transfer ()">g_property_info_get_ownership_transfer</a>, function in <a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-type" title="g_property_info_get_type ()">g_property_info_get_type</a>, function in <a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
+<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-type" title="g_property_info_get_type ()">g_property_info_get_type</a>, function in <a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
</dt>
<dd></dd>
<a name="idxR"></a><h3 class="title">R</h3>
@@ -955,15 +950,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type" title="g_registered_type_info_get_g_type ()">g_registered_type_info_get_g_type</a>, function in <a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type" title="g_registered_type_info_get_g_type ()">g_registered_type_info_get_g_type</a>, function in <a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-init" title="g_registered_type_info_get_type_init ()">g_registered_type_info_get_type_init</a>, function in <a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-init" title="g_registered_type_info_get_type_init ()">g_registered_type_info_get_type_init</a>, function in <a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name" title="g_registered_type_info_get_type_name ()">g_registered_type_info_get_type_name</a>, function in <a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name" title="g_registered_type_info_get_type_name ()">g_registered_type_info_get_type_name</a>, function in <a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
</dt>
<dd></dd>
<a name="idxS"></a><h3 class="title">S</h3>
@@ -980,15 +975,15 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GISignalInfo.html#g-signal-info-get-class-closure" title="g_signal_info_get_class_closure ()">g_signal_info_get_class_closure</a>, function in <a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
+<a class="link" href="gi-GISignalInfo.html#g-signal-info-get-class-closure" title="g_signal_info_get_class_closure ()">g_signal_info_get_class_closure</a>, function in <a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GISignalInfo.html#g-signal-info-get-flags" title="g_signal_info_get_flags ()">g_signal_info_get_flags</a>, function in <a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
+<a class="link" href="gi-GISignalInfo.html#g-signal-info-get-flags" title="g_signal_info_get_flags ()">g_signal_info_get_flags</a>, function in <a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GISignalInfo.html#g-signal-info-true-stops-emit" title="g_signal_info_true_stops_emit ()">g_signal_info_true_stops_emit</a>, function in <a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
+<a class="link" href="gi-GISignalInfo.html#g-signal-info-true-stops-emit" title="g_signal_info_true_stops_emit ()">g_signal_info_true_stops_emit</a>, function in <a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
</dt>
<dd></dd>
<dt>
@@ -996,7 +991,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob">SimpleTypeBlob</a>, union in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob">SimpleTypeBlob</a>, union in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
@@ -1008,39 +1003,39 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-find-method" title="g_struct_info_find_method ()">g_struct_info_find_method</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-find-method" title="g_struct_info_find_method ()">g_struct_info_find_method</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-alignment" title="g_struct_info_get_alignment ()">g_struct_info_get_alignment</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-alignment" title="g_struct_info_get_alignment ()">g_struct_info_get_alignment</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-field" title="g_struct_info_get_field ()">g_struct_info_get_field</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-field" title="g_struct_info_get_field ()">g_struct_info_get_field</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-method" title="g_struct_info_get_method ()">g_struct_info_get_method</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-method" title="g_struct_info_get_method ()">g_struct_info_get_method</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-n-fields" title="g_struct_info_get_n_fields ()">g_struct_info_get_n_fields</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-n-fields" title="g_struct_info_get_n_fields ()">g_struct_info_get_n_fields</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-n-methods" title="g_struct_info_get_n_methods ()">g_struct_info_get_n_methods</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-n-methods" title="g_struct_info_get_n_methods ()">g_struct_info_get_n_methods</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-size" title="g_struct_info_get_size ()">g_struct_info_get_size</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-size" title="g_struct_info_get_size ()">g_struct_info_get_size</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-is-foreign" title="g_struct_info_is_foreign ()">g_struct_info_is_foreign</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-is-foreign" title="g_struct_info_is_foreign ()">g_struct_info_is_foreign</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIStructInfo.html#g-struct-info-is-gtype-struct" title="g_struct_info_is_gtype_struct ()">g_struct_info_is_gtype_struct</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-is-gtype-struct" title="g_struct_info_is_gtype_struct ()">g_struct_info_is_gtype_struct</a>, function in <a class="link" href="gi-GIStructInfo.html" title="GIStructInfo">GIStructInfo</a>
</dt>
<dd></dd>
<a name="idxT"></a><h3 class="title">T</h3>
@@ -1049,7 +1044,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-check-sanity" title="g_typelib_check_sanity ()">g_typelib_check_sanity</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-check-sanity" title="g_typelib_check_sanity ()">g_typelib_check_sanity</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
@@ -1057,31 +1052,31 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-error-quark" title="g_typelib_error_quark ()">g_typelib_error_quark</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-error-quark" title="g_typelib_error_quark ()">g_typelib_error_quark</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-gitypelib.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry" title="g_typelib_get_dir_entry ()">g_typelib_get_dir_entry</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry" title="g_typelib_get_dir_entry ()">g_typelib_get_dir_entry</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain" title="g_typelib_get_dir_entry_by_error_domain ()">g_typelib_get_dir_entry_by_error_domain</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain" title="g_typelib_get_dir_entry_by_error_domain ()">g_typelib_get_dir_entry_by_error_domain</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name" title="g_typelib_get_dir_entry_by_gtype_name ()">g_typelib_get_dir_entry_by_gtype_name</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name" title="g_typelib_get_dir_entry_by_gtype_name ()">g_typelib_get_dir_entry_by_gtype_name</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-name" title="g_typelib_get_dir_entry_by_name ()">g_typelib_get_dir_entry_by_name</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-name" title="g_typelib_get_dir_entry_by_name ()">g_typelib_get_dir_entry_by_name</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-gitypelib.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
</dt>
<dd></dd>
<dt>
@@ -1089,63 +1084,63 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix" title="g_typelib_matches_gtype_name_prefix ()">g_typelib_matches_gtype_name_prefix</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix" title="g_typelib_matches_gtype_name_prefix ()">g_typelib_matches_gtype_name_prefix</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-gitypelib.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-gitypelib.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-gitypelib.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-gitypelib.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
+<a class="link" href="gi-gitypelib.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a>, function in <a class="link" href="gi-gitypelib.html" title="gitypelib">gitypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypelib.html#g-typelib-validate" title="g_typelib_validate ()">g_typelib_validate</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
+<a class="link" href="gi-GITypelib.html#g-typelib-validate" title="g_typelib_validate ()">g_typelib_validate</a>, function in <a class="link" href="gi-GITypelib.html" title="GITypelib">GITypelib</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-fixed-size" title="g_type_info_get_array_fixed_size ()">g_type_info_get_array_fixed_size</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-fixed-size" title="g_type_info_get_array_fixed_size ()">g_type_info_get_array_fixed_size</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-length" title="g_type_info_get_array_length ()">g_type_info_get_array_length</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-length" title="g_type_info_get_array_length ()">g_type_info_get_array_length</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-type" title="g_type_info_get_array_type ()">g_type_info_get_array_type</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-type" title="g_type_info_get_array_type ()">g_type_info_get_array_type</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-girffi.html#g-type-info-get-ffi-type" title="g_type_info_get_ffi_type ()">g_type_info_get_ffi_type</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
+<a class="link" href="gi-girffi.html#g-type-info-get-ffi-type" title="g_type_info_get_ffi_type ()">g_type_info_get_ffi_type</a>, function in <a class="link" href="gi-girffi.html" title="girffi">girffi</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-info-get-interface" title="g_type_info_get_interface ()">g_type_info_get_interface</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-interface" title="g_type_info_get_interface ()">g_type_info_get_interface</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-info-get-param-type" title="g_type_info_get_param_type ()">g_type_info_get_param_type</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-param-type" title="g_type_info_get_param_type ()">g_type_info_get_param_type</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-info-get-tag" title="g_type_info_get_tag ()">g_type_info_get_tag</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-tag" title="g_type_info_get_tag ()">g_type_info_get_tag</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-info-is-pointer" title="g_type_info_is_pointer ()">g_type_info_is_pointer</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-is-pointer" title="g_type_info_is_pointer ()">g_type_info_is_pointer</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-info-is-zero-terminated" title="g_type_info_is_zero_terminated ()">g_type_info_is_zero_terminated</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-is-zero-terminated" title="g_type_info_is_zero_terminated ()">g_type_info_is_zero_terminated</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<dt>
@@ -1153,7 +1148,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GITypeInfo.html#g-type-tag-to-string" title="g_type_tag_to_string ()">g_type_tag_to_string</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
+<a class="link" href="gi-GITypeInfo.html#g-type-tag-to-string" title="g_type_tag_to_string ()">g_type_tag_to_string</a>, function in <a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</dt>
<dd></dd>
<a name="idxU"></a><h3 class="title">U</h3>
@@ -1162,47 +1157,47 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-find-method" title="g_union_info_find_method ()">g_union_info_find_method</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-find-method" title="g_union_info_find_method ()">g_union_info_find_method</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-alignment" title="g_union_info_get_alignment ()">g_union_info_get_alignment</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-alignment" title="g_union_info_get_alignment ()">g_union_info_get_alignment</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator" title="g_union_info_get_discriminator ()">g_union_info_get_discriminator</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator" title="g_union_info_get_discriminator ()">g_union_info_get_discriminator</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-offset" title="g_union_info_get_discriminator_offset ()">g_union_info_get_discriminator_offset</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-offset" title="g_union_info_get_discriminator_offset ()">g_union_info_get_discriminator_offset</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-type" title="g_union_info_get_discriminator_type ()">g_union_info_get_discriminator_type</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-type" title="g_union_info_get_discriminator_type ()">g_union_info_get_discriminator_type</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-field" title="g_union_info_get_field ()">g_union_info_get_field</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-field" title="g_union_info_get_field ()">g_union_info_get_field</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-method" title="g_union_info_get_method ()">g_union_info_get_method</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-method" title="g_union_info_get_method ()">g_union_info_get_method</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-fields" title="g_union_info_get_n_fields ()">g_union_info_get_n_fields</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-fields" title="g_union_info_get_n_fields ()">g_union_info_get_n_fields</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-methods" title="g_union_info_get_n_methods ()">g_union_info_get_n_methods</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-methods" title="g_union_info_get_n_methods ()">g_union_info_get_n_methods</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-size" title="g_union_info_get_size ()">g_union_info_get_size</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-size" title="g_union_info_get_size ()">g_union_info_get_size</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIUnionInfo.html#g-union-info-is-discriminated" title="g_union_info_is_discriminated ()">g_union_info_is_discriminated</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-is-discriminated" title="g_union_info_is_discriminated ()">g_union_info_is_discriminated</a>, function in <a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</dt>
<dd></dd>
<a name="idxV"></a><h3 class="title">V</h3>
@@ -1211,7 +1206,7 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIEnumInfo.html#g-value-info-get-value" title="g_value_info_get_value ()">g_value_info_get_value</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
+<a class="link" href="gi-GIEnumInfo.html#g-value-info-get-value" title="g_value_info_get_value ()">g_value_info_get_value</a>, function in <a class="link" href="gi-GIEnumInfo.html" title="GIEnumInfo">GIEnumInfo</a>
</dt>
<dd></dd>
<dt>
@@ -1219,32 +1214,31 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-address" title="g_vfunc_info_get_address ()">g_vfunc_info_get_address</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-address" title="g_vfunc_info_get_address ()">g_vfunc_info_get_address</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-flags" title="g_vfunc_info_get_flags ()">g_vfunc_info_get_flags</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-flags" title="g_vfunc_info_get_flags ()">g_vfunc_info_get_flags</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()">g_vfunc_info_get_invoker</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()">g_vfunc_info_get_invoker</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-offset" title="g_vfunc_info_get_offset ()">g_vfunc_info_get_offset</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-offset" title="g_vfunc_info_get_offset ()">g_vfunc_info_get_offset</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-signal" title="g_vfunc_info_get_signal ()">g_vfunc_info_get_signal</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-signal" title="g_vfunc_info_get_signal ()">g_vfunc_info_get_signal</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-invoke" title="g_vfunc_info_invoke ()">g_vfunc_info_invoke</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-invoke" title="g_vfunc_info_invoke ()">g_vfunc_info_invoke</a>, function in <a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</dt>
<dd></dd>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/ch01.html b/docs/reference/html/ch01.html
index b9f58a0d..86a2a032 100644
--- a/docs/reference/html/ch01.html
+++ b/docs/reference/html/ch01.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIRepository</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIRepository: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="gi.html" title="Part II. API Reference">
<link rel="prev" href="gi.html" title="Part II. API Reference">
<link rel="next" href="GIRepository.html" title="GIRepository">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gi.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="gi.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="GIRepository.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="gi.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="GIRepository.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
@@ -89,7 +89,6 @@
</dl></div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/ch03.html b/docs/reference/html/ch03.html
index a8a305ee..04c63d85 100644
--- a/docs/reference/html/ch03.html
+++ b/docs/reference/html/ch03.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TODO</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>TODO: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="gi.html" title="Part II. API Reference">
<link rel="prev" href="gi-GITypelib.html" title="GITypelib">
<link rel="next" href="gi-girffi.html" title="girffi">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gi-GITypelib.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="gi.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-girffi.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="gi.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GITypelib.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-girffi.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
@@ -32,7 +32,6 @@
</dl></div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIArgInfo.html b/docs/reference/html/gi-GIArgInfo.html
index 57f2c925..043b0495 100644
--- a/docs/reference/html/gi-GIArgInfo.html
+++ b/docs/reference/html/gi-GIArgInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIArgInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIArgInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">
<link rel="next" href="gi-GIConstantInfo.html" title="GIConstantInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIInterfaceInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIConstantInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIArgInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIArgInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIArgInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIInterfaceInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIConstantInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIArgInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,552 +29,684 @@
<h2><span class="refentrytitle"><a name="gi-GIArgInfo.top_of_page"></a>GIArgInfo</span></h2>
<p>GIArgInfo — Struct representing an argument</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIArgInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIArgInfo.html#GI-IS-ARG-INFO:CAPS" title="GI_IS_ARG_INFO()">GI_IS_ARG_INFO</a> (info)
-typedef <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo">GIArgInfo</a>;
-enum <a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection">GIDirection</a>;
-enum <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType">GIScopeType</a>;
-enum <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer">GITransfer</a>;
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-closure" title="g_arg_info_get_closure ()">g_arg_info_get_closure</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-destroy" title="g_arg_info_get_destroy ()">g_arg_info_get_destroy</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="returnvalue">GIDirection</span></a> <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-direction" title="g_arg_info_get_direction ()">g_arg_info_get_direction</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a> <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-ownership-transfer" title="g_arg_info_get_ownership_transfer ()">g_arg_info_get_ownership_transfer</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="returnvalue">GIScopeType</span></a> <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-scope" title="g_arg_info_get_scope ()">g_arg_info_get_scope</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()">g_arg_info_get_type</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-GIArgInfo.html#g-arg-info-load-type" title="g_arg_info_load_type ()">g_arg_info_load_type</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIArgInfo.html#g-arg-info-may-be-null" title="g_arg_info_may_be_null ()">g_arg_info_may_be_null</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-caller-allocates" title="g_arg_info_is_caller_allocates ()">g_arg_info_is_caller_allocates</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()">g_arg_info_is_optional</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-return-value" title="g_arg_info_is_return_value ()">g_arg_info_is_return_value</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a> (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="gi-GIArgInfo.description"></a><h2>Description</h2>
-<p>
-GIArgInfo represents an argument. An argument is always
-part of a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>.
-</p>
-<p>
-</p>
-<div class="refsect1">
-<a name="gi-giarginfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
-<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
- +----GIArgInfo
-</pre>
-</div>
-<p>
-</p>
-</div>
<div class="refsect1">
-<a name="gi-GIArgInfo.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GI-IS-ARG-INFO:CAPS"></a><h3>GI_IS_ARG_INFO()</h3>
-<pre class="programlisting">#define GI_IS_ARG_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a GIArgInfo.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GIArgInfo"></a><h3>GIArgInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIArgInfo;
-</pre>
-<p>
-Represents an argument.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GIDirection"></a><h3>enum GIDirection</h3>
-<pre class="programlisting">typedef enum {
- GI_DIRECTION_IN,
- GI_DIRECTION_OUT,
- GI_DIRECTION_INOUT
-} GIDirection;
-</pre>
-<p>
-The direction of a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="gi-GIArgInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><a name="GI-DIRECTION-IN:CAPS"></a><span class="term"><code class="literal">GI_DIRECTION_IN</code></span></p></td>
-<td>in argument.
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#GI-IS-ARG-INFO:CAPS" title="GI_IS_ARG_INFO()">GI_IS_ARG_INFO</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-DIRECTION-OUT:CAPS"></a><span class="term"><code class="literal">GI_DIRECTION_OUT</code></span></p></td>
-<td>out argument.
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-closure" title="g_arg_info_get_closure ()">g_arg_info_get_closure</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-DIRECTION-INOUT:CAPS"></a><span class="term"><code class="literal">GI_DIRECTION_INOUT</code></span></p></td>
-<td>in and out argument.
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-destroy" title="g_arg_info_get_destroy ()">g_arg_info_get_destroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GIScopeType"></a><h3>enum GIScopeType</h3>
-<pre class="programlisting">typedef enum {
- GI_SCOPE_TYPE_INVALID,
- GI_SCOPE_TYPE_CALL,
- GI_SCOPE_TYPE_ASYNC,
- GI_SCOPE_TYPE_NOTIFIED
-} GIScopeType;
-</pre>
-<p>
-Scope type of a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> representing callback, determines how the
-callback is invoked and is used to decided when the invoke structs
-can be freed.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="GI-SCOPE-TYPE-INVALID:CAPS"></a><span class="term"><code class="literal">GI_SCOPE_TYPE_INVALID</code></span></p></td>
-<td>The argument is not of callback type.
+<td class="function_type">
+<a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="returnvalue">GIDirection</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-direction" title="g_arg_info_get_direction ()">g_arg_info_get_direction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-SCOPE-TYPE-CALL:CAPS"></a><span class="term"><code class="literal">GI_SCOPE_TYPE_CALL</code></span></p></td>
-<td>The callback and associated user_data is only
-used during the call to this function.
+<td class="function_type">
+<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-ownership-transfer" title="g_arg_info_get_ownership_transfer ()">g_arg_info_get_ownership_transfer</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-SCOPE-TYPE-ASYNC:CAPS"></a><span class="term"><code class="literal">GI_SCOPE_TYPE_ASYNC</code></span></p></td>
-<td>The callback and associated user_data is
-only used until the callback is invoked, and the callback.
-is invoked always exactly once.
+<td class="function_type">
+<a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="returnvalue">GIScopeType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-scope" title="g_arg_info_get_scope ()">g_arg_info_get_scope</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-SCOPE-TYPE-NOTIFIED:CAPS"></a><span class="term"><code class="literal">GI_SCOPE_TYPE_NOTIFIED</code></span></p></td>
-<td>The callback and and associated
-user_data is used until the caller is notfied via the destroy_notify.
+<td class="function_type">
+<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()">g_arg_info_get_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GITransfer"></a><h3>enum GITransfer</h3>
-<pre class="programlisting">typedef enum {
- GI_TRANSFER_NOTHING,
- GI_TRANSFER_CONTAINER,
- GI_TRANSFER_EVERYTHING
-} GITransfer;
-</pre>
-<p>
-The transfer is the exchange of data between two parts, from the callee to
-the caller. The callee is either a function/method/signal or an
-object/interface where a property is defined. The caller is the side
-accessing a property or calling a function.
-<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> specifies who's responsible for freeing the resources after the
-ownership transfer is complete. In case of a containing type such as a list,
-an array or a hash table the container itself is specified differently from
-the items within the container itself. Each container is freed differently,
-check the documentation for the types themselves for information on how to
-free them.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
<tr>
-<td><p><a name="GI-TRANSFER-NOTHING:CAPS"></a><span class="term"><code class="literal">GI_TRANSFER_NOTHING</code></span></p></td>
-<td>transfer nothing from the callee (function or the type
-instance the property belongs to) to the caller. The callee retains the
-ownership of the transfer and the caller doesn't need to do anything to free
-up the resources of this transfer.
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-load-type" title="g_arg_info_load_type ()">g_arg_info_load_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-TRANSFER-CONTAINER:CAPS"></a><span class="term"><code class="literal">GI_TRANSFER_CONTAINER</code></span></p></td>
-<td>transfer the container (list, array, hash table) from
-the callee to the caller. The callee retains the ownership of the individual
-items in the container and the caller has to free up the container resources
-(<code class="function">g_list_free()</code>/<code class="function">g_hash_table_destroy()</code> etc) of this transfer.
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-may-be-null" title="g_arg_info_may_be_null ()">g_arg_info_may_be_null</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-TRANSFER-EVERYTHING:CAPS"></a><span class="term"><code class="literal">GI_TRANSFER_EVERYTHING</code></span></p></td>
-<td>transfer everything, eg the container and its
-contents from the callee to the caller. This is the case when the callee
-creates a copy of all the data it returns. The caller is responsible for
-cleaning up the container and item resources of this transfer.
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-caller-allocates" title="g_arg_info_is_caller_allocates ()">g_arg_info_is_caller_allocates</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()">g_arg_info_is_optional</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-return-value" title="g_arg_info_is_return_value ()">g_arg_info_is_return_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIArgInfo.html#g-arg-info-is-skip" title="g_arg_info_is_skip ()">g_arg_info_is_skip</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="g-arg-info-get-closure"></a><h3>g_arg_info_get_closure ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_arg_info_get_closure (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the index of the user data argument. This is only valid
-for arguments which are callbacks.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="gi-GIArgInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo">GIArgInfo</a></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>index of the user data argument or -1 if there is none</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection">GIDirection</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType">GIScopeType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer">GITransfer</a></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect1">
+<a name="gi-GIArgInfo.description"></a><h2>Description</h2>
+<p>GIArgInfo represents an argument. An argument is always
+part of a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>.</p>
+<div class="refsect1">
+<a name="gi-giarginfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
+<pre class="synopsis">
+ <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ +----GIArgInfo
+</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIArgInfo.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="GI-IS-ARG-INFO:CAPS"></a><h3>GI_IS_ARG_INFO()</h3>
+<pre class="programlisting">#define GI_IS_ARG_INFO(info)</pre>
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a GIArgInfo.</p>
+<div class="refsect3">
+<a name="GI-IS-ARG-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-get-destroy"></a><h3>g_arg_info_get_destroy ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_arg_info_get_destroy (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtains the index of the <span class="type">GDestroyNotify</span> argument. This is only valid
-for arguments which are callbacks.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-arg-info-get-closure"></a><h3>g_arg_info_get_closure ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_arg_info_get_closure (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the index of the user data argument. This is only valid
+for arguments which are callbacks.</p>
+<div class="refsect3">
+<a name="g-arg-info-get-closure.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>index of the <span class="type">GDestroyNotify</span> argument or -1 if there is none</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-arg-info-get-closure.returns"></a><h4>Returns</h4>
+<p> index of the user data argument or -1 if there is none</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-get-direction"></a><h3>g_arg_info_get_direction ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="returnvalue">GIDirection</span></a> g_arg_info_get_direction (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the direction of the argument. Check <a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="type">GIDirection</span></a> for possible
-direction values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-arg-info-get-destroy"></a><h3>g_arg_info_get_destroy ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_arg_info_get_destroy (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtains the index of the <a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> argument. This is only valid
+for arguments which are callbacks.</p>
+<div class="refsect3">
+<a name="g-arg-info-get-destroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the direction</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-arg-info-get-destroy.returns"></a><h4>Returns</h4>
+<p> index of the <a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> argument or -1 if there is none</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-get-ownership-transfer"></a><h3>g_arg_info_get_ownership_transfer ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a> g_arg_info_get_ownership_transfer (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the ownership transfer for this argument.
-<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> contains a list of possible values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-arg-info-get-direction"></a><h3>g_arg_info_get_direction ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="returnvalue">GIDirection</span></a>
+g_arg_info_get_direction (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the direction of the argument. Check <a class="link" href="gi-GIArgInfo.html#GIDirection" title="enum GIDirection"><span class="type">GIDirection</span></a> for possible
+direction values.</p>
+<div class="refsect3">
+<a name="g-arg-info-get-direction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the transfer</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-arg-info-get-direction.returns"></a><h4>Returns</h4>
+<p> the direction</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-arg-info-get-ownership-transfer"></a><h3>g_arg_info_get_ownership_transfer ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
+g_arg_info_get_ownership_transfer (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the ownership transfer for this argument.
+<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> contains a list of possible values.</p>
+<div class="refsect3">
+<a name="g-arg-info-get-ownership-transfer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-arg-info-get-ownership-transfer.returns"></a><h4>Returns</h4>
+<p> the transfer</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-get-scope"></a><h3>g_arg_info_get_scope ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="returnvalue">GIScopeType</span></a> g_arg_info_get_scope (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the scope type for this argument. The scope type explains
+<a name="g-arg-info-get-scope"></a><h3>g_arg_info_get_scope ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="returnvalue">GIScopeType</span></a>
+g_arg_info_get_scope (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the scope type for this argument. The scope type explains
how a callback is going to be invoked, most importantly when
the resources required to invoke it can be freed.
-<a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="type">GIScopeType</span></a> contains a list of possible values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="type">GIScopeType</span></a> contains a list of possible values.</p>
+<div class="refsect3">
+<a name="g-arg-info-get-scope.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the scope type</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-arg-info-get-scope.returns"></a><h4>Returns</h4>
+<p> the scope type</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-get-type"></a><h3>g_arg_info_get_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * g_arg_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the type information for <em class="parameter"><code>info</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-arg-info-get-type"></a><h3>g_arg_info_get_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+g_arg_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the type information for <em class="parameter"><code>info</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-arg-info-get-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> holding the type
-information for <em class="parameter"><code>info</code></em>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-arg-info-get-type.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> holding the type
+information for <em class="parameter"><code>info</code></em>
+, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-load-type"></a><h3>g_arg_info_load_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_arg_info_load_type (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);</pre>
-<p>
-Obtain information about a the type of given argument <em class="parameter"><code>info</code></em>; this
-function is a variant of <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()"><code class="function">g_arg_info_get_type()</code></a> designed for stack
-allocation.
-</p>
-<p>
-The initialized <em class="parameter"><code>type</code></em> must not be referenced after <em class="parameter"><code>info</code></em> is deallocated.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-arg-info-load-type"></a><h3>g_arg_info_load_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_arg_info_load_type (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);</pre>
+<p>Obtain information about a the type of given argument <em class="parameter"><code>info</code></em>
+; this
+function is a variant of <a class="link" href="gi-GIArgInfo.html#g-arg-info-get-type" title="g_arg_info_get_type ()"><code class="function">g_arg_info_get_type()</code></a> designed for stack
+allocation.</p>
+<p>The initialized <em class="parameter"><code>type</code></em>
+ must not be referenced after <em class="parameter"><code>info</code></em>
+ is deallocated.</p>
+<div class="refsect3">
+<a name="g-arg-info-load-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td>Initialized with information about type of <em class="parameter"><code>info</code></em>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p> Initialized with information about type of <em class="parameter"><code>info</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-may-be-null"></a><h3>g_arg_info_may_be_null ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_arg_info_may_be_null (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the type of the argument includes the possibility of <code class="literal">NULL</code>.
-For 'in' values this means that <code class="literal">NULL</code> is a valid value. For 'out'
-values, this means that <code class="literal">NULL</code> may be returned.
-</p>
-<p>
-See also <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()"><code class="function">g_arg_info_is_optional()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-arg-info-may-be-null"></a><h3>g_arg_info_may_be_null ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_arg_info_may_be_null (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the type of the argument includes the possibility of <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+For 'in' values this means that <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is a valid value. For 'out'
+values, this means that <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> may be returned.</p>
+<p>See also <a class="link" href="gi-GIArgInfo.html#g-arg-info-is-optional" title="g_arg_info_is_optional ()"><code class="function">g_arg_info_is_optional()</code></a>.</p>
+<div class="refsect3">
+<a name="g-arg-info-may-be-null.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if the value may be <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-arg-info-may-be-null.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the value may be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-is-caller-allocates"></a><h3>g_arg_info_is_caller_allocates ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_arg_info_is_caller_allocates (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the argument is a pointer to a struct or object that will
+<a name="g-arg-info-is-caller-allocates"></a><h3>g_arg_info_is_caller_allocates ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_arg_info_is_caller_allocates (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the argument is a pointer to a struct or object that will
receive an output of a function. The default assumption for
<a class="link" href="gi-GIArgInfo.html#GI-DIRECTION-OUT:CAPS"><code class="literal">GI_DIRECTION_OUT</code></a> arguments which have allocation is that the
-callee allocates; if this is <code class="literal">TRUE</code>, then the caller must allocate.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+callee allocates; if this is <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the caller must allocate.</p>
+<div class="refsect3">
+<a name="g-arg-info-is-caller-allocates.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if caller is required to have allocated the argument</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-arg-info-is-caller-allocates.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if caller is required to have allocated the argument</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-is-optional"></a><h3>g_arg_info_is_optional ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_arg_info_is_optional (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the argument is optional. For 'out' arguments this means
-that you can pass <code class="literal">NULL</code> in order to ignore the result.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-arg-info-is-optional"></a><h3>g_arg_info_is_optional ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_arg_info_is_optional (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the argument is optional. For 'out' arguments this means
+that you can pass <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in order to ignore the result.</p>
+<div class="refsect3">
+<a name="g-arg-info-is-optional.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-arg-info-is-optional.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it is an optional argument</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-arg-info-is-return-value"></a><h3>g_arg_info_is_return_value ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_arg_info_is_return_value (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the argument is a return value. It can either be a
+parameter or a return value.</p>
+<div class="refsect3">
+<a name="g-arg-info-is-return-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-arg-info-is-return-value.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it is a return value</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-arg-info-is-skip"></a><h3>g_arg_info_is_skip ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_arg_info_is_skip (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if an argument is only useful in C.</p>
+<div class="refsect3">
+<a name="g-arg-info-is-skip.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-arg-info-is-skip.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if argument is only useful in C.</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-29-0.html#api-index-1.29.0">1.29.0</a></p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIArgInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIArgInfo"></a><h3>GIArgInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIArgInfo;
+</pre>
+<p>Represents an argument.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIDirection"></a><h3>enum GIDirection</h3>
+<p>The direction of a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GIDirection.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
+<td class="enum_member_name"><p><a name="GI-DIRECTION-IN:CAPS"></a>GI_DIRECTION_IN</p></td>
+<td class="enum_member_description">
+<p>in argument.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if it is an optional argument</td>
+<td class="enum_member_name"><p><a name="GI-DIRECTION-OUT:CAPS"></a>GI_DIRECTION_OUT</p></td>
+<td class="enum_member_description">
+<p>out argument.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-DIRECTION-INOUT:CAPS"></a>GI_DIRECTION_INOUT</p></td>
+<td class="enum_member_description">
+<p>in and out argument.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-is-return-value"></a><h3>g_arg_info_is_return_value ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_arg_info_is_return_value (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the argument is a return value. It can either be a
-parameter or a return value.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="GIScopeType"></a><h3>enum GIScopeType</h3>
+<p>Scope type of a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> representing callback, determines how the
+callback is invoked and is used to decided when the invoke structs
+can be freed.</p>
+<div class="refsect3">
+<a name="GIScopeType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
+<td class="enum_member_name"><p><a name="GI-SCOPE-TYPE-INVALID:CAPS"></a>GI_SCOPE_TYPE_INVALID</p></td>
+<td class="enum_member_description">
+<p>The argument is not of callback type.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-SCOPE-TYPE-CALL:CAPS"></a>GI_SCOPE_TYPE_CALL</p></td>
+<td class="enum_member_description">
+<p>The callback and associated user_data is only
+used during the call to this function.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-SCOPE-TYPE-ASYNC:CAPS"></a>GI_SCOPE_TYPE_ASYNC</p></td>
+<td class="enum_member_description">
+<p>The callback and associated user_data is
+only used until the callback is invoked, and the callback.
+is invoked always exactly once.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if it is a return value</td>
+<td class="enum_member_name"><p><a name="GI-SCOPE-TYPE-NOTIFIED:CAPS"></a>GI_SCOPE_TYPE_NOTIFIED</p></td>
+<td class="enum_member_description">
+<p>The callback and and associated
+user_data is used until the caller is notfied via the destroy_notify.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-arg-info-is-skip"></a><h3>g_arg_info_is_skip ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_arg_info_is_skip (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if an argument is only useful in C.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="GITransfer"></a><h3>enum GITransfer</h3>
+<p>The transfer is the exchange of data between two parts, from the callee to
+the caller. The callee is either a function/method/signal or an
+object/interface where a property is defined. The caller is the side
+accessing a property or calling a function.
+<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> specifies who's responsible for freeing the resources after the
+ownership transfer is complete. In case of a containing type such as a list,
+an array or a hash table the container itself is specified differently from
+the items within the container itself. Each container is freed differently,
+check the documentation for the types themselves for information on how to
+free them.</p>
+<div class="refsect3">
+<a name="GITransfer.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
+<td class="enum_member_name"><p><a name="GI-TRANSFER-NOTHING:CAPS"></a>GI_TRANSFER_NOTHING</p></td>
+<td class="enum_member_description">
+<p>transfer nothing from the callee (function or the type
+instance the property belongs to) to the caller. The callee retains the
+ownership of the transfer and the caller doesn't need to do anything to free
+up the resources of this transfer.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if argument is only useful in C.</td>
+<td class="enum_member_name"><p><a name="GI-TRANSFER-CONTAINER:CAPS"></a>GI_TRANSFER_CONTAINER</p></td>
+<td class="enum_member_description">
+<p>transfer the container (list, array, hash table) from
+the callee to the caller. The callee retains the ownership of the individual
+items in the container and the caller has to free up the container resources
+(<a href="../glib/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>/<a href="../glib/glib-Hash-Tables.html#g-hash-table-destroy"><code class="function">g_hash_table_destroy()</code></a> etc) of this transfer.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-TRANSFER-EVERYTHING:CAPS"></a>GI_TRANSFER_EVERYTHING</p></td>
+<td class="enum_member_description">
+<p>transfer everything, eg the container and its
+contents from the callee to the caller. This is the case when the callee
+creates a copy of all the data it returns. The caller is responsible for
+cleaning up the container and item resources of this transfer.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 1.29.0</p>
+</div>
</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIBaseInfo.html b/docs/reference/html/gi-GIBaseInfo.html
index 8aa8e069..003eb756 100644
--- a/docs/reference/html/gi-GIBaseInfo.html
+++ b/docs/reference/html/gi-GIBaseInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIBaseInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIBaseInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-common-types.html" title="common types">
<link rel="next" href="gi-GICallableInfo.html" title="GICallableInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-common-types.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GICallableInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIBaseInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIBaseInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIBaseInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-common-types.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GICallableInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIBaseInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,532 +29,495 @@
<h2><span class="refentrytitle"><a name="gi-GIBaseInfo.top_of_page"></a>GIBaseInfo</span></h2>
<p>GIBaseInfo — Base struct for all GITypelib structs</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIBaseInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">enum <a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType">GIInfoType</a>;
- <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter">GIAttributeIter</a>;
-<span class="returnvalue">GIBaseInfo</span> * <a class="link" href="gi-GIBaseInfo.html#g-info-new" title="g_info_new ()">g_info_new</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>,
- <em class="parameter"><code><span class="type">GIBaseInfo</span> *container</code></em>,
- <em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><span class="type">guint32</span> offset</code></em>);
-<span class="returnvalue">GIBaseInfo</span> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info1</code></em>,
- <em class="parameter"><code><span class="type">GIBaseInfo</span> *info2</code></em>);
-<a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a> <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
- <em class="parameter"><code><span class="type">char</span> **name</code></em>,
- <em class="parameter"><code><span class="type">char</span> **value</code></em>);
-<span class="returnvalue">GIBaseInfo</span> * <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a> (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="gi-GIBaseInfo.description"></a><h2>Description</h2>
-<p>
-GIBaseInfo is the common base struct of all other *Info structs
-accessible through the <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> API.
-All other structs can be casted to a <span class="type">GIBaseInfo</span>, for instance:
-</p>
-<div class="example">
-<a name="id-1.4.2.5.4.2.3"></a><p class="title"><b>Example 1. Casting a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> to <span class="type">GIBaseInfo</span></b></p>
-<div class="example-contents">
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td class="listing_lines" align="right"><pre>1
-2</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="usertype">GIFunctionInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">function_info </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">...;</span>
-<span class="usertype">GIBaseInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">info </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">GIBaseInfo</span><span class="symbol">*)</span><span class="normal">function_info</span><span class="symbol">;</span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-</div>
-<p><br class="example-break">
-Most <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> APIs returning a <span class="type">GIBaseInfo</span> is actually creating a new struct, in other
-words, <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> has to be called when done accessing the data.
-GIBaseInfos are normally accessed by calling either
-<a class="link" href="GIRepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()"><code class="function">g_irepository_find_by_name()</code></a>, <a class="link" href="GIRepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()"><code class="function">g_irepository_find_by_gtype()</code></a> or <a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()"><code class="function">g_irepository_get_info()</code></a>.
-</p>
-<p>
-</p>
-<div class="example">
-<a name="id-1.4.2.5.4.3.1"></a><p class="title"><b>Example 2. Getting the Button of the Gtk typelib</b></p>
-<div class="example-contents">
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td class="listing_lines" align="right"><pre>1
-2
-3</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="usertype">GIBaseInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">button_info </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GIRepository.html#g-irepository-find-by-name">g_irepository_find_by_name</a></span><span class="symbol">(</span><span class="normal">NULL</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Gtk"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Button"</span><span class="symbol">);</span>
-<span class="symbol">...</span><span class="normal"> </span><span class="usertype">use</span><span class="normal"> button_info </span><span class="symbol">...</span>
-<span class="function"><a href="gi-GIBaseInfo.html#g-base-info-unref">g_base_info_unref</a></span><span class="symbol">(</span><span class="normal">button_info</span><span class="symbol">);</span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-</div>
-<p><br class="example-break">
-</p>
-<p>
-</p>
<div class="refsect1">
-<a name="gi-gibaseinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
-<pre class="synopsis">
- GIBaseInfo
- +----<a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
- +----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
- +----<a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
- +----<a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
- +----<a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
- +----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
- +----<a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
-</pre>
-</div>
-<p>
-</p>
-</div>
-<div class="refsect1">
-<a name="gi-GIBaseInfo.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GIInfoType"></a><h3>enum GIInfoType</h3>
-<pre class="programlisting">typedef enum {
- GI_INFO_TYPE_INVALID,
- GI_INFO_TYPE_FUNCTION,
- GI_INFO_TYPE_CALLBACK,
- GI_INFO_TYPE_STRUCT,
- GI_INFO_TYPE_BOXED,
- GI_INFO_TYPE_ENUM, /* 5 */
- GI_INFO_TYPE_FLAGS,
- GI_INFO_TYPE_OBJECT,
- GI_INFO_TYPE_INTERFACE,
- GI_INFO_TYPE_CONSTANT,
- GI_INFO_TYPE_INVALID_0, /* 10 */
- GI_INFO_TYPE_UNION,
- GI_INFO_TYPE_VALUE,
- GI_INFO_TYPE_SIGNAL,
- GI_INFO_TYPE_VFUNC,
- GI_INFO_TYPE_PROPERTY, /* 15 */
- GI_INFO_TYPE_FIELD,
- GI_INFO_TYPE_ARG,
- GI_INFO_TYPE_TYPE,
- GI_INFO_TYPE_UNRESOLVED
-} GIInfoType;
-</pre>
-<p>
-The type of a GIBaseInfo struct.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="gi-GIBaseInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><a name="GI-INFO-TYPE-INVALID:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_INVALID</code></span></p></td>
-<td>invalid type
+<td class="function_type">
+<span class="returnvalue">GIBaseInfo</span> *
</td>
-</tr>
-<tr>
-<td><p><a name="GI-INFO-TYPE-FUNCTION:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_FUNCTION</code></span></p></td>
-<td>function, see <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-info-new" title="g_info_new ()">g_info_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-CALLBACK:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_CALLBACK</code></span></p></td>
-<td>callback, see <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
+<td class="function_type">
+<span class="returnvalue">GIBaseInfo</span> *
</td>
-</tr>
-<tr>
-<td><p><a name="GI-INFO-TYPE-STRUCT:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_STRUCT</code></span></p></td>
-<td>struct, see <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-ref" title="g_base_info_ref ()">g_base_info_ref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-BOXED:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_BOXED</code></span></p></td>
-<td>boxed, see <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
+<td class="function_type">
+<span class="returnvalue">void</span>
</td>
-</tr>
-<tr>
-<td><p><a name="GI-INFO-TYPE-ENUM:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_ENUM</code></span></p></td>
-<td>enum, see <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()">g_base_info_unref</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-FLAGS:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_FLAGS</code></span></p></td>
-<td>flags, see <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
-</tr>
-<tr>
-<td><p><a name="GI-INFO-TYPE-OBJECT:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_OBJECT</code></span></p></td>
-<td>object, see <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-equal" title="g_base_info_equal ()">g_base_info_equal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-INTERFACE:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_INTERFACE</code></span></p></td>
-<td>interface, see <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
+<td class="function_type">
+<a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a>
</td>
-</tr>
-<tr>
-<td><p><a name="GI-INFO-TYPE-CONSTANT:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_CONSTANT</code></span></p></td>
-<td>contant, see <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()">g_base_info_get_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-INVALID-0:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_INVALID_0</code></span></p></td>
-<td>deleted, used to be GI_INFO_TYPE_ERROR_DOMAIN.
+<td class="function_type">
+<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
</td>
-</tr>
-<tr>
-<td><p><a name="GI-INFO-TYPE-UNION:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_UNION</code></span></p></td>
-<td>union, see <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-typelib" title="g_base_info_get_typelib ()">g_base_info_get_typelib</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-VALUE:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_VALUE</code></span></p></td>
-<td>enum value, see <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-namespace" title="g_base_info_get_namespace ()">g_base_info_get_namespace</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-SIGNAL:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_SIGNAL</code></span></p></td>
-<td>signal, see <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-name" title="g_base_info_get_name ()">g_base_info_get_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-VFUNC:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_VFUNC</code></span></p></td>
-<td>virtual function, see <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-attribute" title="g_base_info_get_attribute ()">g_base_info_get_attribute</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-PROPERTY:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_PROPERTY</code></span></p></td>
-<td>GObject property, see <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()">g_base_info_iterate_attributes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-FIELD:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_FIELD</code></span></p></td>
-<td>struct or union field, see <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>
+<td class="function_type">
+<span class="returnvalue">GIBaseInfo</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-get-container" title="g_base_info_get_container ()">g_base_info_get_container</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-ARG:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_ARG</code></span></p></td>
-<td>argument of a function or callback, see <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-is-deprecated" title="g_base_info_is_deprecated ()">g_base_info_is_deprecated</a> <span class="c_punctuation">()</span>
</td>
</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIBaseInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
<tr>
-<td><p><a name="GI-INFO-TYPE-TYPE:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_TYPE</code></span></p></td>
-<td>type information, see <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType">GIInfoType</a></td>
</tr>
<tr>
-<td><p><a name="GI-INFO-TYPE-UNRESOLVED:CAPS"></a><span class="term"><code class="literal">GI_INFO_TYPE_UNRESOLVED</code></span></p></td>
-<td>unresolved type, a type which is not present in
- the typelib, or any of its dependencies.
-</td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter">GIAttributeIter</a></td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIAttributeIter"></a><h3>GIAttributeIter</h3>
-<pre class="programlisting">typedef struct {
-} GIAttributeIter;
+<div class="refsect1">
+<a name="gi-GIBaseInfo.description"></a><h2>Description</h2>
+<p>GIBaseInfo is the common base struct of all other *Info structs
+accessible through the <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> API.
+All other structs can be casted to a <span class="type">GIBaseInfo</span>, for instance:</p>
+<div class="example">
+<a name="id-1.4.2.5.5.3"></a><p class="title"><b>Example 1. Casting a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> to <span class="type">GIBaseInfo</span></b></p>
+<div class="example-contents">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="usertype">GIFunctionInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">function_info </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">...;</span>
+<span class="usertype">GIBaseInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">info </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">GIBaseInfo</span><span class="symbol">*)</span><span class="normal">function_info</span><span class="symbol">;</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
+<br class="example-break"><p>Most <a class="link" href="GIRepository.html" title="GIRepository"><span class="type">GIRepository</span></a> APIs returning a <span class="type">GIBaseInfo</span> is actually creating a new struct, in other
+words, <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> has to be called when done accessing the data.
+GIBaseInfos are normally accessed by calling either
+<a class="link" href="GIRepository.html#g-irepository-find-by-name" title="g_irepository_find_by_name ()"><code class="function">g_irepository_find_by_name()</code></a>, <a class="link" href="GIRepository.html#g-irepository-find-by-gtype" title="g_irepository_find_by_gtype ()"><code class="function">g_irepository_find_by_gtype()</code></a> or <a class="link" href="GIRepository.html#g-irepository-get-info" title="g_irepository_get_info ()"><code class="function">g_irepository_get_info()</code></a>.</p>
+<div class="example">
+<a name="id-1.4.2.5.5.5"></a><p class="title"><b>Example 2. Getting the Button of the Gtk typelib</b></p>
+<div class="example-contents">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="usertype">GIBaseInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">button_info </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GIRepository.html#g-irepository-find-by-name">g_irepository_find_by_name</a></span><span class="symbol">(</span><span class="normal"><a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Gtk"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Button"</span><span class="symbol">);</span>
+<span class="symbol">...</span><span class="normal"> </span><span class="usertype">use</span><span class="normal"> button_info </span><span class="symbol">...</span>
+<span class="function"><a href="gi-GIBaseInfo.html#g-base-info-unref">g_base_info_unref</a></span><span class="symbol">(</span><span class="normal">button_info</span><span class="symbol">);</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
+<br class="example-break"><div class="refsect1">
+<a name="gi-gibaseinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
+<pre class="synopsis">
+ GIBaseInfo
+ +----<a class="link" href="gi-GIArgInfo.html" title="GIArgInfo">GIArgInfo</a>
+ +----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+ +----<a class="link" href="gi-GIConstantInfo.html" title="GIConstantInfo">GIConstantInfo</a>
+ +----<a class="link" href="gi-GIFieldInfo.html" title="GIFieldInfo">GIFieldInfo</a>
+ +----<a class="link" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">GIPropertyInfo</a>
+ +----<a class="link" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>
+ +----<a class="link" href="gi-GITypeInfo.html" title="GITypeInfo">GITypeInfo</a>
</pre>
-<p>
-An opaque structure used to iterate over attributes
-in a <span class="type">GIBaseInfo</span> struct.
-</p>
</div>
-<hr>
+</div>
+<div class="refsect1">
+<a name="gi-GIBaseInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="g-info-new"></a><h3>g_info_new ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> * g_info_new (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>,
- <em class="parameter"><code><span class="type">GIBaseInfo</span> *container</code></em>,
- <em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><span class="type">guint32</span> offset</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-info-new"></a><h3>g_info_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+g_info_new (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>,
+ <em class="parameter"><code><span class="type">GIBaseInfo</span> *container</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> offset</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-info-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>container</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-info-new.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-ref"></a><h3>g_base_info_ref ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> * g_base_info_ref (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
-<p>
-Increases the reference count of <em class="parameter"><code>info</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-base-info-ref"></a><h3>g_base_info_ref ()</h3>
+<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+g_base_info_ref (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<p>Increases the reference count of <em class="parameter"><code>info</code></em>
+.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-base-info-ref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the same <em class="parameter"><code>info</code></em>.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-ref.returns"></a><h4>Returns</h4>
+<p> the same <em class="parameter"><code>info</code></em>
+.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-unref"></a><h3>g_base_info_unref ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_base_info_unref (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
-<p>
-Decreases the reference count of <em class="parameter"><code>info</code></em>. When its reference count
-drops to 0, the info is freed.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-base-info-unref"></a><h3>g_base_info_unref ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_base_info_unref (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<p>Decreases the reference count of <em class="parameter"><code>info</code></em>
+. When its reference count
+drops to 0, the info is freed.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-base-info-unref.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-equal"></a><h3>g_base_info_equal ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_base_info_equal (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info1</code></em>,
- <em class="parameter"><code><span class="type">GIBaseInfo</span> *info2</code></em>);</pre>
-<p>
-Compare two <span class="type">GIBaseInfo</span>.
-</p>
-<p>
-Using pointer comparison is not practical since many functions return
+<a name="g-base-info-equal"></a><h3>g_base_info_equal ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_base_info_equal (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info1</code></em>,
+ <em class="parameter"><code><span class="type">GIBaseInfo</span> *info2</code></em>);</pre>
+<p>Compare two <span class="type">GIBaseInfo</span>.</p>
+<p>Using pointer comparison is not practical since many functions return
different instances of <span class="type">GIBaseInfo</span> that refers to the same part of the
-TypeLib; use this function instead to do <span class="type">GIBaseInfo</span> comparisons.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+TypeLib; use this function instead to do <span class="type">GIBaseInfo</span> comparisons.</p>
+<div class="refsect3">
+<a name="g-base-info-equal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info1</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info2</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
+<td class="parameter_name"><p>info1</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if and only if <em class="parameter"><code>info1</code></em> equals <em class="parameter"><code>info2</code></em>.</td>
+<td class="parameter_name"><p>info2</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-equal.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if and only if <em class="parameter"><code>info1</code></em>
+equals <em class="parameter"><code>info2</code></em>
+.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-get-type"></a><h3>g_base_info_get_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a> g_base_info_get_type (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
-<p>
-Obtain the info type of the GIBaseInfo.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-base-info-get-type"></a><h3>g_base_info_get_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="returnvalue">GIInfoType</span></a>
+g_base_info_get_type (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<p>Obtain the info type of the GIBaseInfo.</p>
+<div class="refsect3">
+<a name="g-base-info-get-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the info type of <em class="parameter"><code>info</code></em>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-get-type.returns"></a><h4>Returns</h4>
+<p> the info type of <em class="parameter"><code>info</code></em>
+</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-get-typelib"></a><h3>g_base_info_get_typelib ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * g_base_info_get_typelib (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
-<p>
-Obtain the typelib this <em class="parameter"><code>info</code></em> belongs to
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-base-info-get-typelib"></a><h3>g_base_info_get_typelib ()</h3>
+<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_base_info_get_typelib (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<p>Obtain the typelib this <em class="parameter"><code>info</code></em>
+ belongs to</p>
+<div class="refsect3">
+<a name="g-base-info-get-typelib.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the typelib. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-get-typelib.returns"></a><h4>Returns</h4>
+<p> the typelib. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-get-namespace"></a><h3>g_base_info_get_namespace ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_base_info_get_namespace (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
-<p>
-Obtain the namespace of <em class="parameter"><code>info</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-base-info-get-namespace"></a><h3>g_base_info_get_namespace ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_base_info_get_namespace (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<p>Obtain the namespace of <em class="parameter"><code>info</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-base-info-get-namespace.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the namespace</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-get-namespace.returns"></a><h4>Returns</h4>
+<p> the namespace</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-get-name"></a><h3>g_base_info_get_name ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_base_info_get_name (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
-<p>
-Obtain the name of the <em class="parameter"><code>info</code></em>. What the name represents depends on
-the <a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> of the <em class="parameter"><code>info</code></em>. For instance for <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> it is
-the name of the function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-base-info-get-name"></a><h3>g_base_info_get_name ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_base_info_get_name (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<p>Obtain the name of the <em class="parameter"><code>info</code></em>
+. What the name represents depends on
+the <a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> of the <em class="parameter"><code>info</code></em>
+. For instance for <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> it is
+the name of the function.</p>
+<div class="refsect3">
+<a name="g-base-info-get-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the name of <em class="parameter"><code>info</code></em> or <code class="literal">NULL</code> if it lacks a name.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-get-name.returns"></a><h4>Returns</h4>
+<p> the name of <em class="parameter"><code>info</code></em>
+or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it lacks a name.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-get-attribute"></a><h3>g_base_info_get_attribute ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_base_info_get_attribute (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Retrieve an arbitrary attribute associated with this node.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-base-info-get-attribute"></a><h3>g_base_info_get_attribute ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_base_info_get_attribute (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Retrieve an arbitrary attribute associated with this node.</p>
+<div class="refsect3">
+<a name="g-base-info-get-attribute.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>a freeform string naming an attribute</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The value of the attribute, or <code class="literal">NULL</code> if no such attribute exists</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>a freeform string naming an attribute</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-get-attribute.returns"></a><h4>Returns</h4>
+<p> The value of the attribute, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such attribute exists</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-iterate-attributes"></a><h3>g_base_info_iterate_attributes ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_base_info_iterate_attributes (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
- <em class="parameter"><code><span class="type">char</span> **name</code></em>,
- <em class="parameter"><code><span class="type">char</span> **value</code></em>);</pre>
-<p>
-Iterate over all attributes associated with this node. The iterator
+<a name="g-base-info-iterate-attributes"></a><h3>g_base_info_iterate_attributes ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_base_info_iterate_attributes (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **name</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **value</code></em>);</pre>
+<p>Iterate over all attributes associated with this node. The iterator
structure is typically stack allocated, and must have its first
-member initialized to <code class="literal">NULL</code>. Attributes are arbitrary namespaced key–value
+member initialized to <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Attributes are arbitrary namespaced key–value
pairs which can be attached to almost any item. They are intended for use
by software higher in the toolchain than bindings, and are distinct from
-normal GIR annotations.
-</p>
-<p>
-Both the <em class="parameter"><code>name</code></em> and <em class="parameter"><code>value</code></em> should be treated as constants
-and must not be freed.
-</p>
-<p>
-</p>
+normal GIR annotations.</p>
+<p>Both the <em class="parameter"><code>name</code></em>
+ and <em class="parameter"><code>value</code></em>
+ should be treated as constants
+and must not be freed.</p>
<div class="example">
-<a name="id-1.4.2.5.5.13.6.1"></a><p class="title"><b>Example 3. Iterating over attributes</b></p>
+<a name="id-1.4.2.5.6.11.6"></a><p class="title"><b>Example 3. Iterating over attributes</b></p>
<div class="example-contents">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -582,7 +541,7 @@ and must not be freed.
<span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">value</span><span class="symbol">;</span>
<span class="normal"> </span><span class="keyword">while</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="gi-GIBaseInfo.html#g-base-info-iterate-attributes">g_base_info_iterate_attributes</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">info</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">iter</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">name</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">value</span><span class="symbol">))</span>
<span class="normal"> </span><span class="cbracket">{</span>
-<span class="normal"> </span><span class="function">g_print</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"attribute name: %s value: %s"</span><span class="symbol">,</span><span class="normal"> name</span><span class="symbol">,</span><span class="normal"> value</span><span class="symbol">);</span>
+<span class="normal"> </span><span class="function"><a href="../glib/glib-Warnings-and-Assertions.html#g-print">g_print</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"attribute name: %s value: %s"</span><span class="symbol">,</span><span class="normal"> name</span><span class="symbol">,</span><span class="normal"> value</span><span class="symbol">);</span>
<span class="normal"> </span><span class="cbracket">}</span>
<span class="cbracket">}</span></pre></td>
</tr>
@@ -591,100 +550,273 @@ and must not be freed.
</div>
</div>
-<p><br class="example-break">
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<br class="example-break"><div class="refsect3">
+<a name="g-base-info-iterate-attributes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>iterator</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below</td>
+<td class="parameter_name"><p>iterator</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>Returned name, must not be freed. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>Returned name, must not be freed. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p> Returned name, must not be freed. </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="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if there are more attributes</td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p> Returned name, must not be freed. </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="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-iterate-attributes.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there are more attributes</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-get-container"></a><h3>g_base_info_get_container ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> * g_base_info_get_container (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
-<p>
-Obtain the container of the <em class="parameter"><code>info</code></em>. The container is the parent
+<a name="g-base-info-get-container"></a><h3>g_base_info_get_container ()</h3>
+<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+g_base_info_get_container (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<p>Obtain the container of the <em class="parameter"><code>info</code></em>
+. The container is the parent
GIBaseInfo. For instance, the parent of a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> is an
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.</p>
+<div class="refsect3">
+<a name="g-base-info-get-container.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the container. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-base-info-get-container.returns"></a><h4>Returns</h4>
+<p> the container. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-base-info-is-deprecated"></a><h3>g_base_info_is_deprecated ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_base_info_is_deprecated (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
-<p>
-Obtain whether the <em class="parameter"><code>info</code></em> is represents a metadata which is
-deprecated or not.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-base-info-is-deprecated"></a><h3>g_base_info_is_deprecated ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_base_info_is_deprecated (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);</pre>
+<p>Obtain whether the <em class="parameter"><code>info</code></em>
+ is represents a metadata which is
+deprecated or not.</p>
+<div class="refsect3">
+<a name="g-base-info-is-deprecated.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <span class="type">GIBaseInfo</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-base-info-is-deprecated.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if deprecated</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIBaseInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIInfoType"></a><h3>enum GIInfoType</h3>
+<p>The type of a GIBaseInfo struct.</p>
+<div class="refsect3">
+<a name="GIInfoType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <span class="type">GIBaseInfo</span>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-INVALID:CAPS"></a>GI_INFO_TYPE_INVALID</p></td>
+<td class="enum_member_description">
+<p>invalid type</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-FUNCTION:CAPS"></a>GI_INFO_TYPE_FUNCTION</p></td>
+<td class="enum_member_description">
+<p>function, see <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-CALLBACK:CAPS"></a>GI_INFO_TYPE_CALLBACK</p></td>
+<td class="enum_member_description">
+<p>callback, see <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-STRUCT:CAPS"></a>GI_INFO_TYPE_STRUCT</p></td>
+<td class="enum_member_description">
+<p>struct, see <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-BOXED:CAPS"></a>GI_INFO_TYPE_BOXED</p></td>
+<td class="enum_member_description">
+<p>boxed, see <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-ENUM:CAPS"></a>GI_INFO_TYPE_ENUM</p></td>
+<td class="enum_member_description">
+<p>enum, see <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-FLAGS:CAPS"></a>GI_INFO_TYPE_FLAGS</p></td>
+<td class="enum_member_description">
+<p>flags, see <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-OBJECT:CAPS"></a>GI_INFO_TYPE_OBJECT</p></td>
+<td class="enum_member_description">
+<p>object, see <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-INTERFACE:CAPS"></a>GI_INFO_TYPE_INTERFACE</p></td>
+<td class="enum_member_description">
+<p>interface, see <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-CONSTANT:CAPS"></a>GI_INFO_TYPE_CONSTANT</p></td>
+<td class="enum_member_description">
+<p>contant, see <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if deprecated</td>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-INVALID-0:CAPS"></a>GI_INFO_TYPE_INVALID_0</p></td>
+<td class="enum_member_description">
+<p>deleted, used to be GI_INFO_TYPE_ERROR_DOMAIN.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-UNION:CAPS"></a>GI_INFO_TYPE_UNION</p></td>
+<td class="enum_member_description">
+<p>union, see <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-VALUE:CAPS"></a>GI_INFO_TYPE_VALUE</p></td>
+<td class="enum_member_description">
+<p>enum value, see <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-SIGNAL:CAPS"></a>GI_INFO_TYPE_SIGNAL</p></td>
+<td class="enum_member_description">
+<p>signal, see <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-VFUNC:CAPS"></a>GI_INFO_TYPE_VFUNC</p></td>
+<td class="enum_member_description">
+<p>virtual function, see <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-PROPERTY:CAPS"></a>GI_INFO_TYPE_PROPERTY</p></td>
+<td class="enum_member_description">
+<p>GObject property, see <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-FIELD:CAPS"></a>GI_INFO_TYPE_FIELD</p></td>
+<td class="enum_member_description">
+<p>struct or union field, see <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-ARG:CAPS"></a>GI_INFO_TYPE_ARG</p></td>
+<td class="enum_member_description">
+<p>argument of a function or callback, see <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-TYPE:CAPS"></a>GI_INFO_TYPE_TYPE</p></td>
+<td class="enum_member_description">
+<p>type information, see <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-INFO-TYPE-UNRESOLVED:CAPS"></a>GI_INFO_TYPE_UNRESOLVED</p></td>
+<td class="enum_member_description">
+<p>unresolved type, a type which is not present in
+ the typelib, or any of its dependencies.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
+<hr>
+<div class="refsect2">
+<a name="GIAttributeIter"></a><h3>GIAttributeIter</h3>
+<pre class="programlisting">typedef struct {
+} GIAttributeIter;
+</pre>
+<p>An opaque structure used to iterate over attributes
+in a <span class="type">GIBaseInfo</span> struct.</p>
+</div>
+</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GICallableInfo.html b/docs/reference/html/gi-GICallableInfo.html
index d046ecb9..8c4e2dcf 100644
--- a/docs/reference/html/gi-GICallableInfo.html
+++ b/docs/reference/html/gi-GICallableInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GICallableInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GICallableInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIBaseInfo.html" title="GIBaseInfo">
<link rel="next" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIBaseInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIFunctionInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GICallableInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GICallableInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GICallableInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIBaseInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIFunctionInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GICallableInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,59 +29,148 @@
<h2><span class="refentrytitle"><a name="gi-GICallableInfo.top_of_page"></a>GICallableInfo</span></h2>
<p>GICallableInfo — Struct representing a callable</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GICallableInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GICallableInfo.html#GI-IS-CALLABLE-INFO:CAPS" title="GI_IS_CALLABLE_INFO()">GI_IS_CALLABLE_INFO</a> (info)
-typedef <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo">GICallableInfo</a>;
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" title="g_callable_info_can_throw_gerror ()">g_callable_info_can_throw_gerror</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()">g_callable_info_get_n_args</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="returnvalue">GIArgInfo</span></a> * <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-arg" title="g_callable_info_get_arg ()">g_callable_info_get_arg</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a> <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-caller-owns" title="g_callable_info_get_caller_owns ()">g_callable_info_get_caller_owns</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-attribute" title="g_callable_info_get_return_attribute ()">g_callable_info_get_return_attribute</a>
- (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-type" title="g_callable_info_get_return_type ()">g_callable_info_get_return_type</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-invoke" title="g_callable_info_invoke ()">g_callable_info_invoke</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> function</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> is_method</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> throws</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-is-method" title="g_callable_info_is_method ()">g_callable_info_is_method</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-iterate-return-attributes" title="g_callable_info_iterate_return_attributes ()">g_callable_info_iterate_return_attributes</a>
- (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
- <em class="parameter"><code><span class="type">char</span> **name</code></em>,
- <em class="parameter"><code><span class="type">char</span> **value</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-load-arg" title="g_callable_info_load_arg ()">g_callable_info_load_arg</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *arg</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-load-return-type" title="g_callable_info_load_return_type ()">g_callable_info_load_return_type</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-may-return-null" title="g_callable_info_may_return_null ()">g_callable_info_may_return_null</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GICallableInfo.html#g-callable-info-skip-return" title="g_callable_info_skip_return ()">g_callable_info_skip_return</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GICallableInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#GI-IS-CALLABLE-INFO:CAPS" title="GI_IS_CALLABLE_INFO()">GI_IS_CALLABLE_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" title="g_callable_info_can_throw_gerror ()">g_callable_info_can_throw_gerror</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()">g_callable_info_get_n_args</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="returnvalue">GIArgInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-arg" title="g_callable_info_get_arg ()">g_callable_info_get_arg</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-caller-owns" title="g_callable_info_get_caller_owns ()">g_callable_info_get_caller_owns</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-attribute" title="g_callable_info_get_return_attribute ()">g_callable_info_get_return_attribute</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-type" title="g_callable_info_get_return_type ()">g_callable_info_get_return_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-invoke" title="g_callable_info_invoke ()">g_callable_info_invoke</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-is-method" title="g_callable_info_is_method ()">g_callable_info_is_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-iterate-return-attributes" title="g_callable_info_iterate_return_attributes ()">g_callable_info_iterate_return_attributes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-load-arg" title="g_callable_info_load_arg ()">g_callable_info_load_arg</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-load-return-type" title="g_callable_info_load_return_type ()">g_callable_info_load_return_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-may-return-null" title="g_callable_info_may_return_null ()">g_callable_info_may_return_null</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GICallableInfo.html#g-callable-info-skip-return" title="g_callable_info_skip_return ()">g_callable_info_skip_return</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GICallableInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo">GICallableInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GICallableInfo.description"></a><h2>Description</h2>
-<p>
-GICallableInfo represents an entity which is callable.
+<p>GICallableInfo represents an entity which is callable.
Currently a function (<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>), virtual function,
-(<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>) or callback (<a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo"><span class="type">GICallbackInfo</span></a>).
-</p>
-<p>
-A callable has a list of arguments (<a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>), a return type,
-direction and a flag which decides if it returns null.
-</p>
-<p>
-</p>
+(<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>) or callback (<a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo"><span class="type">GICallbackInfo</span></a>).</p>
+<p>A callable has a list of arguments (<a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>), a return type,
+direction and a flag which decides if it returns null.</p>
<div class="refsect1">
<a name="gi-gicallableinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -96,489 +181,519 @@ direction and a flag which decides if it returns null.
+----<a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GICallableInfo.details"></a><h2>Details</h2>
+<a name="gi-GICallableInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-CALLABLE-INFO:CAPS"></a><h3>GI_IS_CALLABLE_INFO()</h3>
<pre class="programlisting">#define GI_IS_CALLABLE_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> or derived from it.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> or derived from it.</p>
+<div class="refsect3">
+<a name="GI-IS-CALLABLE-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GICallableInfo"></a><h3>GICallableInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GICallableInfo;
-</pre>
-<p>
-Represents a callable, either <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, <a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo"><span class="type">GICallbackInfo</span></a> or
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-can-throw-gerror"></a><h3>g_callable_info_can_throw_gerror ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_callable_info_can_throw_gerror (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-can-throw-gerror"></a><h3>g_callable_info_can_throw_gerror ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_callable_info_can_throw_gerror (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-callable-info-can-throw-gerror.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if this <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> can throw a <span class="type">GError</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
-<p class="since">Since 1.34</p>
+</div>
+<div class="refsect3">
+<a name="g-callable-info-can-throw-gerror.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if this <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> can throw a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-34.html#api-index-1.34">1.34</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-get-n-args"></a><h3>g_callable_info_get_n_args ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_callable_info_get_n_args (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of arguments (both IN and OUT) for this callable.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-get-n-args"></a><h3>g_callable_info_get_n_args ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_callable_info_get_n_args (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of arguments (both IN and OUT) for this callable.</p>
+<div class="refsect3">
+<a name="g-callable-info-get-n-args.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The number of arguments this callable expects.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-callable-info-get-n-args.returns"></a><h4>Returns</h4>
+<p> The number of arguments this callable expects.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-get-arg"></a><h3>g_callable_info_get_arg ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="returnvalue">GIArgInfo</span></a> * g_callable_info_get_arg (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain information about a particular argument of this callable.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-get-arg"></a><h3>g_callable_info_get_arg ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="returnvalue">GIArgInfo</span></a> *
+g_callable_info_get_arg (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain information about a particular argument of this callable.</p>
+<div class="refsect3">
+<a name="g-callable-info-get-arg.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>the argument index to fetch</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>the argument index to fetch</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-callable-info-get-arg.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>. Free it with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-get-caller-owns"></a><h3>g_callable_info_get_caller_owns ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a> g_callable_info_get_caller_owns (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
-<p>
-See whether the caller owns the return value of this callable.
-<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> contains a list of possible transfer values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-get-caller-owns"></a><h3>g_callable_info_get_caller_owns ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
+g_callable_info_get_caller_owns (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
+<p>See whether the caller owns the return value of this callable.
+<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> contains a list of possible transfer values.</p>
+<div class="refsect3">
+<a name="g-callable-info-get-caller-owns.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if the caller owns the return value, <code class="literal">FALSE</code> otherwise.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-callable-info-get-caller-owns.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caller owns the return value, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-get-return-attribute"></a><h3>g_callable_info_get_return_attribute ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_callable_info_get_return_attribute
- (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Retrieve an arbitrary attribute associated with the return value.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-get-return-attribute"></a><h3>g_callable_info_get_return_attribute ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_callable_info_get_return_attribute (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Retrieve an arbitrary attribute associated with the return value.</p>
+<div class="refsect3">
+<a name="g-callable-info-get-return-attribute.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>a freeform string naming an attribute</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The value of the attribute, or <code class="literal">NULL</code> if no such attribute exists</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>a freeform string naming an attribute</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-callable-info-get-return-attribute.returns"></a><h4>Returns</h4>
+<p> The value of the attribute, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such attribute exists</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-get-return-type"></a><h3>g_callable_info_get_return_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * g_callable_info_get_return_type (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the return type of a callable item as a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-get-return-type"></a><h3>g_callable_info_get_return_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+g_callable_info_get_return_type (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the return type of a callable item as a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.</p>
+<div class="refsect3">
+<a name="g-callable-info-get-return-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-callable-info-get-return-type.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-invoke"></a><h3>g_callable_info_invoke ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_callable_info_invoke (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> function</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> is_method</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> throws</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-invoke"></a><h3>g_callable_info_invoke ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_callable_info_invoke (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> function</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+ <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+ <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_method</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> throws</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-callable-info-invoke.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>function</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>in_args</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>in_args</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_in_args</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>n_in_args</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>out_args</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>out_args</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_out_args</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>n_out_args</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>return_value</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>is_method</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>is_method</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>throws</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>throws</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-is-method"></a><h3>g_callable_info_is_method ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_callable_info_is_method (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
-<p>
-Determines if the callable info is a method. For <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>s,
+<a name="g-callable-info-is-method"></a><h3>g_callable_info_is_method ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_callable_info_is_method (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
+<p>Determines if the callable info is a method. For <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>s,
<a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo"><span class="type">GICallbackInfo</span></a>s, and <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>s,
this is always true. Otherwise, this looks at the <a class="link" href="gi-GIFunctionInfo.html#GI-FUNCTION-IS-METHOD:CAPS"><code class="literal">GI_FUNCTION_IS_METHOD</code></a>
-flag on the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.
-</p>
-<p>
-Concretely, this function returns whether <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()"><code class="function">g_callable_info_get_n_args()</code></a>
+flag on the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.</p>
+<p>Concretely, this function returns whether <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-n-args" title="g_callable_info_get_n_args ()"><code class="function">g_callable_info_get_n_args()</code></a>
matches the number of arguments in the raw C method. For methods, there
is one more C argument than is exposed by introspection: the "self"
-or "this" object.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+or "this" object.</p>
+<div class="refsect3">
+<a name="g-callable-info-is-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if <em class="parameter"><code>info</code></em> is a method, <code class="literal">FALSE</code> otherwise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
-<p class="since">Since 1.34</p>
+</div>
+<div class="refsect3">
+<a name="g-callable-info-is-method.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>info</code></em>
+is a method, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-34.html#api-index-1.34">1.34</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-iterate-return-attributes"></a><h3>g_callable_info_iterate_return_attributes ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_callable_info_iterate_return_attributes
- (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
- <em class="parameter"><code><span class="type">char</span> **name</code></em>,
- <em class="parameter"><code><span class="type">char</span> **value</code></em>);</pre>
-<p>
-Iterate over all attributes associated with the return value. The
+<a name="g-callable-info-iterate-return-attributes"></a><h3>g_callable_info_iterate_return_attributes ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_callable_info_iterate_return_attributes
+ (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> *iterator</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **name</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **value</code></em>);</pre>
+<p>Iterate over all attributes associated with the return value. The
iterator structure is typically stack allocated, and must have its
-first member initialized to <code class="literal">NULL</code>.
-</p>
-<p>
-Both the <em class="parameter"><code>name</code></em> and <em class="parameter"><code>value</code></em> should be treated as constants
-and must not be freed.
-</p>
-<p>
-See <a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()"><code class="function">g_base_info_iterate_attributes()</code></a> for an example of how to use a
-similar API.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+first member initialized to <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
+<p>Both the <em class="parameter"><code>name</code></em>
+ and <em class="parameter"><code>value</code></em>
+ should be treated as constants
+and must not be freed.</p>
+<p>See <a class="link" href="gi-GIBaseInfo.html#g-base-info-iterate-attributes" title="g_base_info_iterate_attributes ()"><code class="function">g_base_info_iterate_attributes()</code></a> for an example of how to use a
+similar API.</p>
+<div class="refsect3">
+<a name="g-callable-info-iterate-return-attributes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>iterator</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>Returned name, must not be freed. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>iterator</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIBaseInfo.html#GIAttributeIter" title="GIAttributeIter"><span class="type">GIAttributeIter</span></a> structure, must be initialized; see below</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>Returned name, must not be freed. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p> Returned name, must not be freed. </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="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if there are more attributes</td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p> Returned name, must not be freed. </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="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-callable-info-iterate-return-attributes.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there are more attributes</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-load-arg"></a><h3>g_callable_info_load_arg ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_callable_info_load_arg (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *arg</code></em>);</pre>
-<p>
-Obtain information about a particular argument of this callable; this
-function is a variant of <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-arg" title="g_callable_info_get_arg ()"><code class="function">g_callable_info_get_arg()</code></a> designed for stack
-allocation.
-</p>
-<p>
-The initialized <em class="parameter"><code>arg</code></em> must not be referenced after <em class="parameter"><code>info</code></em> is deallocated.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-load-arg"></a><h3>g_callable_info_load_arg ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_callable_info_load_arg (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *arg</code></em>);</pre>
+<p>Obtain information about a particular argument of this callable; this
+function is a variant of <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-arg" title="g_callable_info_get_arg ()"><code class="function">g_callable_info_get_arg()</code></a> designed for stack
+allocation.</p>
+<p>The initialized <em class="parameter"><code>arg</code></em>
+ must not be referenced after <em class="parameter"><code>info</code></em>
+ is deallocated.</p>
+<div class="refsect3">
+<a name="g-callable-info-load-arg.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>the argument index to fetch</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>the argument index to fetch</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>arg</code></em> :</span></p></td>
-<td>Initialize with argument number <em class="parameter"><code>n</code></em>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>arg</p></td>
+<td class="parameter_description"><p> Initialize with argument number <em class="parameter"><code>n</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-load-return-type"></a><h3>g_callable_info_load_return_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_callable_info_load_return_type (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);</pre>
-<p>
-Obtain information about a return value of callable; this
-function is a variant of <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-type" title="g_callable_info_get_return_type ()"><code class="function">g_callable_info_get_return_type()</code></a> designed for stack
-allocation.
-</p>
-<p>
-The initialized <em class="parameter"><code>type</code></em> must not be referenced after <em class="parameter"><code>info</code></em> is deallocated.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-load-return-type"></a><h3>g_callable_info_load_return_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_callable_info_load_return_type (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *type</code></em>);</pre>
+<p>Obtain information about a return value of callable; this
+function is a variant of <a class="link" href="gi-GICallableInfo.html#g-callable-info-get-return-type" title="g_callable_info_get_return_type ()"><code class="function">g_callable_info_get_return_type()</code></a> designed for stack
+allocation.</p>
+<p>The initialized <em class="parameter"><code>type</code></em>
+ must not be referenced after <em class="parameter"><code>info</code></em>
+ is deallocated.</p>
+<div class="refsect3">
+<a name="g-callable-info-load-return-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td>Initialized with return type of <em class="parameter"><code>info</code></em>. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p> Initialized with return type of <em class="parameter"><code>info</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-may-return-null"></a><h3>g_callable_info_may_return_null ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_callable_info_may_return_null (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
-<p>
-See if a callable could return <code class="literal">NULL</code>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-may-return-null"></a><h3>g_callable_info_may_return_null ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_callable_info_may_return_null (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
+<p>See if a callable could return <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
+<div class="refsect3">
+<a name="g-callable-info-may-return-null.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if callable could return <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-callable-info-may-return-null.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if callable could return <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-skip-return"></a><h3>g_callable_info_skip_return ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_callable_info_skip_return (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
-<p>
-See if a callable's return value is only useful in C.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-skip-return"></a><h3>g_callable_info_skip_return ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_callable_info_skip_return (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);</pre>
+<p>See if a callable's return value is only useful in C.</p>
+<div class="refsect3">
+<a name="g-callable-info-skip-return.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if return value is only useful in C.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-callable-info-skip-return.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if return value is only useful in C.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GICallableInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GICallableInfo"></a><h3>GICallableInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GICallableInfo;
+</pre>
+<p>Represents a callable, either <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, <a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo"><span class="type">GICallbackInfo</span></a> or
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GICallbackInfo.html b/docs/reference/html/gi-GICallbackInfo.html
index fd54f8e0..c6a01300 100644
--- a/docs/reference/html/gi-GICallbackInfo.html
+++ b/docs/reference/html/gi-GICallbackInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GICallbackInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GICallbackInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">
<link rel="next" href="gi-GISignalInfo.html" title="GISignalInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIFunctionInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GISignalInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GICallbackInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GICallbackInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GICallbackInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIFunctionInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GISignalInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GICallbackInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,20 +29,24 @@
<h2><span class="refentrytitle"><a name="gi-GICallbackInfo.top_of_page"></a>GICallbackInfo</span></h2>
<p>GICallbackInfo — Struct representing a callback</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GICallbackInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">typedef <a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo">GICallbackInfo</a>;
-</pre>
+<div class="refsect1">
+<a name="gi-GICallbackInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GICallbackInfo.html#GICallbackInfo" title="GICallbackInfo">GICallbackInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GICallbackInfo.description"></a><h2>Description</h2>
-<p>
-GICallbackInfo represents a callback.
-</p>
-<p>
-</p>
+<p>GICallbackInfo represents a callback.</p>
<div class="refsect1">
<a name="gi-gicallbackinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -57,23 +57,22 @@ GICallbackInfo represents a callback.
+----<a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GICallbackInfo.details"></a><h2>Details</h2>
+<a name="gi-GICallbackInfo.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gi-GICallbackInfo.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GICallbackInfo"></a><h3>GICallbackInfo</h3>
<pre class="programlisting">typedef GIBaseInfo GICallbackInfo;
</pre>
-<p>
-Represents a callback, eg arguments and return value.
-</p>
+<p>Represents a callback, eg arguments and return value.</p>
</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIConstantInfo.html b/docs/reference/html/gi-GIConstantInfo.html
index f887d9ff..22e957aa 100644
--- a/docs/reference/html/gi-GIConstantInfo.html
+++ b/docs/reference/html/gi-GIConstantInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIConstantInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIConstantInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIArgInfo.html" title="GIArgInfo">
<link rel="next" href="gi-GIFieldInfo.html" title="GIFieldInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIArgInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIFieldInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIConstantInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIConstantInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIConstantInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIArgInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIFieldInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIConstantInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,28 +29,67 @@
<h2><span class="refentrytitle"><a name="gi-GIConstantInfo.top_of_page"></a>GIConstantInfo</span></h2>
<p>GIConstantInfo — Struct representing a constant</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIConstantInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIConstantInfo.html#GI-IS-CONSTANT-INFO:CAPS" title="GI_IS_CONSTANT_INFO()">GI_IS_CONSTANT_INFO</a> (info)
-typedef <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo">GIConstantInfo</a>;
-<span class="returnvalue">void</span> <a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()">g_constant_info_free_value</a> (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);
-<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-type" title="g_constant_info_get_type ()">g_constant_info_get_type</a> (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()">g_constant_info_get_value</a> (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIConstantInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIConstantInfo.html#GI-IS-CONSTANT-INFO:CAPS" title="GI_IS_CONSTANT_INFO()">GI_IS_CONSTANT_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()">g_constant_info_free_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-type" title="g_constant_info_get_type ()">g_constant_info_get_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()">g_constant_info_get_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIConstantInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo">GIConstantInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIConstantInfo.description"></a><h2>Description</h2>
-<p>
-GIConstantInfo represents a constant. A constant has a type associated
-which can be obtained by calling <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-type" title="g_constant_info_get_type ()"><code class="function">g_constant_info_get_type()</code></a> and a value,
-which can be obtained by calling <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()"><code class="function">g_constant_info_get_value()</code></a>.
-</p>
-<p>
-</p>
+<p>GIConstantInfo represents a constant. A constant has a type associated
+which can be obtained by calling <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-type" title="g_constant_info_get_type ()"><code class="function">g_constant_info_get_type()</code></a> and a value,
+which can be obtained by calling <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()"><code class="function">g_constant_info_get_value()</code></a>.</p>
<div class="refsect1">
<a name="gi-giconstantinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -62,129 +97,143 @@ which can be obtained by calling <a class="link" href="gi-GIConstantInfo.html#g-
+----GIConstantInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIConstantInfo.details"></a><h2>Details</h2>
+<a name="gi-GIConstantInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-CONSTANT-INFO:CAPS"></a><h3>GI_IS_CONSTANT_INFO()</h3>
<pre class="programlisting">#define GI_IS_CONSTANT_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-CONSTANT-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIConstantInfo"></a><h3>GIConstantInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIConstantInfo;
-</pre>
-<p>
-Represents a constant.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-constant-info-free-value"></a><h3>g_constant_info_free_value ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_constant_info_free_value (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
-<p>
-Free the value returned from <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()"><code class="function">g_constant_info_get_value()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-constant-info-free-value"></a><h3>g_constant_info_free_value ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_constant_info_free_value (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+<p>Free the value returned from <a class="link" href="gi-GIConstantInfo.html#g-constant-info-get-value" title="g_constant_info_get_value ()"><code class="function">g_constant_info_get_value()</code></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-constant-info-free-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>the argument</td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>the argument</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 1.30.1</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-30-1.html#api-index-1.30.1">1.30.1</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-constant-info-get-type"></a><h3>g_constant_info_get_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * g_constant_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the type of the constant as a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-constant-info-get-type"></a><h3>g_constant_info_get_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+g_constant_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the type of the constant as a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.</p>
+<div class="refsect3">
+<a name="g-constant-info-get-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-constant-info-get-type.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-constant-info-get-value"></a><h3>g_constant_info_get_value ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_constant_info_get_value (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
-<p>
-Obtain the value associated with the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> and store it in the
-<em class="parameter"><code>value</code></em> parameter. <em class="parameter"><code>argument</code></em> needs to be allocated before passing it in.
-The size of the constant value stored in <em class="parameter"><code>argument</code></em> will be returned.
-Free the value with <a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()"><code class="function">g_constant_info_free_value()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-constant-info-get-value"></a><h3>g_constant_info_get_value ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_constant_info_get_value (<em class="parameter"><code><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+<p>Obtain the value associated with the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a> and store it in the
+<em class="parameter"><code>value</code></em>
+ parameter. <em class="parameter"><code>argument</code></em>
+ needs to be allocated before passing it in.
+The size of the constant value stored in <em class="parameter"><code>argument</code></em>
+ will be returned.
+Free the value with <a class="link" href="gi-GIConstantInfo.html#g-constant-info-free-value" title="g_constant_info_free_value ()"><code class="function">g_constant_info_free_value()</code></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-constant-info-get-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>an argument. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>size of the constant</td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p> an argument. </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>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-constant-info-get-value.returns"></a><h4>Returns</h4>
+<p> size of the constant</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIConstantInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIConstantInfo"></a><h3>GIConstantInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIConstantInfo;
+</pre>
+<p>Represents a constant.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIEnumInfo.html b/docs/reference/html/gi-GIEnumInfo.html
index 8146591b..d8d9cfc4 100644
--- a/docs/reference/html/gi-GIEnumInfo.html
+++ b/docs/reference/html/gi-GIEnumInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIEnumInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIEnumInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">
<link rel="next" href="gi-GIStructInfo.html" title="GIStructInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIRegisteredTypeInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIStructInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIEnumInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIEnumInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIEnumInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIRegisteredTypeInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIStructInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIEnumInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,33 +29,104 @@
<h2><span class="refentrytitle"><a name="gi-GIEnumInfo.top_of_page"></a>GIEnumInfo</span></h2>
<p>GIEnumInfo — Structs representing an enumeration and its values</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIEnumInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIEnumInfo.html#GI-IS-ENUM-INFO:CAPS" title="GI_IS_ENUM_INFO()">GI_IS_ENUM_INFO</a> (info)
-#define <a class="link" href="gi-GIEnumInfo.html#GI-IS-VALUE-INFO:CAPS" title="GI_IS_VALUE_INFO()">GI_IS_VALUE_INFO</a> (info)
-typedef <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo">GIEnumInfo</a>;
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-values" title="g_enum_info_get_n_values ()">g_enum_info_get_n_values</a> (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="returnvalue">GIValueInfo</span></a> * <a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-value" title="g_enum_info_get_value ()">g_enum_info_get_value</a> (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-methods" title="g_enum_info_get_n_methods ()">g_enum_info_get_n_methods</a> (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-method" title="g_enum_info_get_method ()">g_enum_info_get_method</a> (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a> <a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-storage-type" title="g_enum_info_get_storage_type ()">g_enum_info_get_storage_type</a> (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-error-domain" title="g_enum_info_get_error_domain ()">g_enum_info_get_error_domain</a> (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint64</span> <a class="link" href="gi-GIEnumInfo.html#g-value-info-get-value" title="g_value_info_get_value ()">g_value_info_get_value</a> (<em class="parameter"><code><a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIEnumInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#GI-IS-ENUM-INFO:CAPS" title="GI_IS_ENUM_INFO()">GI_IS_ENUM_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#GI-IS-VALUE-INFO:CAPS" title="GI_IS_VALUE_INFO()">GI_IS_VALUE_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-values" title="g_enum_info_get_n_values ()">g_enum_info_get_n_values</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="returnvalue">GIValueInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-value" title="g_enum_info_get_value ()">g_enum_info_get_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-n-methods" title="g_enum_info_get_n_methods ()">g_enum_info_get_n_methods</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-method" title="g_enum_info_get_method ()">g_enum_info_get_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-storage-type" title="g_enum_info_get_storage_type ()">g_enum_info_get_storage_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-error-domain" title="g_enum_info_get_error_domain ()">g_enum_info_get_error_domain</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIEnumInfo.html#g-value-info-get-value" title="g_value_info_get_value ()">g_value_info_get_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIEnumInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo">GIEnumInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIEnumInfo.description"></a><h2>Description</h2>
-<p>
-A GIEnumInfo represents an enumeration and a GIValueInfo struct represents a value
+<p>A GIEnumInfo represents an enumeration and a GIValueInfo struct represents a value
of an enumeration. The GIEnumInfo contains a set of values and a type
-The GIValueInfo is fetched by calling <a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-value" title="g_enum_info_get_value ()"><code class="function">g_enum_info_get_value()</code></a> on a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>.
-</p>
-<p>
-</p>
+The GIValueInfo is fetched by calling <a class="link" href="gi-GIEnumInfo.html#g-enum-info-get-value" title="g_enum_info_get_value ()"><code class="function">g_enum_info_get_value()</code></a> on a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>.</p>
<div class="refsect1">
<a name="gi-gienuminfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -68,262 +135,279 @@ The GIValueInfo is fetched by calling <a class="link" href="gi-GIEnumInfo.html#g
+----GIEnumInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIEnumInfo.details"></a><h2>Details</h2>
+<a name="gi-GIEnumInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-ENUM-INFO:CAPS"></a><h3>GI_IS_ENUM_INFO()</h3>
<pre class="programlisting">#define GI_IS_ENUM_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-ENUM-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="GI-IS-VALUE-INFO:CAPS"></a><h3>GI_IS_VALUE_INFO()</h3>
<pre class="programlisting">#define GI_IS_VALUE_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-VALUE-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIEnumInfo"></a><h3>GIEnumInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIEnumInfo;
-</pre>
-<p>
-Represents an enum or a flag.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-enum-info-get-n-values"></a><h3>g_enum_info_get_n_values ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_enum_info_get_n_values (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of values this enumeration contains.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-enum-info-get-n-values"></a><h3>g_enum_info_get_n_values ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_enum_info_get_n_values (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of values this enumeration contains.</p>
+<div class="refsect3">
+<a name="g-enum-info-get-n-values.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the number of enumeration values</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-enum-info-get-n-values.returns"></a><h4>Returns</h4>
+<p> the number of enumeration values</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-enum-info-get-value"></a><h3>g_enum_info_get_value ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="returnvalue">GIValueInfo</span></a> * g_enum_info_get_value (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain a value for this enumeration.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-enum-info-get-value"></a><h3>g_enum_info_get_value ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="returnvalue">GIValueInfo</span></a> *
+g_enum_info_get_value (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain a value for this enumeration.</p>
+<div class="refsect3">
+<a name="g-enum-info-get-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of value to fetch</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the enumeration value or <code class="literal">NULL</code> if type tag is wrong,
-free the struct with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of value to fetch</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-enum-info-get-value.returns"></a><h4>Returns</h4>
+<p> the enumeration value or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if type tag is wrong,
+free the struct with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-enum-info-get-n-methods"></a><h3>g_enum_info_get_n_methods ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_enum_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of methods that this enum type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-enum-info-get-n-methods"></a><h3>g_enum_info_get_n_methods ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_enum_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of methods that this enum type has.</p>
+<div class="refsect3">
+<a name="g-enum-info-get-n-methods.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of methods</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
-<p class="since">Since 1.29.17</p>
+</div>
+<div class="refsect3">
+<a name="g-enum-info-get-n-methods.returns"></a><h4>Returns</h4>
+<p> number of methods</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-29-17.html#api-index-1.29.17">1.29.17</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-enum-info-get-method"></a><h3>g_enum_info_get_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_enum_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an enum type method at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-enum-info-get-method"></a><h3>g_enum_info_get_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_enum_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an enum type method at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-enum-info-get-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of method to get</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of method to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 1.29.17</p>
+</div>
+<div class="refsect3">
+<a name="g-enum-info-get-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<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-1-29-17.html#api-index-1.29.17">1.29.17</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-enum-info-get-storage-type"></a><h3>g_enum_info_get_storage_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a> g_enum_info_get_storage_type (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the tag of the type used for the enum in the C ABI. This will
-will be a signed or unsigned integral type.
-</p>
-<p>
-Note that in the current implementation the width of the type is
+<a name="g-enum-info-get-storage-type"></a><h3>g_enum_info_get_storage_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
+g_enum_info_get_storage_type (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the tag of the type used for the enum in the C ABI. This will
+will be a signed or unsigned integral type.</p>
+<p>Note that in the current implementation the width of the type is
computed correctly, but the signed or unsigned nature of the type
-may not match the sign of the type used by the C compiler.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+may not match the sign of the type used by the C compiler.</p>
+<div class="refsect3">
+<a name="g-enum-info-get-storage-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the storage type for the enumeration</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-enum-info-get-storage-type.returns"></a><h4>Returns</h4>
+<p> the storage type for the enumeration</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-enum-info-get-error-domain"></a><h3>g_enum_info_get_error_domain ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_enum_info_get_error_domain (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the string form of the quark for the error domain associated with
-this enum, if any.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-enum-info-get-error-domain"></a><h3>g_enum_info_get_error_domain ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_enum_info_get_error_domain (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the string form of the quark for the error domain associated with
+this enum, if any.</p>
+<div class="refsect3">
+<a name="g-enum-info-get-error-domain.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the string form of the error domain associated
-with this enum, or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
-<p class="since">Since 1.29.17</p>
+</div>
+<div class="refsect3">
+<a name="g-enum-info-get-error-domain.returns"></a><h4>Returns</h4>
+<p> the string form of the error domain associated
+with this enum, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-29-17.html#api-index-1.29.17">1.29.17</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-value-info-get-value"></a><h3>g_value_info_get_value ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint64</span> g_value_info_get_value (<em class="parameter"><code><a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the enumeration value of the <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-value-info-get-value"></a><h3>g_value_info_get_value ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>
+g_value_info_get_value (<em class="parameter"><code><a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the enumeration value of the <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a>.</p>
+<div class="refsect3">
+<a name="g-value-info-get-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the enumeration value. This will always be representable
-as a 32-bit signed or unsigned value. The use of gint64 as the
-return type is to allow both.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-value-info-get-value.returns"></a><h4>Returns</h4>
+<p> the enumeration value. This will always be representable
+as a 32-bit signed or unsigned value. The use of gint64 as the
+return type is to allow both.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIEnumInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIEnumInfo"></a><h3>GIEnumInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIEnumInfo;
+</pre>
+<p>Represents an enum or a flag.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIFieldInfo.html b/docs/reference/html/gi-GIFieldInfo.html
index d0fe2d27..a5a4a32f 100644
--- a/docs/reference/html/gi-GIFieldInfo.html
+++ b/docs/reference/html/gi-GIFieldInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIFieldInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIFieldInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIConstantInfo.html" title="GIConstantInfo">
<link rel="next" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIConstantInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIPropertyInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIFieldInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIFieldInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIFieldInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIConstantInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIPropertyInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIFieldInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,37 +29,100 @@
<h2><span class="refentrytitle"><a name="gi-GIFieldInfo.top_of_page"></a>GIFieldInfo</span></h2>
<p>GIFieldInfo — Struct representing a struct or union field</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIFieldInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIFieldInfo.html#GI-IS-FIELD-INFO:CAPS" title="GI_IS_FIELD_INFO()">GI_IS_FIELD_INFO</a> (info)
-typedef <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo">GIFieldInfo</a>;
-enum <a class="link" href="gi-GIFieldInfo.html#GIFieldInfoFlags" title="enum GIFieldInfoFlags">GIFieldInfoFlags</a>;
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIFieldInfo.html#g-field-info-get-field" title="g_field_info_get_field ()">g_field_info_get_field</a> (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> mem</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIFieldInfo.html#g-field-info-set-field" title="g_field_info_set_field ()">g_field_info_set_field</a> (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> mem</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);
-<a class="link" href="gi-GIFieldInfo.html#GIFieldInfoFlags" title="enum GIFieldInfoFlags"><span class="returnvalue">GIFieldInfoFlags</span></a> <a class="link" href="gi-GIFieldInfo.html#g-field-info-get-flags" title="g_field_info_get_flags ()">g_field_info_get_flags</a> (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIFieldInfo.html#g-field-info-get-offset" title="g_field_info_get_offset ()">g_field_info_get_offset</a> (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIFieldInfo.html#g-field-info-get-size" title="g_field_info_get_size ()">g_field_info_get_size</a> (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * <a class="link" href="gi-GIFieldInfo.html#g-field-info-get-type" title="g_field_info_get_type ()">g_field_info_get_type</a> (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIFieldInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIFieldInfo.html#GI-IS-FIELD-INFO:CAPS" title="GI_IS_FIELD_INFO()">GI_IS_FIELD_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-field" title="g_field_info_get_field ()">g_field_info_get_field</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-set-field" title="g_field_info_set_field ()">g_field_info_set_field</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFieldInfo.html#GIFieldInfoFlags" title="enum GIFieldInfoFlags"><span class="returnvalue">GIFieldInfoFlags</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-flags" title="g_field_info_get_flags ()">g_field_info_get_flags</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-offset" title="g_field_info_get_offset ()">g_field_info_get_offset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-size" title="g_field_info_get_size ()">g_field_info_get_size</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFieldInfo.html#g-field-info-get-type" title="g_field_info_get_type ()">g_field_info_get_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIFieldInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo">GIFieldInfo</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfoFlags" title="enum GIFieldInfoFlags">GIFieldInfoFlags</a></td>
+</tr>
+</tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIFieldInfo.description"></a><h2>Description</h2>
-<p>
-A GIFieldInfo struct represents a field of a struct (see <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>),
+<p>A GIFieldInfo struct represents a field of a struct (see <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>),
union (see <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>) or an object (see <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>). The GIFieldInfo
-is fetched by calling <a class="link" href="gi-GIStructInfo.html#g-struct-info-get-field" title="g_struct_info_get_field ()"><code class="function">g_struct_info_get_field()</code></a>, <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-field" title="g_union_info_get_field ()"><code class="function">g_union_info_get_field()</code></a>
-or <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-field" title="g_object_info_get_field ()"><code class="function">g_object_info_get_field()</code></a>.
+is fetched by calling <a class="link" href="gi-GIStructInfo.html#g-struct-info-get-field" title="g_struct_info_get_field ()"><code class="function">g_struct_info_get_field()</code></a>, <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-field" title="g_union_info_get_field ()"><code class="function">g_union_info_get_field()</code></a>
+or <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-field" title="g_object_info_get_field ()"><code class="function">g_object_info_get_field()</code></a>.
A field has a size, type and a struct offset asssociated and a set of flags,
-which is currently <a class="link" href="gi-GIFieldInfo.html#GI-FIELD-IS-READABLE:CAPS"><span class="type">GI_FIELD_IS_READABLE</span></a> or <a class="link" href="gi-GIFieldInfo.html#GI-FIELD-IS-WRITABLE:CAPS"><span class="type">GI_FIELD_IS_WRITABLE</span></a>.
-</p>
-<p>
-</p>
+which is currently <a class="link" href="gi-GIFieldInfo.html#GI-FIELD-IS-READABLE:CAPS"><span class="type">GI_FIELD_IS_READABLE</span></a> or <a class="link" href="gi-GIFieldInfo.html#GI-FIELD-IS-WRITABLE:CAPS"><span class="type">GI_FIELD_IS_WRITABLE</span></a>.</p>
<div class="refsect1">
<a name="gi-gifieldinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -71,258 +130,272 @@ which is currently <a class="link" href="gi-GIFieldInfo.html#GI-FIELD-IS-READABL
+----GIFieldInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIFieldInfo.details"></a><h2>Details</h2>
+<a name="gi-GIFieldInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-FIELD-INFO:CAPS"></a><h3>GI_IS_FIELD_INFO()</h3>
<pre class="programlisting">#define GI_IS_FIELD_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-FIELD-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIFieldInfo"></a><h3>GIFieldInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIFieldInfo;
-</pre>
-<p>
-Represents a field of a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="GIFieldInfoFlags"></a><h3>enum GIFieldInfoFlags</h3>
-<pre class="programlisting">typedef enum {
- GI_FIELD_IS_READABLE = 1 &lt;&lt; 0,
- GI_FIELD_IS_WRITABLE = 1 &lt;&lt; 1
-} GIFieldInfoFlags;
-</pre>
-<p>
-Flags for a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><a name="GI-FIELD-IS-READABLE:CAPS"></a><span class="term"><code class="literal">GI_FIELD_IS_READABLE</code></span></p></td>
-<td>field is readable.
-</td>
-</tr>
-<tr>
-<td><p><a name="GI-FIELD-IS-WRITABLE:CAPS"></a><span class="term"><code class="literal">GI_FIELD_IS_WRITABLE</code></span></p></td>
-<td>field is writable.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-field-info-get-field"></a><h3>g_field_info_get_field ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_field_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> mem</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
-<p>
-Reads a field identified by a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> from a C structure or
+<a name="g-field-info-get-field"></a><h3>g_field_info_get_field ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_field_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+<p>Reads a field identified by a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> from a C structure or
union. This only handles fields of simple C types. It will fail
for a field of a composite type like a nested structure or union
-even if that is actually readable.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+even if that is actually readable.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-field-info-get-field.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field_info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>
-</td>
+<td class="parameter_name"><p>field_info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
-<td>pointer to a block of memory representing a C structure or union</td>
+<td class="parameter_name"><p>mem</p></td>
+<td class="parameter_description"><p>pointer to a block of memory representing a C structure or union</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> into which to store the value retrieved</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if reading the field succeeded, otherwise <code class="literal">FALSE</code>
-</td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> into which to store the value retrieved</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-field-info-get-field.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if reading the field succeeded, otherwise <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-field-info-set-field"></a><h3>g_field_info_set_field ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_field_info_set_field (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> mem</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
-<p>
-Writes a field identified by a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> to a C structure or
+<a name="g-field-info-set-field"></a><h3>g_field_info_set_field ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_field_info_set_field (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *field_info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *value</code></em>);</pre>
+<p>Writes a field identified by a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> to a C structure or
union. This only handles fields of simple C types. It will fail
for a field of a composite type like a nested structure or union
even if that is actually writable. Note also that that it will refuse
to write fields where memory management would by required. A field
-with a type such as 'char *' must be set with a setter function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+with a type such as 'char *' must be set with a setter function.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-field-info-set-field.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>field_info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>
-</td>
+<td class="parameter_name"><p>field_info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
-<td>pointer to a block of memory representing a C structure or union</td>
+<td class="parameter_name"><p>mem</p></td>
+<td class="parameter_description"><p>pointer to a block of memory representing a C structure or union</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> holding the value to store</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if writing the field succeeded, otherwise <code class="literal">FALSE</code>
-</td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> holding the value to store</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-field-info-set-field.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if writing the field succeeded, otherwise <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-field-info-get-flags"></a><h3>g_field_info_get_flags ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfoFlags" title="enum GIFieldInfoFlags"><span class="returnvalue">GIFieldInfoFlags</span></a> g_field_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the flags for this <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>. See <a class="link" href="gi-GIFieldInfo.html#GIFieldInfoFlags" title="enum GIFieldInfoFlags"><span class="type">GIFieldInfoFlags</span></a> for possible
-flag values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-field-info-get-flags"></a><h3>g_field_info_get_flags ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfoFlags" title="enum GIFieldInfoFlags"><span class="returnvalue">GIFieldInfoFlags</span></a>
+g_field_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the flags for this <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>. See <a class="link" href="gi-GIFieldInfo.html#GIFieldInfoFlags" title="enum GIFieldInfoFlags"><span class="type">GIFieldInfoFlags</span></a> for possible
+flag values.</p>
+<div class="refsect3">
+<a name="g-field-info-get-flags.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the flags</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-field-info-get-flags.returns"></a><h4>Returns</h4>
+<p> the flags</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-field-info-get-offset"></a><h3>g_field_info_get_offset ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_field_info_get_offset (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the offset in bits of the field member, this is relative
-to the beginning of the struct or union.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-field-info-get-offset"></a><h3>g_field_info_get_offset ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_field_info_get_offset (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the offset in bits of the field member, this is relative
+to the beginning of the struct or union.</p>
+<div class="refsect3">
+<a name="g-field-info-get-offset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the field offset</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-field-info-get-offset.returns"></a><h4>Returns</h4>
+<p> the field offset</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-field-info-get-size"></a><h3>g_field_info_get_size ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_field_info_get_size (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the size in bits of the field member, this is how
-much space you need to allocate to store the field.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-field-info-get-size"></a><h3>g_field_info_get_size ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_field_info_get_size (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the size in bits of the field member, this is how
+much space you need to allocate to store the field.</p>
+<div class="refsect3">
+<a name="g-field-info-get-size.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the field size</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-field-info-get-size.returns"></a><h4>Returns</h4>
+<p> the field size</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-field-info-get-type"></a><h3>g_field_info_get_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * g_field_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the type of a field as a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-field-info-get-type"></a><h3>g_field_info_get_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+g_field_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the type of a field as a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.</p>
+<div class="refsect3">
+<a name="g-field-info-get-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-field-info-get-type.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIFieldInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIFieldInfo"></a><h3>GIFieldInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIFieldInfo;
+</pre>
+<p>Represents a field of a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIFieldInfoFlags"></a><h3>enum GIFieldInfoFlags</h3>
+<p>Flags for a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GIFieldInfoFlags.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>
+<td class="enum_member_name"><p><a name="GI-FIELD-IS-READABLE:CAPS"></a>GI_FIELD_IS_READABLE</p></td>
+<td class="enum_member_description">
+<p>field is readable.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td class="enum_member_name"><p><a name="GI-FIELD-IS-WRITABLE:CAPS"></a>GI_FIELD_IS_WRITABLE</p></td>
+<td class="enum_member_description">
+<p>field is writable.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
+</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIFunctionInfo.html b/docs/reference/html/gi-GIFunctionInfo.html
index 15b49ca3..67b4d07c 100644
--- a/docs/reference/html/gi-GIFunctionInfo.html
+++ b/docs/reference/html/gi-GIFunctionInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIFunctionInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIFunctionInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GICallableInfo.html" title="GICallableInfo">
<link rel="next" href="gi-GICallbackInfo.html" title="GICallbackInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GICallableInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GICallbackInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIFunctionInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIFunctionInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIFunctionInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GICallableInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GICallbackInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIFunctionInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,389 +29,469 @@
<h2><span class="refentrytitle"><a name="gi-GIFunctionInfo.top_of_page"></a>GIFunctionInfo</span></h2>
<p>GIFunctionInfo — Struct representing a function</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIFunctionInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIFunctionInfo.html#GI-IS-FUNCTION-INFO:CAPS" title="GI_IS_FUNCTION_INFO()">GI_IS_FUNCTION_INFO</a> (info)
-typedef <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo">GIFunctionInfo</a>;
-enum <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" title="enum GIFunctionInfoFlags">GIFunctionInfoFlags</a>;
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" title="enum GIFunctionInfoFlags"><span class="returnvalue">GIFunctionInfoFlags</span></a> <a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-flags" title="g_function_info_get_flags ()">g_function_info_get_flags</a> (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> * <a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-property" title="g_function_info_get_property ()">g_function_info_get_property</a> (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-symbol" title="g_function_info_get_symbol ()">g_function_info_get_symbol</a> (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * <a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-vfunc" title="g_function_info_get_vfunc ()">g_function_info_get_vfunc</a> (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIFunctionInfo.html#g-function-info-invoke" title="g_function_info_invoke ()">g_function_info_invoke</a> (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-#define <a class="link" href="gi-GIFunctionInfo.html#G-INVOKE-ERROR:CAPS" title="G_INVOKE_ERROR">G_INVOKE_ERROR</a>
-<span class="returnvalue">GQuark</span> <a class="link" href="gi-GIFunctionInfo.html#g-invoke-error-quark" title="g_invoke_error_quark ()">g_invoke_error_quark</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-enum <a class="link" href="gi-GIFunctionInfo.html#GInvokeError" title="enum GInvokeError">GInvokeError</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gi-GIFunctionInfo.description"></a><h2>Description</h2>
-<p>
-GIFunctionInfo represents a function, method or constructor.
-To find out what kind of entity a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> represents, call
-<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-flags" title="g_function_info_get_flags ()"><code class="function">g_function_info_get_flags()</code></a>.
-</p>
-<p>
-See also <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> for information on how to retreive arguments and
-other metadata.
-</p>
-<p>
-</p>
-<div class="refsect1">
-<a name="gi-gifunctioninfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
-<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
- +----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
- +----GIFunctionInfo
- +----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
- +----<a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
-</pre>
-</div>
-<p>
-</p>
-</div>
<div class="refsect1">
-<a name="gi-GIFunctionInfo.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GI-IS-FUNCTION-INFO:CAPS"></a><h3>GI_IS_FUNCTION_INFO()</h3>
-<pre class="programlisting">#define GI_IS_FUNCTION_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="gi-GIFunctionInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GIFunctionInfo"></a><h3>GIFunctionInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIFunctionInfo;
-</pre>
-<p>
-Represents a function, eg arguments and return value.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GIFunctionInfoFlags"></a><h3>enum GIFunctionInfoFlags</h3>
-<pre class="programlisting">typedef enum {
- GI_FUNCTION_IS_METHOD = 1 &lt;&lt; 0,
- GI_FUNCTION_IS_CONSTRUCTOR = 1 &lt;&lt; 1,
- GI_FUNCTION_IS_GETTER = 1 &lt;&lt; 2,
- GI_FUNCTION_IS_SETTER = 1 &lt;&lt; 3,
- GI_FUNCTION_WRAPS_VFUNC = 1 &lt;&lt; 4,
- GI_FUNCTION_THROWS = 1 &lt;&lt; 5
-} GIFunctionInfoFlags;
-</pre>
-<p>
-Flags for a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> struct.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><a name="GI-FUNCTION-IS-METHOD:CAPS"></a><span class="term"><code class="literal">GI_FUNCTION_IS_METHOD</code></span></p></td>
-<td>is a method.
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIFunctionInfo.html#GI-IS-FUNCTION-INFO:CAPS" title="GI_IS_FUNCTION_INFO()">GI_IS_FUNCTION_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" title="enum GIFunctionInfoFlags"><span class="returnvalue">GIFunctionInfoFlags</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-flags" title="g_function_info_get_flags ()">g_function_info_get_flags</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-FUNCTION-IS-CONSTRUCTOR:CAPS"></a><span class="term"><code class="literal">GI_FUNCTION_IS_CONSTRUCTOR</code></span></p></td>
-<td>is a constructor.
+<td class="function_type">
+<a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-property" title="g_function_info_get_property ()">g_function_info_get_property</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-FUNCTION-IS-GETTER:CAPS"></a><span class="term"><code class="literal">GI_FUNCTION_IS_GETTER</code></span></p></td>
-<td>is a getter of a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>.
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-symbol" title="g_function_info_get_symbol ()">g_function_info_get_symbol</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-FUNCTION-IS-SETTER:CAPS"></a><span class="term"><code class="literal">GI_FUNCTION_IS_SETTER</code></span></p></td>
-<td>is a setter of a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>.
+<td class="function_type">
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-vfunc" title="g_function_info_get_vfunc ()">g_function_info_get_vfunc</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-FUNCTION-WRAPS-VFUNC:CAPS"></a><span class="term"><code class="literal">GI_FUNCTION_WRAPS_VFUNC</code></span></p></td>
-<td>represents a virtual function.
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-invoke" title="g_function_info_invoke ()">g_function_info_invoke</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-FUNCTION-THROWS:CAPS"></a><span class="term"><code class="literal">GI_FUNCTION_THROWS</code></span></p></td>
-<td>the function may throw an error.
+<td class="function_type">
+<a href="../glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIFunctionInfo.html#g-invoke-error-quark" title="g_invoke_error_quark ()">g_invoke_error_quark</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="g-function-info-get-flags"></a><h3>g_function_info_get_flags ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" title="enum GIFunctionInfoFlags"><span class="returnvalue">GIFunctionInfoFlags</span></a> g_function_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" title="enum GIFunctionInfoFlags"><span class="type">GIFunctionInfoFlags</span></a> for the <em class="parameter"><code>info</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="gi-GIFunctionInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
-</td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo">GIFunctionInfo</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" title="enum GIFunctionInfoFlags">GIFunctionInfoFlags</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-GIFunctionInfo.html#G-INVOKE-ERROR:CAPS" title="G_INVOKE_ERROR">G_INVOKE_ERROR</a></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the flags</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GIFunctionInfo.html#GInvokeError" title="enum GInvokeError">GInvokeError</a></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect1">
+<a name="gi-GIFunctionInfo.description"></a><h2>Description</h2>
+<p>GIFunctionInfo represents a function, method or constructor.
+To find out what kind of entity a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> represents, call
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-get-flags" title="g_function_info_get_flags ()"><code class="function">g_function_info_get_flags()</code></a>.</p>
+<p>See also <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> for information on how to retreive arguments and
+other metadata.</p>
+<div class="refsect1">
+<a name="gi-gifunctioninfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
+<pre class="synopsis">
+ <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ +----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+ +----GIFunctionInfo
+ +----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
+ +----<a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
+</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIFunctionInfo.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="GI-IS-FUNCTION-INFO:CAPS"></a><h3>GI_IS_FUNCTION_INFO()</h3>
+<pre class="programlisting">#define GI_IS_FUNCTION_INFO(info)</pre>
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-FUNCTION-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-function-info-get-flags"></a><h3>g_function_info_get_flags ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" title="enum GIFunctionInfoFlags"><span class="returnvalue">GIFunctionInfoFlags</span></a>
+g_function_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" title="enum GIFunctionInfoFlags"><span class="type">GIFunctionInfoFlags</span></a> for the <em class="parameter"><code>info</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-function-info-get-flags.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-function-info-get-flags.returns"></a><h4>Returns</h4>
+<p> the flags</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-function-info-get-property"></a><h3>g_function_info_get_property ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> * g_function_info_get_property (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the property associated with this <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.
+<a name="g-function-info-get-property"></a><h3>g_function_info_get_property ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> *
+g_function_info_get_property (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the property associated with this <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.
Only <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> with the flag <a class="link" href="gi-GIFunctionInfo.html#GI-FUNCTION-IS-GETTER:CAPS"><code class="literal">GI_FUNCTION_IS_GETTER</code></a> or
<a class="link" href="gi-GIFunctionInfo.html#GI-FUNCTION-IS-SETTER:CAPS"><code class="literal">GI_FUNCTION_IS_SETTER</code></a> have a property set. For other cases,
-<code class="literal">NULL</code> will be returned.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned.</p>
+<div class="refsect3">
+<a name="g-function-info-get-property.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the property or <code class="literal">NULL</code> if not set. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-function-info-get-property.returns"></a><h4>Returns</h4>
+<p> the property or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set. Free it with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-function-info-get-symbol"></a><h3>g_function_info_get_symbol ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_function_info_get_symbol (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the symbol of the function. The symbol is the name of the
+<a name="g-function-info-get-symbol"></a><h3>g_function_info_get_symbol ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_function_info_get_symbol (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the symbol of the function. The symbol is the name of the
exported function, suitable to be used as an argument to
-<code class="function">g_module_symbol()</code>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a href="../glib/glib-Dynamic-Loading-of-Modules.html#g-module-symbol"><code class="function">g_module_symbol()</code></a>.</p>
+<div class="refsect3">
+<a name="g-function-info-get-symbol.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-function-info-get-symbol.returns"></a><h4>Returns</h4>
+<p> the symbol</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-function-info-get-vfunc"></a><h3>g_function_info_get_vfunc ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * g_function_info_get_vfunc (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the virtual function associated with this <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.
+<a name="g-function-info-get-vfunc"></a><h3>g_function_info_get_vfunc ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+g_function_info_get_vfunc (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the virtual function associated with this <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>.
Only <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> with the flag <a class="link" href="gi-GIFunctionInfo.html#GI-FUNCTION-WRAPS-VFUNC:CAPS"><code class="literal">GI_FUNCTION_WRAPS_VFUNC</code></a> has
-a virtual function set. For other cases, <code class="literal">NULL</code> will be returned.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+a virtual function set. For other cases, <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned.</p>
+<div class="refsect3">
+<a name="g-function-info-get-vfunc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the virtual function or <code class="literal">NULL</code> if not set.
-Free it by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-function-info-get-vfunc.returns"></a><h4>Returns</h4>
+<p> the virtual function or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set.
+Free it by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-function-info-invoke"></a><h3>g_function_info_invoke ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_function_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Invokes the function described in <em class="parameter"><code>info</code></em> with the given
+<a name="g-function-info-invoke"></a><h3>g_function_info_invoke ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_function_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+ <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+ <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Invokes the function described in <em class="parameter"><code>info</code></em>
+ with the given
arguments. Note that inout parameters must appear in both
argument lists. This function uses <code class="function">dlsym()</code> to obtain a pointer
to the function, so the library or shared object containing the
described function must either be linked to the caller, or must
-have been <code class="function">g_module_symbol()</code>ed before calling this function.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+have been <a href="../glib/glib-Dynamic-Loading-of-Modules.html#g-module-symbol"><code class="function">g_module_symbol()</code></a>ed before calling this function.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-function-info-invoke.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> describing the function to invoke</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> describing the function to invoke</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>in_args</code></em> :</span></p></td>
-<td>an array of <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a>s, one for each in
-parameter of <em class="parameter"><code>info</code></em>. If there are no in parameter, <em class="parameter"><code>in_args</code></em>
-can be <code class="literal">NULL</code>
-</td>
+<td class="parameter_name"><p>in_args</p></td>
+<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
+parameter of <em class="parameter"><code>info</code></em>
+. If there are no in parameter, <em class="parameter"><code>in_args</code></em>
+can be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_in_args</p></td>
+<td class="parameter_description"><p>the length of the <em class="parameter"><code>in_args</code></em>
+array</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_args</p></td>
+<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
+parameter of <em class="parameter"><code>info</code></em>
+. If there are no out parameters, <em class="parameter"><code>out_args</code></em>
+may be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_in_args</code></em> :</span></p></td>
-<td>the length of the <em class="parameter"><code>in_args</code></em> array</td>
+<td class="parameter_name"><p>n_out_args</p></td>
+<td class="parameter_description"><p>the length of the <em class="parameter"><code>out_args</code></em>
+array</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>out_args</code></em> :</span></p></td>
-<td>an array of <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a>s, one for each out
-parameter of <em class="parameter"><code>info</code></em>. If there are no out parameters, <em class="parameter"><code>out_args</code></em>
-may be <code class="literal">NULL</code>
+<td class="parameter_name"><p>return_value</p></td>
+<td class="parameter_description"><p>return location for the return value of the
+function. If the function returns void, <em class="parameter"><code>return_value</code></em>
+may be
+<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>return location for detailed error information, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-function-info-invoke.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the function has been invoked, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if an
+error occurred.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-invoke-error-quark"></a><h3>g_invoke_error_quark ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
+g_invoke_error_quark (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-invoke-error-quark.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIFunctionInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIFunctionInfo"></a><h3>GIFunctionInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIFunctionInfo;
+</pre>
+<p>Represents a function, eg arguments and return value.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIFunctionInfoFlags"></a><h3>enum GIFunctionInfoFlags</h3>
+<p>Flags for a <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> struct.</p>
+<div class="refsect3">
+<a name="GIFunctionInfoFlags.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GI-FUNCTION-IS-METHOD:CAPS"></a>GI_FUNCTION_IS_METHOD</p></td>
+<td class="enum_member_description">
+<p>is a method.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_out_args</code></em> :</span></p></td>
-<td>the length of the <em class="parameter"><code>out_args</code></em> array</td>
+<td class="enum_member_name"><p><a name="GI-FUNCTION-IS-CONSTRUCTOR:CAPS"></a>GI_FUNCTION_IS_CONSTRUCTOR</p></td>
+<td class="enum_member_description">
+<p>is a constructor.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td>
-<td>return location for the return value of the
-function. If the function returns void, <em class="parameter"><code>return_value</code></em> may be
-<code class="literal">NULL</code>
+<td class="enum_member_name"><p><a name="GI-FUNCTION-IS-GETTER:CAPS"></a>GI_FUNCTION_IS_GETTER</p></td>
+<td class="enum_member_description">
+<p>is a getter of a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for detailed error information, or <code class="literal">NULL</code>
+<td class="enum_member_name"><p><a name="GI-FUNCTION-IS-SETTER:CAPS"></a>GI_FUNCTION_IS_SETTER</p></td>
+<td class="enum_member_description">
+<p>is a setter of a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if the function has been invoked, <code class="literal">FALSE</code> if an
-error occurred.</td>
+<td class="enum_member_name"><p><a name="GI-FUNCTION-WRAPS-VFUNC:CAPS"></a>GI_FUNCTION_WRAPS_VFUNC</p></td>
+<td class="enum_member_description">
+<p>represents a virtual function.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GI-FUNCTION-THROWS:CAPS"></a>GI_FUNCTION_THROWS</p></td>
+<td class="enum_member_description">
+<p>the function may throw an error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="G-INVOKE-ERROR:CAPS"></a><h3>G_INVOKE_ERROR</h3>
<pre class="programlisting">#define G_INVOKE_ERROR (g_invoke_error_quark ())
</pre>
-<p>
-TODO
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-invoke-error-quark"></a><h3>g_invoke_error_quark ()</h3>
-<pre class="programlisting"><span class="returnvalue">GQuark</span> g_invoke_error_quark (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr></tbody>
-</table></div>
+<p>TODO</p>
</div>
<hr>
<div class="refsect2">
<a name="GInvokeError"></a><h3>enum GInvokeError</h3>
-<pre class="programlisting">typedef enum {
- G_INVOKE_ERROR_FAILED,
- G_INVOKE_ERROR_SYMBOL_NOT_FOUND,
- G_INVOKE_ERROR_ARGUMENT_MISMATCH
-} GInvokeError;
-</pre>
-<p>
-An error occuring while invoking a function via
-<a class="link" href="gi-GIFunctionInfo.html#g-function-info-invoke" title="g_function_info_invoke ()"><code class="function">g_function_info_invoke()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>An error occuring while invoking a function via
+<a class="link" href="gi-GIFunctionInfo.html#g-function-info-invoke" title="g_function_info_invoke ()"><code class="function">g_function_info_invoke()</code></a>.</p>
+<div class="refsect3">
+<a name="GInvokeError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="G-INVOKE-ERROR-FAILED:CAPS"></a><span class="term"><code class="literal">G_INVOKE_ERROR_FAILED</code></span></p></td>
-<td>invokation failed, unknown error.
+<td class="enum_member_name"><p><a name="G-INVOKE-ERROR-FAILED:CAPS"></a>G_INVOKE_ERROR_FAILED</p></td>
+<td class="enum_member_description">
+<p>invokation failed, unknown error.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-INVOKE-ERROR-SYMBOL-NOT-FOUND:CAPS"></a><span class="term"><code class="literal">G_INVOKE_ERROR_SYMBOL_NOT_FOUND</code></span></p></td>
-<td>symbol couldn't be found in any of the
-libraries associated with the typelib of the function.
+<td class="enum_member_name"><p><a name="G-INVOKE-ERROR-SYMBOL-NOT-FOUND:CAPS"></a>G_INVOKE_ERROR_SYMBOL_NOT_FOUND</p></td>
+<td class="enum_member_description">
+<p>symbol couldn't be found in any of the
+libraries associated with the typelib of the function.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-INVOKE-ERROR-ARGUMENT-MISMATCH:CAPS"></a><span class="term"><code class="literal">G_INVOKE_ERROR_ARGUMENT_MISMATCH</code></span></p></td>
-<td>the arguments provided didn't match
-the expected arguments for the functions type signature.
+<td class="enum_member_name"><p><a name="G-INVOKE-ERROR-ARGUMENT-MISMATCH:CAPS"></a>G_INVOKE_ERROR_ARGUMENT_MISMATCH</p></td>
+<td class="enum_member_description">
+<p>the arguments provided didn't match
+the expected arguments for the functions type signature.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
+</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIInterfaceInfo.html b/docs/reference/html/gi-GIInterfaceInfo.html
index 9b478675..a1f13a2b 100644
--- a/docs/reference/html/gi-GIInterfaceInfo.html
+++ b/docs/reference/html/gi-GIInterfaceInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIInterfaceInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIInterfaceInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIObjectInfo.html" title="GIObjectInfo">
<link rel="next" href="gi-GIArgInfo.html" title="GIArgInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIObjectInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIArgInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIInterfaceInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIInterfaceInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIInterfaceInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIObjectInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIArgInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIInterfaceInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,51 +29,171 @@
<h2><span class="refentrytitle"><a name="gi-GIInterfaceInfo.top_of_page"></a>GIInterfaceInfo</span></h2>
<p>GIInterfaceInfo — Struct representing a GInterface</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIInterfaceInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIInterfaceInfo.html#GI-IS-INTERFACE-INFO:CAPS" title="GI_IS_INTERFACE_INFO()">GI_IS_INTERFACE_INFO</a> (info)
-typedef <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo">GIInterfaceInfo</a>;
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-prerequisites" title="g_interface_info_get_n_prerequisites ()">g_interface_info_get_n_prerequisites</a>
- (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);
-<span class="returnvalue">GIBaseInfo</span> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-prerequisite" title="g_interface_info_get_prerequisite ()">g_interface_info_get_prerequisite</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-properties" title="g_interface_info_get_n_properties ()">g_interface_info_get_n_properties</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-property" title="g_interface_info_get_property ()">g_interface_info_get_property</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-methods" title="g_interface_info_get_n_methods ()">g_interface_info_get_n_methods</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-method" title="g_interface_info_get_method ()">g_interface_info_get_method</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-method" title="g_interface_info_find_method ()">g_interface_info_find_method</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-signals" title="g_interface_info_get_n_signals ()">g_interface_info_get_n_signals</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-signal" title="g_interface_info_get_signal ()">g_interface_info_get_signal</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-signal" title="g_interface_info_find_signal ()">g_interface_info_find_signal</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-vfuncs" title="g_interface_info_get_n_vfuncs ()">g_interface_info_get_n_vfuncs</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-vfunc" title="g_interface_info_get_vfunc ()">g_interface_info_get_vfunc</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-vfunc" title="g_interface_info_find_vfunc ()">g_interface_info_find_vfunc</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-constants" title="g_interface_info_get_n_constants ()">g_interface_info_get_n_constants</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-constant" title="g_interface_info_get_constant ()">g_interface_info_get_constant</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="returnvalue">GIStructInfo</span></a> * <a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-iface-struct" title="g_interface_info_get_iface_struct ()">g_interface_info_get_iface_struct</a> (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIInterfaceInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#GI-IS-INTERFACE-INFO:CAPS" title="GI_IS_INTERFACE_INFO()">GI_IS_INTERFACE_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-prerequisites" title="g_interface_info_get_n_prerequisites ()">g_interface_info_get_n_prerequisites</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GIBaseInfo</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-prerequisite" title="g_interface_info_get_prerequisite ()">g_interface_info_get_prerequisite</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-properties" title="g_interface_info_get_n_properties ()">g_interface_info_get_n_properties</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-property" title="g_interface_info_get_property ()">g_interface_info_get_property</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-methods" title="g_interface_info_get_n_methods ()">g_interface_info_get_n_methods</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-method" title="g_interface_info_get_method ()">g_interface_info_get_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-method" title="g_interface_info_find_method ()">g_interface_info_find_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-signals" title="g_interface_info_get_n_signals ()">g_interface_info_get_n_signals</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-signal" title="g_interface_info_get_signal ()">g_interface_info_get_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-signal" title="g_interface_info_find_signal ()">g_interface_info_find_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-vfuncs" title="g_interface_info_get_n_vfuncs ()">g_interface_info_get_n_vfuncs</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-vfunc" title="g_interface_info_get_vfunc ()">g_interface_info_get_vfunc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-find-vfunc" title="g_interface_info_find_vfunc ()">g_interface_info_find_vfunc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-n-constants" title="g_interface_info_get_n_constants ()">g_interface_info_get_n_constants</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-constant" title="g_interface_info_get_constant ()">g_interface_info_get_constant</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="returnvalue">GIStructInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIInterfaceInfo.html#g-interface-info-get-iface-struct" title="g_interface_info_get_iface_struct ()">g_interface_info_get_iface_struct</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIInterfaceInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo">GIInterfaceInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIInterfaceInfo.description"></a><h2>Description</h2>
-<p>
-GIInterfaceInfo represents a <span class="type">GInterface</span> type.
-</p>
-<p>
-A GInterface has methods, fields, properties, signals, interfaces, constants,
-virtual functions and prerequisites.
-</p>
-<p>
-</p>
+<p>GIInterfaceInfo represents a <a href="/home/rico/jhbuild/install/share/gtk-doc/html/gobject/GTypeModule.html"><span class="type">GInterface</span></a> type.</p>
+<p>A GInterface has methods, fields, properties, signals, interfaces, constants,
+virtual functions and prerequisites.</p>
<div class="refsect1">
<a name="gi-giinterfaceinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -86,512 +202,565 @@ virtual functions and prerequisites.
+----GIInterfaceInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIInterfaceInfo.details"></a><h2>Details</h2>
+<a name="gi-GIInterfaceInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-INTERFACE-INFO:CAPS"></a><h3>GI_IS_INTERFACE_INFO()</h3>
<pre class="programlisting">#define GI_IS_INTERFACE_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-INTERFACE-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIInterfaceInfo"></a><h3>GIInterfaceInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIInterfaceInfo;
-</pre>
-<p>
-Represents an interface.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-n-prerequisites"></a><h3>g_interface_info_get_n_prerequisites ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_interface_info_get_n_prerequisites
- (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of prerequisites for this interface type.
+<a name="g-interface-info-get-n-prerequisites"></a><h3>g_interface_info_get_n_prerequisites ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_interface_info_get_n_prerequisites (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of prerequisites for this interface type.
A prerequisites is another interface that needs to be implemented for
-interface, similar to an base class for GObjects.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+interface, similar to an base class for GObjects.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-n-prerequisites.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of prerequisites</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-n-prerequisites.returns"></a><h4>Returns</h4>
+<p> number of prerequisites</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-prerequisite"></a><h3>g_interface_info_get_prerequisite ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> * g_interface_info_get_prerequisite (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an interface type prerequisites index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-prerequisite"></a><h3>g_interface_info_get_prerequisite ()</h3>
+<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+g_interface_info_get_prerequisite (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an interface type prerequisites index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-prerequisite.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of prerequisites to get</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the prerequisites as a <span class="type">GIBaseInfo</span>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of prerequisites to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-prerequisite.returns"></a><h4>Returns</h4>
+<p> the prerequisites as a <span class="type">GIBaseInfo</span>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-n-properties"></a><h3>g_interface_info_get_n_properties ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_interface_info_get_n_properties (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of properties that this interface type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-n-properties"></a><h3>g_interface_info_get_n_properties ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_interface_info_get_n_properties (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of properties that this interface type has.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-n-properties.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of properties</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-n-properties.returns"></a><h4>Returns</h4>
+<p> number of properties</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-property"></a><h3>g_interface_info_get_property ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> * g_interface_info_get_property (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an interface type property at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-property"></a><h3>g_interface_info_get_property ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> *
+g_interface_info_get_property (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an interface type property at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-property.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of property to get</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of property to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-property.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-n-methods"></a><h3>g_interface_info_get_n_methods ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_interface_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of methods that this interface type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-n-methods"></a><h3>g_interface_info_get_n_methods ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_interface_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of methods that this interface type has.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-n-methods.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of methods</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-n-methods.returns"></a><h4>Returns</h4>
+<p> number of methods</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-method"></a><h3>g_interface_info_get_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_interface_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an interface type method at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-method"></a><h3>g_interface_info_get_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_interface_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an interface type method at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of method to get</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of method to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-find-method"></a><h3>g_interface_info_find_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_interface_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Obtain a method of the interface type given a <em class="parameter"><code>name</code></em>. <code class="literal">NULL</code> will be
-returned if there's no method available with that name.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-find-method"></a><h3>g_interface_info_find_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_interface_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Obtain a method of the interface type given a <em class="parameter"><code>name</code></em>
+. <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
+returned if there's no method available with that name.</p>
+<div class="refsect3">
+<a name="g-interface-info-find-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>name of method to obtain</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> or <code class="literal">NULL</code> if none found.
-Free the struct by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>name of method to obtain</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-find-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none found.
+Free the struct by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-n-signals"></a><h3>g_interface_info_get_n_signals ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_interface_info_get_n_signals (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of signals that this interface type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-n-signals"></a><h3>g_interface_info_get_n_signals ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_interface_info_get_n_signals (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of signals that this interface type has.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-n-signals.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of signals</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-n-signals.returns"></a><h4>Returns</h4>
+<p> number of signals</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-signal"></a><h3>g_interface_info_get_signal ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * g_interface_info_get_signal (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an interface type signal at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-signal"></a><h3>g_interface_info_get_signal ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+g_interface_info_get_signal (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an interface type signal at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of signal to get</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of signal to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-signal.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-find-signal"></a><h3>g_interface_info_find_signal ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * g_interface_info_find_signal (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-find-signal"></a><h3>g_interface_info_find_signal ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+g_interface_info_find_signal (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-interface-info-find-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>Name of signal</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Info for the signal with name <em class="parameter"><code>name</code></em> in <em class="parameter"><code>info</code></em>, or
-<code class="literal">NULL</code> on failure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>Name of signal</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
-<p class="since">Since 1.34</p>
+</div>
+<div class="refsect3">
+<a name="g-interface-info-find-signal.returns"></a><h4>Returns</h4>
+<p> Info for the signal with name <em class="parameter"><code>name</code></em>
+in <em class="parameter"><code>info</code></em>
+, or
+<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure. </p>
+<p><span class="annotation">[<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-1-34.html#api-index-1.34">1.34</a></p>
</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-n-vfuncs"></a><h3>g_interface_info_get_n_vfuncs ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_interface_info_get_n_vfuncs (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of virtual functions that this interface type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-n-vfuncs"></a><h3>g_interface_info_get_n_vfuncs ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_interface_info_get_n_vfuncs (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of virtual functions that this interface type has.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-n-vfuncs.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of virtual functions</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-n-vfuncs.returns"></a><h4>Returns</h4>
+<p> number of virtual functions</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-vfunc"></a><h3>g_interface_info_get_vfunc ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * g_interface_info_get_vfunc (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an interface type virtual function at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-vfunc"></a><h3>g_interface_info_get_vfunc ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+g_interface_info_get_vfunc (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an interface type virtual function at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-vfunc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of virtual function to get</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of virtual function to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-vfunc.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-find-vfunc"></a><h3>g_interface_info_find_vfunc ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * g_interface_info_find_vfunc (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Locate a virtual function slot with name <em class="parameter"><code>name</code></em>. See the documentation
-for <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc" title="g_object_info_find_vfunc ()"><code class="function">g_object_info_find_vfunc()</code></a> for more information on virtuals.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-find-vfunc"></a><h3>g_interface_info_find_vfunc ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+g_interface_info_find_vfunc (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Locate a virtual function slot with name <em class="parameter"><code>name</code></em>
+. See the documentation
+for <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc" title="g_object_info_find_vfunc ()"><code class="function">g_object_info_find_vfunc()</code></a> for more information on virtuals.</p>
+<div class="refsect3">
+<a name="g-interface-info-find-vfunc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>The name of a virtual function to find.</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>, or <code class="literal">NULL</code>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>The name of a virtual function to find.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-find-vfunc.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-n-constants"></a><h3>g_interface_info_get_n_constants ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_interface_info_get_n_constants (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of constants that this interface type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-n-constants"></a><h3>g_interface_info_get_n_constants ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_interface_info_get_n_constants (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of constants that this interface type has.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-n-constants.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of constants</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-n-constants.returns"></a><h4>Returns</h4>
+<p> number of constants</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-constant"></a><h3>g_interface_info_get_constant ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> * g_interface_info_get_constant (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an interface type constant at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-constant"></a><h3>g_interface_info_get_constant ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> *
+g_interface_info_get_constant (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an interface type constant at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-constant.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of constant to get</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of constant to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-constant.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-interface-info-get-iface-struct"></a><h3>g_interface_info_get_iface_struct ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="returnvalue">GIStructInfo</span></a> * g_interface_info_get_iface_struct (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
-<p>
-Returns the layout C structure associated with this <span class="type">GInterface</span>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-interface-info-get-iface-struct"></a><h3>g_interface_info_get_iface_struct ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="returnvalue">GIStructInfo</span></a> *
+g_interface_info_get_iface_struct (<em class="parameter"><code><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a> *info</code></em>);</pre>
+<p>Returns the layout C structure associated with this <a href="/home/rico/jhbuild/install/share/gtk-doc/html/gobject/GTypeModule.html"><span class="type">GInterface</span></a>.</p>
+<div class="refsect3">
+<a name="g-interface-info-get-iface-struct.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <code class="literal">NULL</code>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-interface-info-get-iface-struct.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIInterfaceInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIInterfaceInfo"></a><h3>GIInterfaceInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIInterfaceInfo;
+</pre>
+<p>Represents an interface.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIObjectInfo.html b/docs/reference/html/gi-GIObjectInfo.html
index 83cc634e..e344effc 100644
--- a/docs/reference/html/gi-GIObjectInfo.html
+++ b/docs/reference/html/gi-GIObjectInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIObjectInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIObjectInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIUnionInfo.html" title="GIUnionInfo">
<link rel="next" href="gi-GIInterfaceInfo.html" title="GIInterfaceInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIUnionInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIInterfaceInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIObjectInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIObjectInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIObjectInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIUnionInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIInterfaceInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIObjectInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,94 +29,334 @@
<h2><span class="refentrytitle"><a name="gi-GIObjectInfo.top_of_page"></a>GIObjectInfo</span></h2>
<p>GIObjectInfo — Struct representing a GObject</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIObjectInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIObjectInfo.html#GI-IS-OBJECT-INFO:CAPS" title="GI_IS_OBJECT_INFO()">GI_IS_OBJECT_INFO</a> (info)
-typedef <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo">GIObjectInfo</a>;
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-abstract" title="g_object_info_get_abstract ()">g_object_info_get_abstract</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-fundamental" title="g_object_info_get_fundamental ()">g_object_info_get_fundamental</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="returnvalue">GIObjectInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-parent" title="g_object_info_get_parent ()">g_object_info_get_parent</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-type-name" title="g_object_info_get_type_name ()">g_object_info_get_type_name</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-type-init" title="g_object_info_get_type_init ()">g_object_info_get_type_init</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-constants" title="g_object_info_get_n_constants ()">g_object_info_get_n_constants</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-constant" title="g_object_info_get_constant ()">g_object_info_get_constant</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-fields" title="g_object_info_get_n_fields ()">g_object_info_get_n_fields</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-field" title="g_object_info_get_field ()">g_object_info_get_field</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-interfaces" title="g_object_info_get_n_interfaces ()">g_object_info_get_n_interfaces</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="returnvalue">GIInterfaceInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-interface" title="g_object_info_get_interface ()">g_object_info_get_interface</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-methods" title="g_object_info_get_n_methods ()">g_object_info_get_n_methods</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-method" title="g_object_info_get_method ()">g_object_info_get_method</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-method" title="g_object_info_find_method ()">g_object_info_find_method</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-method-using-interfaces" title="g_object_info_find_method_using_interfaces ()">g_object_info_find_method_using_interfaces</a>
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> **implementor</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-properties" title="g_object_info_get_n_properties ()">g_object_info_get_n_properties</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-property" title="g_object_info_get_property ()">g_object_info_get_property</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-signals" title="g_object_info_get_n_signals ()">g_object_info_get_n_signals</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-signal" title="g_object_info_get_signal ()">g_object_info_get_signal</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-signal" title="g_object_info_find_signal ()">g_object_info_find_signal</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-vfuncs" title="g_object_info_get_n_vfuncs ()">g_object_info_get_n_vfuncs</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-vfunc" title="g_object_info_get_vfunc ()">g_object_info_get_vfunc</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc" title="g_object_info_find_vfunc ()">g_object_info_find_vfunc</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc-using-interfaces" title="g_object_info_find_vfunc_using_interfaces ()">g_object_info_find_vfunc_using_interfaces</a>
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> **implementor</code></em>);
-
-<a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="returnvalue">GIStructInfo</span></a> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-class-struct" title="g_object_info_get_class_struct ()">g_object_info_get_class_struct</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function" title="g_object_info_get_ref_function ()">g_object_info_get_ref_function</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()"><span class="returnvalue">GIObjectInfoRefFunction</span></a> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function-pointer" title="g_object_info_get_ref_function_pointer ()">g_object_info_get_ref_function_pointer</a>
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function" title="g_object_info_get_unref_function ()">g_object_info_get_unref_function</a> (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()"><span class="returnvalue">GIObjectInfoUnrefFunction</span></a> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function-pointer" title="g_object_info_get_unref_function_pointer ()">g_object_info_get_unref_function_pointer</a>
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function" title="g_object_info_get_set_value_function ()">g_object_info_get_set_value_function</a>
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()"><span class="returnvalue">GIObjectInfoSetValueFunction</span></a> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function-pointer" title="g_object_info_get_set_value_function_pointer ()">g_object_info_get_set_value_function_pointer</a>
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-const <span class="returnvalue">char</span> * <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function" title="g_object_info_get_get_value_function ()">g_object_info_get_get_value_function</a>
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()"><span class="returnvalue">GIObjectInfoGetValueFunction</span></a> <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function-pointer" title="g_object_info_get_get_value_function_pointer ()">g_object_info_get_get_value_function_pointer</a>
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<span class="returnvalue">void</span> * (<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()">*GIObjectInfoRefFunction</a>) (<em class="parameter"><code><span class="type">void</span> *object</code></em>);
-<span class="returnvalue">void</span> (<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()">*GIObjectInfoUnrefFunction</a>) (<em class="parameter"><code><span class="type">void</span> *object</code></em>);
-<span class="returnvalue">void</span> (<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()">*GIObjectInfoSetValueFunction</a>) (<em class="parameter"><code><span class="type">GValue</span> *value</code></em>,
- <em class="parameter"><code><span class="type">void</span> *object</code></em>);
-<span class="returnvalue">void</span> * (<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()">*GIObjectInfoGetValueFunction</a>) (<em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIObjectInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#GI-IS-OBJECT-INFO:CAPS" title="GI_IS_OBJECT_INFO()">GI_IS_OBJECT_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-abstract" title="g_object_info_get_abstract ()">g_object_info_get_abstract</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-fundamental" title="g_object_info_get_fundamental ()">g_object_info_get_fundamental</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="returnvalue">GIObjectInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-parent" title="g_object_info_get_parent ()">g_object_info_get_parent</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-type-name" title="g_object_info_get_type_name ()">g_object_info_get_type_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-type-init" title="g_object_info_get_type_init ()">g_object_info_get_type_init</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-constants" title="g_object_info_get_n_constants ()">g_object_info_get_n_constants</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-constant" title="g_object_info_get_constant ()">g_object_info_get_constant</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-fields" title="g_object_info_get_n_fields ()">g_object_info_get_n_fields</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-field" title="g_object_info_get_field ()">g_object_info_get_field</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-interfaces" title="g_object_info_get_n_interfaces ()">g_object_info_get_n_interfaces</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="returnvalue">GIInterfaceInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-interface" title="g_object_info_get_interface ()">g_object_info_get_interface</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-methods" title="g_object_info_get_n_methods ()">g_object_info_get_n_methods</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-method" title="g_object_info_get_method ()">g_object_info_get_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-method" title="g_object_info_find_method ()">g_object_info_find_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-method-using-interfaces" title="g_object_info_find_method_using_interfaces ()">g_object_info_find_method_using_interfaces</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-properties" title="g_object_info_get_n_properties ()">g_object_info_get_n_properties</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-property" title="g_object_info_get_property ()">g_object_info_get_property</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-signals" title="g_object_info_get_n_signals ()">g_object_info_get_n_signals</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-signal" title="g_object_info_get_signal ()">g_object_info_get_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-signal" title="g_object_info_find_signal ()">g_object_info_find_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-n-vfuncs" title="g_object_info_get_n_vfuncs ()">g_object_info_get_n_vfuncs</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-vfunc" title="g_object_info_get_vfunc ()">g_object_info_get_vfunc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc" title="g_object_info_find_vfunc ()">g_object_info_find_vfunc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc-using-interfaces" title="g_object_info_find_vfunc_using_interfaces ()">g_object_info_find_vfunc_using_interfaces</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="returnvalue">GIStructInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-class-struct" title="g_object_info_get_class_struct ()">g_object_info_get_class_struct</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function" title="g_object_info_get_ref_function ()">g_object_info_get_ref_function</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()"><span class="returnvalue">GIObjectInfoRefFunction</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function-pointer" title="g_object_info_get_ref_function_pointer ()">g_object_info_get_ref_function_pointer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function" title="g_object_info_get_unref_function ()">g_object_info_get_unref_function</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()"><span class="returnvalue">GIObjectInfoUnrefFunction</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function-pointer" title="g_object_info_get_unref_function_pointer ()">g_object_info_get_unref_function_pointer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function" title="g_object_info_get_set_value_function ()">g_object_info_get_set_value_function</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()"><span class="returnvalue">GIObjectInfoSetValueFunction</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function-pointer" title="g_object_info_get_set_value_function_pointer ()">g_object_info_get_set_value_function_pointer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function" title="g_object_info_get_get_value_function ()">g_object_info_get_get_value_function</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()"><span class="returnvalue">GIObjectInfoGetValueFunction</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function-pointer" title="g_object_info_get_get_value_function_pointer ()">g_object_info_get_get_value_function_pointer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span> *
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()">*GIObjectInfoRefFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()">*GIObjectInfoUnrefFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()">*GIObjectInfoSetValueFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span> *
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()">*GIObjectInfoGetValueFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIObjectInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo">GIObjectInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIObjectInfo.description"></a><h2>Description</h2>
-<p>
-GIObjectInfo represents a <span class="type">GObject</span>. This doesn't represent a specific
-instance of a GObject, instead this represent the object type (eg class).
-</p>
-<p>
-A GObject has methods, fields, properties, signals, interfaces, constants
-and virtual functions.
-</p>
-<p>
-</p>
+<p>GIObjectInfo represents a <a href="../gobject/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a>. This doesn't represent a specific
+instance of a GObject, instead this represent the object type (eg class).</p>
+<p>A GObject has methods, fields, properties, signals, interfaces, constants
+and virtual functions.</p>
<div class="refsect1">
<a name="gi-giobjectinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -129,1130 +365,1221 @@ and virtual functions.
+----GIObjectInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIObjectInfo.details"></a><h2>Details</h2>
+<a name="gi-GIObjectInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-OBJECT-INFO:CAPS"></a><h3>GI_IS_OBJECT_INFO()</h3>
<pre class="programlisting">#define GI_IS_OBJECT_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-OBJECT-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIObjectInfo"></a><h3>GIObjectInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIObjectInfo;
-</pre>
-<p>
-Represents an object.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-abstract"></a><h3>g_object_info_get_abstract ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_object_info_get_abstract (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the object type is an abstract type, eg if it cannot be
-instantiated
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-abstract"></a><h3>g_object_info_get_abstract ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_object_info_get_abstract (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the object type is an abstract type, eg if it cannot be
+instantiated</p>
+<div class="refsect3">
+<a name="g-object-info-get-abstract.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if the object type is abstract</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-abstract.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the object type is abstract</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-fundamental"></a><h3>g_object_info_get_fundamental ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_object_info_get_fundamental (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the object type is of a fundamental type which is not
-G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-fundamental"></a><h3>g_object_info_get_fundamental ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_object_info_get_fundamental (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the object type is of a fundamental type which is not
+G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.</p>
+<div class="refsect3">
+<a name="g-object-info-get-fundamental.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if the object type is a fundamental type</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-fundamental.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the object type is a fundamental type</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-parent"></a><h3>g_object_info_get_parent ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="returnvalue">GIObjectInfo</span></a> * g_object_info_get_parent (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the parent of the object type.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-parent"></a><h3>g_object_info_get_parent ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="returnvalue">GIObjectInfo</span></a> *
+g_object_info_get_parent (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the parent of the object type.</p>
+<div class="refsect3">
+<a name="g-object-info-get-parent.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-parent.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-type-name"></a><h3>g_object_info_get_type_name ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_object_info_get_type_name (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the name of the objects class/type.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-type-name"></a><h3>g_object_info_get_type_name ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_object_info_get_type_name (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the name of the objects class/type.</p>
+<div class="refsect3">
+<a name="g-object-info-get-type-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>name of the objects type</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-type-name.returns"></a><h4>Returns</h4>
+<p> name of the objects type</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-type-init"></a><h3>g_object_info_get_type_init ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_object_info_get_type_init (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the function which when called will return the GType
-function for which this object type is registered.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-type-init"></a><h3>g_object_info_get_type_init ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_object_info_get_type_init (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the function which when called will return the GType
+function for which this object type is registered.</p>
+<div class="refsect3">
+<a name="g-object-info-get-type-init.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the type init function</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-type-init.returns"></a><h4>Returns</h4>
+<p> the type init function</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-n-constants"></a><h3>g_object_info_get_n_constants ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_object_info_get_n_constants (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of constants that this object type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-n-constants"></a><h3>g_object_info_get_n_constants ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_object_info_get_n_constants (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of constants that this object type has.</p>
+<div class="refsect3">
+<a name="g-object-info-get-n-constants.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of constants</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-n-constants.returns"></a><h4>Returns</h4>
+<p> number of constants</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-constant"></a><h3>g_object_info_get_constant ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> * g_object_info_get_constant (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an object type constant at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-constant"></a><h3>g_object_info_get_constant ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> *
+g_object_info_get_constant (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an object type constant at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-object-info-get-constant.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of constant to get</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of constant to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-constant.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-n-fields"></a><h3>g_object_info_get_n_fields ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_object_info_get_n_fields (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of fields that this object type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-n-fields"></a><h3>g_object_info_get_n_fields ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_object_info_get_n_fields (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of fields that this object type has.</p>
+<div class="refsect3">
+<a name="g-object-info-get-n-fields.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of fields</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-n-fields.returns"></a><h4>Returns</h4>
+<p> number of fields</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-field"></a><h3>g_object_info_get_field ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> * g_object_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an object type field at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-field"></a><h3>g_object_info_get_field ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> *
+g_object_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an object type field at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-object-info-get-field.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of field to get</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of field to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-field.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-n-interfaces"></a><h3>g_object_info_get_n_interfaces ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_object_info_get_n_interfaces (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of interfaces that this object type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-n-interfaces"></a><h3>g_object_info_get_n_interfaces ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_object_info_get_n_interfaces (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of interfaces that this object type has.</p>
+<div class="refsect3">
+<a name="g-object-info-get-n-interfaces.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of interfaces</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-n-interfaces.returns"></a><h4>Returns</h4>
+<p> number of interfaces</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-interface"></a><h3>g_object_info_get_interface ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="returnvalue">GIInterfaceInfo</span></a> * g_object_info_get_interface (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an object type interface at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-interface"></a><h3>g_object_info_get_interface ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="returnvalue">GIInterfaceInfo</span></a> *
+g_object_info_get_interface (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an object type interface at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-object-info-get-interface.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of interface to get</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of interface to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-interface.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-n-methods"></a><h3>g_object_info_get_n_methods ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_object_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of methods that this object type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-n-methods"></a><h3>g_object_info_get_n_methods ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_object_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of methods that this object type has.</p>
+<div class="refsect3">
+<a name="g-object-info-get-n-methods.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of methods</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-n-methods.returns"></a><h4>Returns</h4>
+<p> number of methods</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-method"></a><h3>g_object_info_get_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_object_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an object type method at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-method"></a><h3>g_object_info_get_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_object_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an object type method at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-object-info-get-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of method to get</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of method to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-find-method"></a><h3>g_object_info_find_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_object_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Obtain a method of the object type given a <em class="parameter"><code>name</code></em>. <code class="literal">NULL</code> will be
-returned if there's no method available with that name.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-find-method"></a><h3>g_object_info_find_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_object_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Obtain a method of the object type given a <em class="parameter"><code>name</code></em>
+. <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
+returned if there's no method available with that name.</p>
+<div class="refsect3">
+<a name="g-object-info-find-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>name of method to obtain</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>name of method to obtain</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-find-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-find-method-using-interfaces"></a><h3>g_object_info_find_method_using_interfaces ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_object_info_find_method_using_interfaces
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> **implementor</code></em>);</pre>
-<p>
-Obtain a method of the object given a <em class="parameter"><code>name</code></em>, searching both the
-object <em class="parameter"><code>info</code></em> and any interfaces it implements. <code class="literal">NULL</code> will be
-returned if there's no method available with that name.
-</p>
-<p>
-Note that this function does *not* search parent classes; you will have
-to chain up if that's desired.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-find-method-using-interfaces"></a><h3>g_object_info_find_method_using_interfaces ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_object_info_find_method_using_interfaces
+ (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> **implementor</code></em>);</pre>
+<p>Obtain a method of the object given a <em class="parameter"><code>name</code></em>
+, searching both the
+object <em class="parameter"><code>info</code></em>
+ and any interfaces it implements. <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
+returned if there's no method available with that name.</p>
+<p>Note that this function does *not* search parent classes; you will have
+to chain up if that's desired.</p>
+<div class="refsect3">
+<a name="g-object-info-find-method-using-interfaces.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>name of method to obtain</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>name of method to obtain</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>implementor</code></em> :</span></p></td>
-<td>The implementor of the interface. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>implementor</p></td>
+<td class="parameter_description"><p> The implementor of the interface. </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="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-find-method-using-interfaces.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-n-properties"></a><h3>g_object_info_get_n_properties ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_object_info_get_n_properties (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of properties that this object type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-n-properties"></a><h3>g_object_info_get_n_properties ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_object_info_get_n_properties (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of properties that this object type has.</p>
+<div class="refsect3">
+<a name="g-object-info-get-n-properties.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of properties</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-n-properties.returns"></a><h4>Returns</h4>
+<p> number of properties</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-property"></a><h3>g_object_info_get_property ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> * g_object_info_get_property (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an object type property at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-property"></a><h3>g_object_info_get_property ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="returnvalue">GIPropertyInfo</span></a> *
+g_object_info_get_property (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an object type property at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-object-info-get-property.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of property to get</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of property to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-property.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-n-signals"></a><h3>g_object_info_get_n_signals ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_object_info_get_n_signals (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of signals that this object type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-n-signals"></a><h3>g_object_info_get_n_signals ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_object_info_get_n_signals (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of signals that this object type has.</p>
+<div class="refsect3">
+<a name="g-object-info-get-n-signals.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of signals</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-n-signals.returns"></a><h4>Returns</h4>
+<p> number of signals</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-signal"></a><h3>g_object_info_get_signal ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * g_object_info_get_signal (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an object type signal at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-signal"></a><h3>g_object_info_get_signal ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+g_object_info_get_signal (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an object type signal at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-object-info-get-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of signal to get</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of signal to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-signal.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-find-signal"></a><h3>g_object_info_find_signal ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * g_object_info_find_signal (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-find-signal"></a><h3>g_object_info_find_signal ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+g_object_info_find_signal (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-object-info-find-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>Name of signal</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Info for the signal with name <em class="parameter"><code>name</code></em> in <em class="parameter"><code>info</code></em>, or <code class="literal">NULL</code> on failure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>Name of signal</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-find-signal.returns"></a><h4>Returns</h4>
+<p> Info for the signal with name <em class="parameter"><code>name</code></em>
+in <em class="parameter"><code>info</code></em>
+, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-n-vfuncs"></a><h3>g_object_info_get_n_vfuncs ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_object_info_get_n_vfuncs (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of virtual functions that this object type has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-n-vfuncs"></a><h3>g_object_info_get_n_vfuncs ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_object_info_get_n_vfuncs (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of virtual functions that this object type has.</p>
+<div class="refsect3">
+<a name="g-object-info-get-n-vfuncs.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of virtual functions</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-n-vfuncs.returns"></a><h4>Returns</h4>
+<p> number of virtual functions</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-vfunc"></a><h3>g_object_info_get_vfunc ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * g_object_info_get_vfunc (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain an object type virtual function at index <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-vfunc"></a><h3>g_object_info_get_vfunc ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+g_object_info_get_vfunc (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain an object type virtual function at index <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-object-info-get-vfunc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of virtual function to get</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of virtual function to get</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-vfunc.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-find-vfunc"></a><h3>g_object_info_find_vfunc ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * g_object_info_find_vfunc (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Locate a virtual function slot with name <em class="parameter"><code>name</code></em>. Note that the namespace
+<a name="g-object-info-find-vfunc"></a><h3>g_object_info_find_vfunc ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+g_object_info_find_vfunc (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Locate a virtual function slot with name <em class="parameter"><code>name</code></em>
+. Note that the namespace
for virtuals is distinct from that of methods; there may or may not be
a concrete method associated for a virtual. If there is one, it may
-be retrieved using <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()"><code class="function">g_vfunc_info_get_invoker()</code></a>, otherwise <code class="literal">NULL</code> will be
+be retrieved using <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()"><code class="function">g_vfunc_info_get_invoker()</code></a>, otherwise <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
returned.
-See the documentation for <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()"><code class="function">g_vfunc_info_get_invoker()</code></a> for more
-information on invoking virtuals.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+See the documentation for <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()"><code class="function">g_vfunc_info_get_invoker()</code></a> for more
+information on invoking virtuals.</p>
+<div class="refsect3">
+<a name="g-object-info-find-vfunc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>The name of a virtual function to find.</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>, or <code class="literal">NULL</code>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>The name of a virtual function to find.</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-find-vfunc.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-find-vfunc-using-interfaces"></a><h3>g_object_info_find_vfunc_using_interfaces ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * g_object_info_find_vfunc_using_interfaces
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> **implementor</code></em>);</pre>
-<p>
-Locate a virtual function slot with name <em class="parameter"><code>name</code></em>, searching both the object
-<em class="parameter"><code>info</code></em> and any interfaces it implements. Note that the namespace for
+<a name="g-object-info-find-vfunc-using-interfaces"></a><h3>g_object_info_find_vfunc_using_interfaces ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+g_object_info_find_vfunc_using_interfaces
+ (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> **implementor</code></em>);</pre>
+<p>Locate a virtual function slot with name <em class="parameter"><code>name</code></em>
+, searching both the object
+<em class="parameter"><code>info</code></em>
+ and any interfaces it implements. Note that the namespace for
virtuals is distinct from that of methods; there may or may not be a
concrete method associated for a virtual. If there is one, it may be
-retrieved using <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()"><code class="function">g_vfunc_info_get_invoker()</code></a>, otherwise <code class="literal">NULL</code> will be
-returned.
-</p>
-<p>
-Note that this function does *not* search parent classes; you will have
-to chain up if that's desired.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+retrieved using <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()"><code class="function">g_vfunc_info_get_invoker()</code></a>, otherwise <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
+returned.</p>
+<p>Note that this function does *not* search parent classes; you will have
+to chain up if that's desired.</p>
+<div class="refsect3">
+<a name="g-object-info-find-vfunc-using-interfaces.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>name of method to obtain</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>name of method to obtain</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>implementor</code></em> :</span></p></td>
-<td>The implementor of the interface. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>implementor</p></td>
+<td class="parameter_description"><p> The implementor of the interface. </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="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-find-vfunc-using-interfaces.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>. Free the struct by calling
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-class-struct"></a><h3>g_object_info_get_class_struct ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="returnvalue">GIStructInfo</span></a> * g_object_info_get_class_struct (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Every <span class="type">GObject</span> has two structures; an instance structure and a class
-structure. This function returns the metadata for the class structure.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-object-info-get-class-struct"></a><h3>g_object_info_get_class_struct ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="returnvalue">GIStructInfo</span></a> *
+g_object_info_get_class_struct (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Every <a href="../gobject/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> has two structures; an instance structure and a class
+structure. This function returns the metadata for the class structure.</p>
+<div class="refsect3">
+<a name="g-object-info-get-class-struct.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <code class="literal">NULL</code>. Free with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-class-struct.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-ref-function"></a><h3>g_object_info_get_ref_function ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * g_object_info_get_ref_function (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the symbol name of the function that should be called to ref this
+<a name="g-object-info-get-ref-function"></a><h3>g_object_info_get_ref_function ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+g_object_info_get_ref_function (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the symbol name of the function that should be called to ref this
object type. It's mainly used fundamental types. The type signature for
-the symbol is <a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()"><code class="literal">GIObjectInfoRefFunction</code></a>, to fetch the function pointer
-see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function" title="g_object_info_get_ref_function ()"><code class="function">g_object_info_get_ref_function()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+the symbol is <a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()"><code class="literal">GIObjectInfoRefFunction</code></a>, to fetch the function pointer
+see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function" title="g_object_info_get_ref_function ()"><code class="function">g_object_info_get_ref_function()</code></a>.</p>
+<div class="refsect3">
+<a name="g-object-info-get-ref-function.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol or <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-ref-function.returns"></a><h4>Returns</h4>
+<p> the symbol or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-ref-function-pointer"></a><h3>g_object_info_get_ref_function_pointer ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()"><span class="returnvalue">GIObjectInfoRefFunction</span></a> g_object_info_get_ref_function_pointer
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain a pointer to a function which can be used to
+<a name="g-object-info-get-ref-function-pointer"></a><h3>g_object_info_get_ref_function_pointer ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoRefFunction" title="GIObjectInfoRefFunction ()"><span class="returnvalue">GIObjectInfoRefFunction</span></a>
+g_object_info_get_ref_function_pointer
+ (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain a pointer to a function which can be used to
increase the reference count an instance of this object type.
This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+the base classes of this type, starting at the top type.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-object-info-get-ref-function-pointer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the function pointer or <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-ref-function-pointer.returns"></a><h4>Returns</h4>
+<p> the function pointer or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-unref-function"></a><h3>g_object_info_get_unref_function ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * g_object_info_get_unref_function (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the symbol name of the function that should be called to unref this
+<a name="g-object-info-get-unref-function"></a><h3>g_object_info_get_unref_function ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+g_object_info_get_unref_function (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the symbol name of the function that should be called to unref this
object type. It's mainly used fundamental types. The type signature for
-the symbol is <a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()"><code class="literal">GIObjectInfoUnrefFunction</code></a>, to fetch the function pointer
-see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function" title="g_object_info_get_unref_function ()"><code class="function">g_object_info_get_unref_function()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+the symbol is <a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()"><code class="literal">GIObjectInfoUnrefFunction</code></a>, to fetch the function pointer
+see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function" title="g_object_info_get_unref_function ()"><code class="function">g_object_info_get_unref_function()</code></a>.</p>
+<div class="refsect3">
+<a name="g-object-info-get-unref-function.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol or <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-unref-function.returns"></a><h4>Returns</h4>
+<p> the symbol or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-unref-function-pointer"></a><h3>g_object_info_get_unref_function_pointer ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()"><span class="returnvalue">GIObjectInfoUnrefFunction</span></a> g_object_info_get_unref_function_pointer
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain a pointer to a function which can be used to
+<a name="g-object-info-get-unref-function-pointer"></a><h3>g_object_info_get_unref_function_pointer ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction" title="GIObjectInfoUnrefFunction ()"><span class="returnvalue">GIObjectInfoUnrefFunction</span></a>
+g_object_info_get_unref_function_pointer
+ (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain a pointer to a function which can be used to
decrease the reference count an instance of this object type.
This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+the base classes of this type, starting at the top type.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-object-info-get-unref-function-pointer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the function pointer or <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-unref-function-pointer.returns"></a><h4>Returns</h4>
+<p> the function pointer or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-set-value-function"></a><h3>g_object_info_get_set_value_function ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * g_object_info_get_set_value_function
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the symbol name of the function that should be called to convert
+<a name="g-object-info-get-set-value-function"></a><h3>g_object_info_get_set_value_function ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+g_object_info_get_set_value_function (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the symbol name of the function that should be called to convert
set a GValue giving an object instance pointer of this object type.
I's mainly used fundamental types. The type signature for the symbol
-is <a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()"><code class="literal">GIObjectInfoSetValueFunction</code></a>, to fetch the function pointer
-see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function" title="g_object_info_get_set_value_function ()"><code class="function">g_object_info_get_set_value_function()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+is <a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()"><code class="literal">GIObjectInfoSetValueFunction</code></a>, to fetch the function pointer
+see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-function" title="g_object_info_get_set_value_function ()"><code class="function">g_object_info_get_set_value_function()</code></a>.</p>
+<div class="refsect3">
+<a name="g-object-info-get-set-value-function.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol or <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-set-value-function.returns"></a><h4>Returns</h4>
+<p> the symbol or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-set-value-function-pointer"></a><h3>g_object_info_get_set_value_function_pointer ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()"><span class="returnvalue">GIObjectInfoSetValueFunction</span></a> g_object_info_get_set_value_function_pointer
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain a pointer to a function which can be used to
+<a name="g-object-info-get-set-value-function-pointer"></a><h3>g_object_info_get_set_value_function_pointer ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction" title="GIObjectInfoSetValueFunction ()"><span class="returnvalue">GIObjectInfoSetValueFunction</span></a>
+g_object_info_get_set_value_function_pointer
+ (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain a pointer to a function which can be used to
set a GValue given an instance of this object type.
This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+the base classes of this type, starting at the top type.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-object-info-get-set-value-function-pointer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the function pointer or <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-set-value-function-pointer.returns"></a><h4>Returns</h4>
+<p> the function pointer or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-get-value-function"></a><h3>g_object_info_get_get_value_function ()</h3>
-<pre class="programlisting">const <span class="returnvalue">char</span> * g_object_info_get_get_value_function
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the symbol name of the function that should be called to convert
+<a name="g-object-info-get-get-value-function"></a><h3>g_object_info_get_get_value_function ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+g_object_info_get_get_value_function (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the symbol name of the function that should be called to convert
an object instance pointer of this object type to a GValue.
I's mainly used fundamental types. The type signature for the symbol
-is <a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()"><code class="literal">GIObjectInfoGetValueFunction</code></a>, to fetch the function pointer
-see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function" title="g_object_info_get_get_value_function ()"><code class="function">g_object_info_get_get_value_function()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+is <a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()"><code class="literal">GIObjectInfoGetValueFunction</code></a>, to fetch the function pointer
+see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-function" title="g_object_info_get_get_value_function ()"><code class="function">g_object_info_get_get_value_function()</code></a>.</p>
+<div class="refsect3">
+<a name="g-object-info-get-get-value-function.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol or <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-get-value-function.returns"></a><h4>Returns</h4>
+<p> the symbol or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-object-info-get-get-value-function-pointer"></a><h3>g_object_info_get_get_value_function_pointer ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()"><span class="returnvalue">GIObjectInfoGetValueFunction</span></a> g_object_info_get_get_value_function_pointer
- (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain a pointer to a function which can be used to
+<a name="g-object-info-get-get-value-function-pointer"></a><h3>g_object_info_get_get_value_function_pointer ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction" title="GIObjectInfoGetValueFunction ()"><span class="returnvalue">GIObjectInfoGetValueFunction</span></a>
+g_object_info_get_get_value_function_pointer
+ (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);</pre>
+<p>Obtain a pointer to a function which can be used to
extract an instance of this object type out of a GValue.
This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+the base classes of this type, starting at the top type.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-object-info-get-get-value-function-pointer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the function pointer or <code class="literal">NULL</code>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-object-info-get-get-value-function-pointer.returns"></a><h4>Returns</h4>
+<p> the function pointer or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="GIObjectInfoRefFunction"></a><h3>GIObjectInfoRefFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> * (*GIObjectInfoRefFunction) (<em class="parameter"><code><span class="type">void</span> *object</code></em>);</pre>
-<p>
-Increases the reference count of an object instance.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="GIObjectInfoRefFunction"></a><h3>GIObjectInfoRefFunction ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> *
+<span class="c_punctuation">(</span>*GIObjectInfoRefFunction<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *object</code></em>);</pre>
+<p>Increases the reference count of an object instance.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="GIObjectInfoRefFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
-<td>object instance pointer</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the object instance. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>object instance pointer</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="GIObjectInfoRefFunction.returns"></a><h4>Returns</h4>
+<p> the object instance. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="GIObjectInfoUnrefFunction"></a><h3>GIObjectInfoUnrefFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> (*GIObjectInfoUnrefFunction) (<em class="parameter"><code><span class="type">void</span> *object</code></em>);</pre>
-<p>
-Decreases the reference count of an object instance.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="GIObjectInfoUnrefFunction"></a><h3>GIObjectInfoUnrefFunction ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+<span class="c_punctuation">(</span>*GIObjectInfoUnrefFunction<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span> *object</code></em>);</pre>
+<p>Decreases the reference count of an object instance.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="GIObjectInfoUnrefFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
-<td>object instance pointer</td>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>object instance pointer</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="GIObjectInfoSetValueFunction"></a><h3>GIObjectInfoSetValueFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> (*GIObjectInfoSetValueFunction) (<em class="parameter"><code><span class="type">GValue</span> *value</code></em>,
- <em class="parameter"><code><span class="type">void</span> *object</code></em>);</pre>
-<p>
-Update <em class="parameter"><code>value</code></em> and attach the object instance pointer <em class="parameter"><code>object</code></em> to it.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="GIObjectInfoSetValueFunction"></a><h3>GIObjectInfoSetValueFunction ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+<span class="c_punctuation">(</span>*GIObjectInfoSetValueFunction<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><span class="type">void</span> *object</code></em>);</pre>
+<p>Update <em class="parameter"><code>value</code></em>
+ and attach the object instance pointer <em class="parameter"><code>object</code></em>
+ to it.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="GIObjectInfoSetValueFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>a <span class="type">GValue</span>
-</td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
-<td>object instance pointer</td>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>object instance pointer</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="GIObjectInfoGetValueFunction"></a><h3>GIObjectInfoGetValueFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> * (*GIObjectInfoGetValueFunction) (<em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
-<p>
-Extract an object instance out of <em class="parameter"><code>value</code></em>
+<a name="GIObjectInfoGetValueFunction"></a><h3>GIObjectInfoGetValueFunction ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> *
+<span class="c_punctuation">(</span>*GIObjectInfoGetValueFunction<span class="c_punctuation">)</span> (<em class="parameter"><code>const <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
+<p>Extract an object instance out of <em class="parameter"><code>value</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="GIObjectInfoGetValueFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>a <span class="type">GValue</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the object instance. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>a <a href="../gobject/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="GIObjectInfoGetValueFunction.returns"></a><h4>Returns</h4>
+<p> the object instance. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIObjectInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIObjectInfo"></a><h3>GIObjectInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIObjectInfo;
+</pre>
+<p>Represents an object.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIPropertyInfo.html b/docs/reference/html/gi-GIPropertyInfo.html
index 27c3f8a7..929d4194 100644
--- a/docs/reference/html/gi-GIPropertyInfo.html
+++ b/docs/reference/html/gi-GIPropertyInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIPropertyInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIPropertyInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIFieldInfo.html" title="GIFieldInfo">
<link rel="next" href="gi-GITypeInfo.html" title="GITypeInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIFieldInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GITypeInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIPropertyInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIPropertyInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIPropertyInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIFieldInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GITypeInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIPropertyInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,26 +29,66 @@
<h2><span class="refentrytitle"><a name="gi-GIPropertyInfo.top_of_page"></a>GIPropertyInfo</span></h2>
<p>GIPropertyInfo — Struct representing a property</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIPropertyInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIPropertyInfo.html#GI-IS-PROPERTY-INFO:CAPS" title="GI_IS_PROPERTY_INFO()">GI_IS_PROPERTY_INFO</a> (info)
-typedef <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo">GIPropertyInfo</a>;
-<span class="returnvalue">GParamFlags</span> <a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-flags" title="g_property_info_get_flags ()">g_property_info_get_flags</a> (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a> <a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-ownership-transfer" title="g_property_info_get_ownership_transfer ()">g_property_info_get_ownership_transfer</a>
- (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * <a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-type" title="g_property_info_get_type ()">g_property_info_get_type</a> (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIPropertyInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIPropertyInfo.html#GI-IS-PROPERTY-INFO:CAPS" title="GI_IS_PROPERTY_INFO()">GI_IS_PROPERTY_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../gobject/gobject-GParamSpec.html#GParamFlags"><span class="returnvalue">GParamFlags</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-flags" title="g_property_info_get_flags ()">g_property_info_get_flags</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-ownership-transfer" title="g_property_info_get_ownership_transfer ()">g_property_info_get_ownership_transfer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIPropertyInfo.html#g-property-info-get-type" title="g_property_info_get_type ()">g_property_info_get_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIPropertyInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo">GIPropertyInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIPropertyInfo.description"></a><h2>Description</h2>
-<p>
-GIPropertyInfo represents a property. A property belongs to
-either a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.
-</p>
-<p>
-</p>
+<p>GIPropertyInfo represents a property. A property belongs to
+either a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.</p>
<div class="refsect1">
<a name="gi-gipropertyinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -60,121 +96,126 @@ either a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjec
+----GIPropertyInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIPropertyInfo.details"></a><h2>Details</h2>
+<a name="gi-GIPropertyInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-PROPERTY-INFO:CAPS"></a><h3>GI_IS_PROPERTY_INFO()</h3>
<pre class="programlisting">#define GI_IS_PROPERTY_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-PROPERTY-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIPropertyInfo"></a><h3>GIPropertyInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIPropertyInfo;
-</pre>
-<p>
-Represents a property of a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-property-info-get-flags"></a><h3>g_property_info_get_flags ()</h3>
-<pre class="programlisting"><span class="returnvalue">GParamFlags</span> g_property_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the flags for this property info. See <span class="type">GParamFlags</span> for
-more information about possible flag values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-property-info-get-flags"></a><h3>g_property_info_get_flags ()</h3>
+<pre class="programlisting"><a href="../gobject/gobject-GParamSpec.html#GParamFlags"><span class="returnvalue">GParamFlags</span></a>
+g_property_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the flags for this property info. See <a href="../gobject/gobject-GParamSpec.html#GParamFlags"><span class="type">GParamFlags</span></a> for
+more information about possible flag values.</p>
+<div class="refsect3">
+<a name="g-property-info-get-flags.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the flags</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-property-info-get-flags.returns"></a><h4>Returns</h4>
+<p> the flags</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-property-info-get-ownership-transfer"></a><h3>g_property_info_get_ownership_transfer ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a> g_property_info_get_ownership_transfer
- (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the ownership transfer for this property. See <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> for more
-information about transfer values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-property-info-get-ownership-transfer"></a><h3>g_property_info_get_ownership_transfer ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="returnvalue">GITransfer</span></a>
+g_property_info_get_ownership_transfer
+ (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the ownership transfer for this property. See <a class="link" href="gi-GIArgInfo.html#GITransfer" title="enum GITransfer"><span class="type">GITransfer</span></a> for more
+information about transfer values.</p>
+<div class="refsect3">
+<a name="g-property-info-get-ownership-transfer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the transfer</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-property-info-get-ownership-transfer.returns"></a><h4>Returns</h4>
+<p> the transfer</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-property-info-get-type"></a><h3>g_property_info_get_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * g_property_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the type information for the property <em class="parameter"><code>info</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-property-info-get-type"></a><h3>g_property_info_get_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+g_property_info_get_type (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the type information for the property <em class="parameter"><code>info</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-property-info-get-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>, free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-property-info-get-type.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>, free it with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIPropertyInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIPropertyInfo"></a><h3>GIPropertyInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIPropertyInfo;
+</pre>
+<p>Represents a property of a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIRegisteredTypeInfo.html b/docs/reference/html/gi-GIRegisteredTypeInfo.html
index a1ce8042..cf0ca78d 100644
--- a/docs/reference/html/gi-GIRegisteredTypeInfo.html
+++ b/docs/reference/html/gi-GIRegisteredTypeInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIRegisteredTypeInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIRegisteredTypeInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">
<link rel="next" href="gi-GIEnumInfo.html" title="GIEnumInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIVFuncInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIEnumInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIRegisteredTypeInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIRegisteredTypeInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIRegisteredTypeInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIVFuncInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIEnumInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIRegisteredTypeInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,34 +29,69 @@
<h2><span class="refentrytitle"><a name="gi-GIRegisteredTypeInfo.top_of_page"></a>GIRegisteredTypeInfo</span></h2>
<p>GIRegisteredTypeInfo — Struct representing a struct with a GType</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIRegisteredTypeInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIRegisteredTypeInfo.html#GI-IS-REGISTERED-TYPE-INFO:CAPS" title="GI_IS_REGISTERED_TYPE_INFO()">GI_IS_REGISTERED_TYPE_INFO</a> (info)
-typedef <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a>;
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name" title="g_registered_type_info_get_type_name ()">g_registered_type_info_get_type_name</a>
- (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-init" title="g_registered_type_info_get_type_init ()">g_registered_type_info_get_type_init</a>
- (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);
-<span class="returnvalue">GType</span> <a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type" title="g_registered_type_info_get_g_type ()">g_registered_type_info_get_g_type</a> (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIRegisteredTypeInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIRegisteredTypeInfo.html#GI-IS-REGISTERED-TYPE-INFO:CAPS" title="GI_IS_REGISTERED_TYPE_INFO()">GI_IS_REGISTERED_TYPE_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name" title="g_registered_type_info_get_type_name ()">g_registered_type_info_get_type_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-init" title="g_registered_type_info_get_type_init ()">g_registered_type_info_get_type_init</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../gobject/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type" title="g_registered_type_info_get_g_type ()">g_registered_type_info_get_g_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIRegisteredTypeInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo">GIRegisteredTypeInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIRegisteredTypeInfo.description"></a><h2>Description</h2>
-<p>
-GIRegisteredTypeInfo represents an entity with a GType associated. Could
+<p>GIRegisteredTypeInfo represents an entity with a GType associated. Could
be either a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>, <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>, <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a>, <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> or a
-<a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>.
-</p>
-<p>
-A registered type info struct has a name and a type function.
-To get the name call <a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name" title="g_registered_type_info_get_type_name ()"><code class="function">g_registered_type_info_get_type_name()</code></a>.
-Most users want to call <a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type" title="g_registered_type_info_get_g_type ()"><code class="function">g_registered_type_info_get_g_type()</code></a> and don't worry
-about the rest of the details.
-</p>
-<p>
-</p>
+<a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>.</p>
+<p>A registered type info struct has a name and a type function.
+To get the name call <a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name" title="g_registered_type_info_get_type_name ()"><code class="function">g_registered_type_info_get_type_name()</code></a>.
+Most users want to call <a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type" title="g_registered_type_info_get_g_type ()"><code class="function">g_registered_type_info_get_g_type()</code></a> and don't worry
+about the rest of the details.</p>
<div class="refsect1">
<a name="gi-giregisteredtypeinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -73,126 +104,131 @@ about the rest of the details.
+----<a class="link" href="gi-GIUnionInfo.html" title="GIUnionInfo">GIUnionInfo</a>
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIRegisteredTypeInfo.details"></a><h2>Details</h2>
+<a name="gi-GIRegisteredTypeInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-REGISTERED-TYPE-INFO:CAPS"></a><h3>GI_IS_REGISTERED_TYPE_INFO()</h3>
<pre class="programlisting">#define GI_IS_REGISTERED_TYPE_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> or derived from it.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> or derived from it.</p>
+<div class="refsect3">
+<a name="GI-IS-REGISTERED-TYPE-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIRegisteredTypeInfo"></a><h3>GIRegisteredTypeInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIRegisteredTypeInfo;
-</pre>
-<p>
-Represent a registered type.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-registered-type-info-get-type-name"></a><h3>g_registered_type_info_get_type_name ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_registered_type_info_get_type_name
- (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the type name of the struct within the GObject type system.
-This type can be passed to <code class="function">g_type_name()</code> to get a <span class="type">GType</span>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-registered-type-info-get-type-name"></a><h3>g_registered_type_info_get_type_name ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_registered_type_info_get_type_name (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the type name of the struct within the GObject type system.
+This type can be passed to <a href="../gobject/gobject-Type-Information.html#g-type-name"><code class="function">g_type_name()</code></a> to get a <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.</p>
+<div class="refsect3">
+<a name="g-registered-type-info-get-type-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the type name</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-registered-type-info-get-type-name.returns"></a><h4>Returns</h4>
+<p> the type name</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-registered-type-info-get-type-init"></a><h3>g_registered_type_info_get_type_init ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_registered_type_info_get_type_init
- (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the type init function for <em class="parameter"><code>info</code></em>. The type init function is the
+<a name="g-registered-type-info-get-type-init"></a><h3>g_registered_type_info_get_type_init ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_registered_type_info_get_type_init (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the type init function for <em class="parameter"><code>info</code></em>
+. The type init function is the
function which will register the GType within the GObject type system.
Usually this is not called by langauge bindings or applications, use
-<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type" title="g_registered_type_info_get_g_type ()"><code class="function">g_registered_type_info_get_g_type()</code></a> directly instead.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a class="link" href="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type" title="g_registered_type_info_get_g_type ()"><code class="function">g_registered_type_info_get_g_type()</code></a> directly instead.</p>
+<div class="refsect3">
+<a name="g-registered-type-info-get-type-init.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol name of the type init function, suitable for
-passing into <code class="function">g_module_symbol()</code>.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-registered-type-info-get-type-init.returns"></a><h4>Returns</h4>
+<p> the symbol name of the type init function, suitable for
+passing into <a href="../glib/glib-Dynamic-Loading-of-Modules.html#g-module-symbol"><code class="function">g_module_symbol()</code></a>.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-registered-type-info-get-g-type"></a><h3>g_registered_type_info_get_g_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">GType</span> g_registered_type_info_get_g_type (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the <span class="type">GType</span> for this registered type or G_TYPE_NONE which a special meaning.
-It means that either there is no type information associated with this <em class="parameter"><code>info</code></em> or
+<a name="g-registered-type-info-get-g-type"></a><h3>g_registered_type_info_get_g_type ()</h3>
+<pre class="programlisting"><a href="../gobject/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
+g_registered_type_info_get_g_type (<em class="parameter"><code><a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for this registered type or G_TYPE_NONE which a special meaning.
+It means that either there is no type information associated with this <em class="parameter"><code>info</code></em>
+ or
that the shared library which provides the type_init function for this
-<em class="parameter"><code>info</code></em> cannot be called.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<em class="parameter"><code>info</code></em>
+ cannot be called.</p>
+<div class="refsect3">
+<a name="g-registered-type-info-get-g-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <span class="type">GType</span>.</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo" title="GIRegisteredTypeInfo"><span class="type">GIRegisteredTypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-registered-type-info-get-g-type.returns"></a><h4>Returns</h4>
+<p> the <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIRegisteredTypeInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIRegisteredTypeInfo"></a><h3>GIRegisteredTypeInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIRegisteredTypeInfo;
+</pre>
+<p>Represent a registered type.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GISignalInfo.html b/docs/reference/html/gi-GISignalInfo.html
index 071e8f5a..7d525d2d 100644
--- a/docs/reference/html/gi-GISignalInfo.html
+++ b/docs/reference/html/gi-GISignalInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GISignalInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GISignalInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GICallbackInfo.html" title="GICallbackInfo">
<link rel="next" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GICallbackInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIVFuncInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GISignalInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GISignalInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GISignalInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GICallbackInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIVFuncInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GISignalInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,29 +29,68 @@
<h2><span class="refentrytitle"><a name="gi-GISignalInfo.top_of_page"></a>GISignalInfo</span></h2>
<p>GISignalInfo — Struct representing a signal</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GISignalInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GISignalInfo.html#GI-IS-SIGNAL-INFO:CAPS" title="GI_IS_SIGNAL_INFO()">GI_IS_SIGNAL_INFO</a> (info)
-typedef <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo">GISignalInfo</a>;
-<span class="returnvalue">GSignalFlags</span> <a class="link" href="gi-GISignalInfo.html#g-signal-info-get-flags" title="g_signal_info_get_flags ()">g_signal_info_get_flags</a> (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * <a class="link" href="gi-GISignalInfo.html#g-signal-info-get-class-closure" title="g_signal_info_get_class_closure ()">g_signal_info_get_class_closure</a> (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GISignalInfo.html#g-signal-info-true-stops-emit" title="g_signal_info_true_stops_emit ()">g_signal_info_true_stops_emit</a> (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GISignalInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GISignalInfo.html#GI-IS-SIGNAL-INFO:CAPS" title="GI_IS_SIGNAL_INFO()">GI_IS_SIGNAL_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../gobject/gobject-Signals.html#GSignalFlags"><span class="returnvalue">GSignalFlags</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GISignalInfo.html#g-signal-info-get-flags" title="g_signal_info_get_flags ()">g_signal_info_get_flags</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GISignalInfo.html#g-signal-info-get-class-closure" title="g_signal_info_get_class_closure ()">g_signal_info_get_class_closure</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GISignalInfo.html#g-signal-info-true-stops-emit" title="g_signal_info_true_stops_emit ()">g_signal_info_true_stops_emit</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GISignalInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo">GISignalInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GISignalInfo.description"></a><h2>Description</h2>
-<p>
-GISignalInfo represents a signal. It's a sub-struct of <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-and contains a set of flags and a class closure.
-</p>
-<p>
-See <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> for information on how to retreive arguments
-and other metadata from the signal.
-</p>
-<p>
-</p>
+<p>GISignalInfo represents a signal. It's a sub-struct of <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
+and contains a set of flags and a class closure.</p>
+<p>See <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> for information on how to retreive arguments
+and other metadata from the signal.</p>
<div class="refsect1">
<a name="gi-gisignalinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -66,122 +101,125 @@ and other metadata from the signal.
+----<a class="link" href="gi-GIVFuncInfo.html" title="GIVFuncInfo">GIVFuncInfo</a>
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GISignalInfo.details"></a><h2>Details</h2>
+<a name="gi-GISignalInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-SIGNAL-INFO:CAPS"></a><h3>GI_IS_SIGNAL_INFO()</h3>
<pre class="programlisting">#define GI_IS_SIGNAL_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-SIGNAL-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GISignalInfo"></a><h3>GISignalInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GISignalInfo;
-</pre>
-<p>
-Represents a signal.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-signal-info-get-flags"></a><h3>g_signal_info_get_flags ()</h3>
-<pre class="programlisting"><span class="returnvalue">GSignalFlags</span> g_signal_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the flags for this signal info. See <span class="type">GSignalFlags</span> for
-more information about possible flag values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-signal-info-get-flags"></a><h3>g_signal_info_get_flags ()</h3>
+<pre class="programlisting"><a href="../gobject/gobject-Signals.html#GSignalFlags"><span class="returnvalue">GSignalFlags</span></a>
+g_signal_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the flags for this signal info. See <a href="../gobject/gobject-Signals.html#GSignalFlags"><span class="type">GSignalFlags</span></a> for
+more information about possible flag values.</p>
+<div class="refsect3">
+<a name="g-signal-info-get-flags.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the flags</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-signal-info-get-flags.returns"></a><h4>Returns</h4>
+<p> the flags</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-signal-info-get-class-closure"></a><h3>g_signal_info_get_class_closure ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> * g_signal_info_get_class_closure (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the class closure for this signal if one is set. The class
+<a name="g-signal-info-get-class-closure"></a><h3>g_signal_info_get_class_closure ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="returnvalue">GIVFuncInfo</span></a> *
+g_signal_info_get_class_closure (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the class closure for this signal if one is set. The class
closure is a virtual function on the type that the signal belongs to.
-If the signal lacks a closure <code class="literal">NULL</code> will be returned.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+If the signal lacks a closure <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned.</p>
+<div class="refsect3">
+<a name="g-signal-info-get-class-closure.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the class closure or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-signal-info-get-class-closure.returns"></a><h4>Returns</h4>
+<p> the class closure or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-signal-info-true-stops-emit"></a><h3>g_signal_info_true_stops_emit ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_signal_info_true_stops_emit (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the returning true in the signal handler will
-stop the emission of the signal.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-signal-info-true-stops-emit"></a><h3>g_signal_info_true_stops_emit ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_signal_info_true_stops_emit (<em class="parameter"><code><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the returning true in the signal handler will
+stop the emission of the signal.</p>
+<div class="refsect3">
+<a name="g-signal-info-true-stops-emit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if returning true stops the signal emission</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="type">GISignalInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-signal-info-true-stops-emit.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if returning true stops the signal emission</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GISignalInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GISignalInfo"></a><h3>GISignalInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GISignalInfo;
+</pre>
+<p>Represents a signal.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIStructInfo.html b/docs/reference/html/gi-GIStructInfo.html
index 0b266344..b288d201 100644
--- a/docs/reference/html/gi-GIStructInfo.html
+++ b/docs/reference/html/gi-GIStructInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIStructInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIStructInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIEnumInfo.html" title="GIEnumInfo">
<link rel="next" href="gi-GIUnionInfo.html" title="GIUnionInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIEnumInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIUnionInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIStructInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIStructInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIStructInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIEnumInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIUnionInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIStructInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,38 +29,114 @@
<h2><span class="refentrytitle"><a name="gi-GIStructInfo.top_of_page"></a>GIStructInfo</span></h2>
<p>GIStructInfo — Struct representing a C structure</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIStructInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GIStructInfo.html#GI-IS-STRUCT-INFO:CAPS" title="GI_IS_STRUCT_INFO()">GI_IS_STRUCT_INFO</a> (info)
-typedef <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo">GIStructInfo</a>;
-<span class="returnvalue">gsize</span> <a class="link" href="gi-GIStructInfo.html#g-struct-info-get-alignment" title="g_struct_info_get_alignment ()">g_struct_info_get_alignment</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-<span class="returnvalue">gsize</span> <a class="link" href="gi-GIStructInfo.html#g-struct-info-get-size" title="g_struct_info_get_size ()">g_struct_info_get_size</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIStructInfo.html#g-struct-info-is-gtype-struct" title="g_struct_info_is_gtype_struct ()">g_struct_info_is_gtype_struct</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIStructInfo.html#g-struct-info-is-foreign" title="g_struct_info_is_foreign ()">g_struct_info_is_foreign</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIStructInfo.html#g-struct-info-get-n-fields" title="g_struct_info_get_n_fields ()">g_struct_info_get_n_fields</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> * <a class="link" href="gi-GIStructInfo.html#g-struct-info-get-field" title="g_struct_info_get_field ()">g_struct_info_get_field</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIStructInfo.html#g-struct-info-get-n-methods" title="g_struct_info_get_n_methods ()">g_struct_info_get_n_methods</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIStructInfo.html#g-struct-info-get-method" title="g_struct_info_get_method ()">g_struct_info_get_method</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIStructInfo.html#g-struct-info-find-method" title="g_struct_info_find_method ()">g_struct_info_find_method</a> (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIStructInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#GI-IS-STRUCT-INFO:CAPS" title="GI_IS_STRUCT_INFO()">GI_IS_STRUCT_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-alignment" title="g_struct_info_get_alignment ()">g_struct_info_get_alignment</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-size" title="g_struct_info_get_size ()">g_struct_info_get_size</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-is-gtype-struct" title="g_struct_info_is_gtype_struct ()">g_struct_info_is_gtype_struct</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-is-foreign" title="g_struct_info_is_foreign ()">g_struct_info_is_foreign</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-n-fields" title="g_struct_info_get_n_fields ()">g_struct_info_get_n_fields</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-field" title="g_struct_info_get_field ()">g_struct_info_get_field</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-n-methods" title="g_struct_info_get_n_methods ()">g_struct_info_get_n_methods</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-get-method" title="g_struct_info_get_method ()">g_struct_info_get_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIStructInfo.html#g-struct-info-find-method" title="g_struct_info_find_method ()">g_struct_info_find_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIStructInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo">GIStructInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIStructInfo.description"></a><h2>Description</h2>
-<p>
-GIStructInfo represents a generic C structure type.
-</p>
-<p>
-A structure has methods and fields.
-</p>
-<p>
-</p>
+<p>GIStructInfo represents a generic C structure type.</p>
+<p>A structure has methods and fields.</p>
<div class="refsect1">
<a name="gi-giobjectinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -73,289 +145,309 @@ A structure has methods and fields.
+----GIStructInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIStructInfo.details"></a><h2>Details</h2>
+<a name="gi-GIStructInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-STRUCT-INFO:CAPS"></a><h3>GI_IS_STRUCT_INFO()</h3>
<pre class="programlisting">#define GI_IS_STRUCT_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-STRUCT-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIStructInfo"></a><h3>GIStructInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIStructInfo;
-</pre>
-<p>
-Represents a struct.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-get-alignment"></a><h3>g_struct_info_get_alignment ()</h3>
-<pre class="programlisting"><span class="returnvalue">gsize</span> g_struct_info_get_alignment (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the required alignment of the structure.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-get-alignment"></a><h3>g_struct_info_get_alignment ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
+g_struct_info_get_alignment (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the required alignment of the structure.</p>
+<div class="refsect3">
+<a name="g-struct-info-get-alignment.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>required alignment in bytes</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-get-alignment.returns"></a><h4>Returns</h4>
+<p> required alignment in bytes</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-get-size"></a><h3>g_struct_info_get_size ()</h3>
-<pre class="programlisting"><span class="returnvalue">gsize</span> g_struct_info_get_size (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the total size of the structure.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-get-size"></a><h3>g_struct_info_get_size ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
+g_struct_info_get_size (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the total size of the structure.</p>
+<div class="refsect3">
+<a name="g-struct-info-get-size.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>size of the structure in bytes</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-get-size.returns"></a><h4>Returns</h4>
+<p> size of the structure in bytes</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-is-gtype-struct"></a><h3>g_struct_info_is_gtype_struct ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_struct_info_is_gtype_struct (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
-<p>
-Return true if this structure represents the "class structure" for some
-<span class="type">GObject</span> or <span class="type">GInterface</span>. This function is mainly useful to hide this kind of structure
-from generated public APIs.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-is-gtype-struct"></a><h3>g_struct_info_is_gtype_struct ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_struct_info_is_gtype_struct (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
+<p>Return true if this structure represents the "class structure" for some
+<a href="../gobject/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> or <a href="/home/rico/jhbuild/install/share/gtk-doc/html/gobject/GTypeModule.html"><span class="type">GInterface</span></a>. This function is mainly useful to hide this kind of structure
+from generated public APIs.</p>
+<div class="refsect3">
+<a name="g-struct-info-is-gtype-struct.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if this is a class struct, <code class="literal">FALSE</code> otherwise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-is-gtype-struct.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if this is a class struct, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-is-foreign"></a><h3>g_struct_info_is_foreign ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_struct_info_is_foreign (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-is-foreign"></a><h3>g_struct_info_is_foreign ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_struct_info_is_foreign (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-struct-info-is-foreign.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-is-foreign.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-get-n-fields"></a><h3>g_struct_info_get_n_fields ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_struct_info_get_n_fields (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of fields this structure has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-get-n-fields"></a><h3>g_struct_info_get_n_fields ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_struct_info_get_n_fields (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of fields this structure has.</p>
+<div class="refsect3">
+<a name="g-struct-info-get-n-fields.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of fields</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-get-n-fields.returns"></a><h4>Returns</h4>
+<p> number of fields</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-get-field"></a><h3>g_struct_info_get_field ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> * g_struct_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain the type information for field with specified index.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-get-field"></a><h3>g_struct_info_get_field ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> *
+g_struct_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain the type information for field with specified index.</p>
+<div class="refsect3">
+<a name="g-struct-info-get-field.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>a field index</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>a field index</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-get-field.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-get-n-methods"></a><h3>g_struct_info_get_n_methods ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_struct_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of methods this structure has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-get-n-methods"></a><h3>g_struct_info_get_n_methods ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_struct_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of methods this structure has.</p>
+<div class="refsect3">
+<a name="g-struct-info-get-n-methods.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of methods</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-get-n-methods.returns"></a><h4>Returns</h4>
+<p> number of methods</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-get-method"></a><h3>g_struct_info_get_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_struct_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain the type information for method with specified index.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-get-method"></a><h3>g_struct_info_get_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_struct_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain the type information for method with specified index.</p>
+<div class="refsect3">
+<a name="g-struct-info-get-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>a method index</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>a method index</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-get-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-struct-info-find-method"></a><h3>g_struct_info_find_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_struct_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Obtain the type information for method named <em class="parameter"><code>name</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-struct-info-find-method"></a><h3>g_struct_info_find_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_struct_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Obtain the type information for method named <em class="parameter"><code>name</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-struct-info-find-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>a method name</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>a method name</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-struct-info-find-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIStructInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIStructInfo"></a><h3>GIStructInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIStructInfo;
+</pre>
+<p>Represents a struct.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GITypeInfo.html b/docs/reference/html/gi-GITypeInfo.html
index efabc85e..8c5a4482 100644
--- a/docs/reference/html/gi-GITypeInfo.html
+++ b/docs/reference/html/gi-GITypeInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GITypeInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GITypeInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIPropertyInfo.html" title="GIPropertyInfo">
<link rel="next" href="gi-GIValueInfo.html" title="GIValueInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIPropertyInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIValueInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GITypeInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GITypeInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GITypeInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIPropertyInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIValueInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GITypeInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,41 +29,126 @@
<h2><span class="refentrytitle"><a name="gi-GITypeInfo.top_of_page"></a>GITypeInfo</span></h2>
<p>GITypeInfo — Struct representing a type</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GITypeInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GITypeInfo.html#GI-IS-TYPE-INFO:CAPS" title="GI_IS_TYPE_INFO()">GI_IS_TYPE_INFO</a> (info)
-typedef <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo">GITypeInfo</a>;
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GITypeInfo.html#g-type-tag-to-string" title="g_type_tag_to_string ()">g_type_tag_to_string</a> (<em class="parameter"><code><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-GITypeInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a> (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GITypeInfo.html#g-type-info-is-pointer" title="g_type_info_is_pointer ()">g_type_info_is_pointer</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a> <a class="link" href="gi-GITypeInfo.html#g-type-info-get-tag" title="g_type_info_get_tag ()">g_type_info_get_tag</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * <a class="link" href="gi-GITypeInfo.html#g-type-info-get-param-type" title="g_type_info_get_param_type ()">g_type_info_get_param_type</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<span class="returnvalue">GIBaseInfo</span> * <a class="link" href="gi-GITypeInfo.html#g-type-info-get-interface" title="g_type_info_get_interface ()">g_type_info_get_interface</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-length" title="g_type_info_get_array_length ()">g_type_info_get_array_length</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-fixed-size" title="g_type_info_get_array_fixed_size ()">g_type_info_get_array_fixed_size</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GITypeInfo.html#g-type-info-is-zero-terminated" title="g_type_info_is_zero_terminated ()">g_type_info_is_zero_terminated</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="returnvalue">GIArrayType</span></a> <a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-type" title="g_type_info_get_array_type ()">g_type_info_get_array_type</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GITypeInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#GI-IS-TYPE-INFO:CAPS" title="GI_IS_TYPE_INFO()">GI_IS_TYPE_INFO</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-tag-to-string" title="g_type_tag_to_string ()">g_type_tag_to_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-info-type-to-string" title="g_info_type_to_string ()">g_info_type_to_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-info-is-pointer" title="g_type_info_is_pointer ()">g_type_info_is_pointer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-tag" title="g_type_info_get_tag ()">g_type_info_get_tag</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-param-type" title="g_type_info_get_param_type ()">g_type_info_get_param_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GIBaseInfo</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-interface" title="g_type_info_get_interface ()">g_type_info_get_interface</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-length" title="g_type_info_get_array_length ()">g_type_info_get_array_length</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-fixed-size" title="g_type_info_get_array_fixed_size ()">g_type_info_get_array_fixed_size</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-info-is-zero-terminated" title="g_type_info_is_zero_terminated ()">g_type_info_is_zero_terminated</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="returnvalue">GIArrayType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-array-type" title="g_type_info_get_array_type ()">g_type_info_get_array_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GITypeInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo">GITypeInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GITypeInfo.description"></a><h2>Description</h2>
-<p>
-GITypeInfo represents a type. You can retrieve a type info from
+<p>GITypeInfo represents a type. You can retrieve a type info from
an argument (see <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a>), a functions return value (see <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>),
a field (see <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>), a property (see <a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a>), a constant
-(see <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>) or for a union discriminator (see <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>).
-</p>
-<p>
-A type can either be a of a basic type which is a standard C primitive
+(see <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>) or for a union discriminator (see <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>).</p>
+<p>A type can either be a of a basic type which is a standard C primitive
type or an interface type. For interface types you need to call
-<a class="link" href="gi-GITypeInfo.html#g-type-info-get-interface" title="g_type_info_get_interface ()"><code class="function">g_type_info_get_interface()</code></a> to get a reference to the base info for that
-interface.
-</p>
-<p>
-</p>
+<a class="link" href="gi-GITypeInfo.html#g-type-info-get-interface" title="g_type_info_get_interface ()"><code class="function">g_type_info_get_interface()</code></a> to get a reference to the base info for that
+interface.</p>
<div class="refsect1">
<a name="gi-gitypeinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -75,314 +156,329 @@ interface.
+----GITypeInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GITypeInfo.details"></a><h2>Details</h2>
+<a name="gi-GITypeInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GI-IS-TYPE-INFO:CAPS"></a><h3>GI_IS_TYPE_INFO()</h3>
<pre class="programlisting">#define GI_IS_TYPE_INFO(info)</pre>
-<p>
-Checks if <em class="parameter"><code>info</code></em> is a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>info</code></em>
+ is a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GI-IS-TYPE-INFO.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>an info structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>an info structure</p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GITypeInfo"></a><h3>GITypeInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GITypeInfo;
-</pre>
-<p>
-Represents type information, direction, transfer etc.
-</p>
</div>
<hr>
<div class="refsect2">
-<a name="g-type-tag-to-string"></a><h3>g_type_tag_to_string ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_type_tag_to_string (<em class="parameter"><code><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type</code></em>);</pre>
-<p>
-Obtain a string representation of <em class="parameter"><code>type</code></em>
+<a name="g-type-tag-to-string"></a><h3>g_type_tag_to_string ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_type_tag_to_string (<em class="parameter"><code><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type</code></em>);</pre>
+<p>Obtain a string representation of <em class="parameter"><code>type</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="g-type-tag-to-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td>the type_tag</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the string</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the type_tag</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-tag-to-string.returns"></a><h4>Returns</h4>
+<p> the string</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-info-type-to-string"></a><h3>g_info_type_to_string ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_info_type_to_string (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>);</pre>
-<p>
-Obtain a string representation of <em class="parameter"><code>type</code></em>
+<a name="g-info-type-to-string"></a><h3>g_info_type_to_string ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_info_type_to_string (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>);</pre>
+<p>Obtain a string representation of <em class="parameter"><code>type</code></em>
</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect3">
+<a name="g-info-type-to-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td>the info type</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the string</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the info type</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-info-type-to-string.returns"></a><h4>Returns</h4>
+<p> the string</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-is-pointer"></a><h3>g_type_info_is_pointer ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_type_info_is_pointer (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the type is passed as a reference.
-</p>
-<p>
-Note that the types of <a class="link" href="gi-GIArgInfo.html#GI-DIRECTION-OUT:CAPS"><code class="literal">GI_DIRECTION_OUT</code></a> and <a class="link" href="gi-GIArgInfo.html#GI-DIRECTION-INOUT:CAPS"><code class="literal">GI_DIRECTION_INOUT</code></a> parameters
+<a name="g-type-info-is-pointer"></a><h3>g_type_info_is_pointer ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_type_info_is_pointer (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the type is passed as a reference.</p>
+<p>Note that the types of <a class="link" href="gi-GIArgInfo.html#GI-DIRECTION-OUT:CAPS"><code class="literal">GI_DIRECTION_OUT</code></a> and <a class="link" href="gi-GIArgInfo.html#GI-DIRECTION-INOUT:CAPS"><code class="literal">GI_DIRECTION_INOUT</code></a> parameters
will only be pointers if the underlying type being transferred is a pointer
(i.e. only if the type of the C function’s formal parameter is a pointer to a
-pointer).
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+pointer).</p>
+<div class="refsect3">
+<a name="g-type-info-is-pointer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if it is a pointer</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-info-is-pointer.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it is a pointer</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-get-tag"></a><h3>g_type_info_get_tag ()</h3>
-<pre class="programlisting"><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a> g_type_info_get_tag (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the type tag for the type. See <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> for a list
-of type tags.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-type-info-get-tag"></a><h3>g_type_info_get_tag ()</h3>
+<pre class="programlisting"><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="returnvalue">GITypeTag</span></a>
+g_type_info_get_tag (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the type tag for the type. See <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> for a list
+of type tags.</p>
+<div class="refsect3">
+<a name="g-type-info-get-tag.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the type tag</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-info-get-tag.returns"></a><h4>Returns</h4>
+<p> the type tag</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-get-param-type"></a><h3>g_type_info_get_param_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * g_type_info_get_param_type (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain the parameter type <em class="parameter"><code>n</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-type-info-get-param-type"></a><h3>g_type_info_get_param_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+g_type_info_get_param_type (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain the parameter type <em class="parameter"><code>n</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-type-info-get-param-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>index of the parameter</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the param type info. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>index of the parameter</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-info-get-param-type.returns"></a><h4>Returns</h4>
+<p> the param type info. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-get-interface"></a><h3>g_type_info_get_interface ()</h3>
-<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> * g_type_info_get_interface (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>
-For types which have <a class="link" href="gi-common-types.html#GI-TYPE-TAG-INTERFACE:CAPS"><span class="type">GI_TYPE_TAG_INTERFACE</span></a> such as GObjects and boxed values,
+<a name="g-type-info-get-interface"></a><h3>g_type_info_get_interface ()</h3>
+<pre class="programlisting"><span class="returnvalue">GIBaseInfo</span> *
+g_type_info_get_interface (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
+<p>For types which have <a class="link" href="gi-common-types.html#GI-TYPE-TAG-INTERFACE:CAPS"><span class="type">GI_TYPE_TAG_INTERFACE</span></a> such as GObjects and boxed values,
this function returns full information about the referenced type. You can then
inspect the type of the returned <span class="type">GIBaseInfo</span> to further query whether it is
-a concrete GObject, a GInterface, a structure, etc. using <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()"><code class="function">g_base_info_get_type()</code></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+a concrete GObject, a GInterface, a structure, etc. using <a class="link" href="gi-GIBaseInfo.html#g-base-info-get-type" title="g_base_info_get_type ()"><code class="function">g_base_info_get_type()</code></a>.</p>
+<div class="refsect3">
+<a name="g-type-info-get-interface.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <span class="type">GIBaseInfo</span>, or <code class="literal">NULL</code>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-info-get-interface.returns"></a><h4>Returns</h4>
+<p> the <span class="type">GIBaseInfo</span>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-get-array-length"></a><h3>g_type_info_get_array_length ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_type_info_get_array_length (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the array length of the type. The type tag must be a
-<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or -1 will returned.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-type-info-get-array-length"></a><h3>g_type_info_get_array_length ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_type_info_get_array_length (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the array length of the type. The type tag must be a
+<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or -1 will returned.</p>
+<div class="refsect3">
+<a name="g-type-info-get-array-length.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the array length, or -1 if the type is not an array</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-info-get-array-length.returns"></a><h4>Returns</h4>
+<p> the array length, or -1 if the type is not an array</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-get-array-fixed-size"></a><h3>g_type_info_get_array_fixed_size ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_type_info_get_array_fixed_size (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the fixed array size of the type. The type tag must be a
-<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or -1 will returned.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-type-info-get-array-fixed-size"></a><h3>g_type_info_get_array_fixed_size ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_type_info_get_array_fixed_size (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the fixed array size of the type. The type tag must be a
+<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or -1 will returned.</p>
+<div class="refsect3">
+<a name="g-type-info-get-array-fixed-size.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the size or -1 if it's not an array</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-info-get-array-fixed-size.returns"></a><h4>Returns</h4>
+<p> the size or -1 if it's not an array</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-is-zero-terminated"></a><h3>g_type_info_is_zero_terminated ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_type_info_is_zero_terminated (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain if the last element of the array is <code class="literal">NULL</code>. The type tag must be a
-<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or <code class="literal">FALSE</code> will returned.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-type-info-is-zero-terminated"></a><h3>g_type_info_is_zero_terminated ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_type_info_is_zero_terminated (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain if the last element of the array is <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. The type tag must be a
+<a class="link" href="gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS"><span class="type">GI_TYPE_TAG_ARRAY</span></a> or <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will returned.</p>
+<div class="refsect3">
+<a name="g-type-info-is-zero-terminated.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if zero terminated</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-info-is-zero-terminated.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if zero terminated</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-get-array-type"></a><h3>g_type_info_get_array_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="returnvalue">GIArrayType</span></a> g_type_info_get_array_type (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the array type for this type. See <a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="type">GIArrayType</span></a> for a list of
+<a name="g-type-info-get-array-type"></a><h3>g_type_info_get_array_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="returnvalue">GIArrayType</span></a>
+g_type_info_get_array_type (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the array type for this type. See <a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType"><span class="type">GIArrayType</span></a> for a list of
possible values. If the type tag of this type is not array, -1 will be
-returned.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+returned.</p>
+<div class="refsect3">
+<a name="g-type-info-get-array-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the array type or -1</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-type-info-get-array-type.returns"></a><h4>Returns</h4>
+<p> the array type or -1</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GITypeInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GITypeInfo"></a><h3>GITypeInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GITypeInfo;
+</pre>
+<p>Represents type information, direction, transfer etc.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GITypelib.html b/docs/reference/html/gi-GITypelib.html
index 759dc20f..78b6a187 100644
--- a/docs/reference/html/gi-GITypelib.html
+++ b/docs/reference/html/gi-GITypelib.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GITypelib</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GITypelib: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="gi-typelib.html" title="GITypelib">
<link rel="prev" href="gi-gitypelib.html" title="gitypelib">
<link rel="next" href="ch03.html" title="TODO">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-gitypelib.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="gi-typelib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="ch03.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GITypelib.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GITypelib.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GITypelib.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="gi-typelib.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-gitypelib.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GITypelib"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,220 +29,644 @@
<h2><span class="refentrytitle"><a name="gi-GITypelib.top_of_page"></a>GITypelib</span></h2>
<p>GITypelib — Layout and accessors for typelib</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gi-GITypelib.stability-level"></a><h2>Stability Level</h2>
-Stable, unless otherwise indicated
-</div>
-<div class="refsynopsisdiv">
-<a name="gi-GITypelib.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">#define <a class="link" href="gi-GITypelib.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC">G_IR_MAGIC</a>
-enum <a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType">GTypelibBlobType</a>;
- <a class="link" href="gi-GITypelib.html#Header" title="Header">Header</a>;
-enum <a class="link" href="gi-GITypelib.html#SectionType" title="enum SectionType">SectionType</a>;
- <a class="link" href="gi-GITypelib.html#Section" title="Section">Section</a>;
- <a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry">DirEntry</a>;
- <a class="link" href="gi-GITypelib.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags">SimpleTypeBlobFlags</a>;
-union <a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob">SimpleTypeBlob</a>;
- <a class="link" href="gi-GITypelib.html#ArgBlob" title="ArgBlob">ArgBlob</a>;
- <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob">SignatureBlob</a>;
- <a class="link" href="gi-GITypelib.html#CommonBlob" title="CommonBlob">CommonBlob</a>;
- <a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob">FunctionBlob</a>;
- <a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob">CallbackBlob</a>;
- <a class="link" href="gi-GITypelib.html#InterfaceTypeBlob" title="InterfaceTypeBlob">InterfaceTypeBlob</a>;
- <a class="link" href="gi-GITypelib.html#ArrayTypeDimension" title="ArrayTypeDimension">ArrayTypeDimension</a>;
- <a class="link" href="gi-GITypelib.html#ArrayTypeBlob" title="ArrayTypeBlob">ArrayTypeBlob</a>;
- <a class="link" href="gi-GITypelib.html#ParamTypeBlob" title="ParamTypeBlob">ParamTypeBlob</a>;
- <a class="link" href="gi-GITypelib.html#ErrorTypeBlob" title="ErrorTypeBlob">ErrorTypeBlob</a>;
- <a class="link" href="gi-GITypelib.html#ValueBlob" title="ValueBlob">ValueBlob</a>;
- <a class="link" href="gi-GITypelib.html#FieldBlob" title="FieldBlob">FieldBlob</a>;
- <a class="link" href="gi-GITypelib.html#RegisteredTypeBlob" title="RegisteredTypeBlob">RegisteredTypeBlob</a>;
- <a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob">StructBlob</a>;
- <a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob">UnionBlob</a>;
- <a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob">EnumBlob</a>;
- <a class="link" href="gi-GITypelib.html#PropertyBlob" title="PropertyBlob">PropertyBlob</a>;
- <a class="link" href="gi-GITypelib.html#SignalBlob" title="SignalBlob">SignalBlob</a>;
- <a class="link" href="gi-GITypelib.html#VFuncBlob" title="VFuncBlob">VFuncBlob</a>;
- <a class="link" href="gi-GITypelib.html#ObjectBlob" title="ObjectBlob">ObjectBlob</a>;
- <a class="link" href="gi-GITypelib.html#InterfaceBlob" title="InterfaceBlob">InterfaceBlob</a>;
- <a class="link" href="gi-GITypelib.html#ConstantBlob" title="ConstantBlob">ConstantBlob</a>;
- <a class="link" href="gi-GITypelib.html#AttributeBlob" title="AttributeBlob">AttributeBlob</a>;
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> * <a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry" title="g_typelib_get_dir_entry ()">g_typelib_get_dir_entry</a> (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><span class="type">guint16</span> index</code></em>);
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> * <a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-name" title="g_typelib_get_dir_entry_by_name ()">g_typelib_get_dir_entry_by_name</a> (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> * <a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name" title="g_typelib_get_dir_entry_by_gtype_name ()">g_typelib_get_dir_entry_by_gtype_name</a>
- (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *gtype_name</code></em>);
-<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> * <a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain" title="g_typelib_get_dir_entry_by_error_domain ()">g_typelib_get_dir_entry_by_error_domain</a>
- (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><span class="type">GQuark</span> error_domain</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix" title="g_typelib_matches_gtype_name_prefix ()">g_typelib_matches_gtype_name_prefix</a> (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *gtype_name</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-GITypelib.html#g-typelib-check-sanity" title="g_typelib_check_sanity ()">g_typelib_check_sanity</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-#define <a class="link" href="gi-GITypelib.html#g-typelib-get-string" title="g_typelib_get_string()">g_typelib_get_string</a> (typelib,
- offset)
-enum <a class="link" href="gi-GITypelib.html#GITypelibError" title="enum GITypelibError">GITypelibError</a>;
-#define <a class="link" href="gi-GITypelib.html#G-TYPELIB-ERROR:CAPS" title="G_TYPELIB_ERROR">G_TYPELIB_ERROR</a>
-<span class="returnvalue">GQuark</span> <a class="link" href="gi-GITypelib.html#g-typelib-error-quark" title="g_typelib_error_quark ()">g_typelib_error_quark</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GITypelib.html#g-typelib-validate" title="g_typelib_validate ()">g_typelib_validate</a> (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
- <a class="link" href="gi-GITypelib.html#GITypelibHashBuilder" title="GITypelibHashBuilder">GITypelibHashBuilder</a>;
-</pre>
+<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
+develop applications to these interfaces, release them, and have confidence that
+they will run on all minor releases of the product (after the one in which the
+interface was introduced, and within the same major release). Even at a major
+release, incompatible changes are expected to be rare, and to have strong
+justifications.
+"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
+</div>
+<div class="refsect1">
+<a name="gi-GITypelib.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry" title="g_typelib_get_dir_entry ()">g_typelib_get_dir_entry</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-name" title="g_typelib_get_dir_entry_by_name ()">g_typelib_get_dir_entry_by_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name" title="g_typelib_get_dir_entry_by_gtype_name ()">g_typelib_get_dir_entry_by_gtype_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain" title="g_typelib_get_dir_entry_by_error_domain ()">g_typelib_get_dir_entry_by_error_domain</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix" title="g_typelib_matches_gtype_name_prefix ()">g_typelib_matches_gtype_name_prefix</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-check-sanity" title="g_typelib_check_sanity ()">g_typelib_check_sanity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-get-string" title="g_typelib_get_string()">g_typelib_get_string</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-error-quark" title="g_typelib_error_quark ()">g_typelib_error_quark</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GITypelib.html#g-typelib-validate" title="g_typelib_validate ()">g_typelib_validate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GITypelib.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC">G_IR_MAGIC</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType">GTypelibBlobType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#Header" title="Header">Header</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#SectionType" title="enum SectionType">SectionType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#Section" title="Section">Section</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry">DirEntry</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags">SimpleTypeBlobFlags</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob">SimpleTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#ArgBlob" title="ArgBlob">ArgBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob">SignatureBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#CommonBlob" title="CommonBlob">CommonBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob">FunctionBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob">CallbackBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#InterfaceTypeBlob" title="InterfaceTypeBlob">InterfaceTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#ArrayTypeDimension" title="ArrayTypeDimension">ArrayTypeDimension</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#ArrayTypeBlob" title="ArrayTypeBlob">ArrayTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#ParamTypeBlob" title="ParamTypeBlob">ParamTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#ErrorTypeBlob" title="ErrorTypeBlob">ErrorTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#ValueBlob" title="ValueBlob">ValueBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#FieldBlob" title="FieldBlob">FieldBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#RegisteredTypeBlob" title="RegisteredTypeBlob">RegisteredTypeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob">StructBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob">UnionBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob">EnumBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#PropertyBlob" title="PropertyBlob">PropertyBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#SignalBlob" title="SignalBlob">SignalBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#VFuncBlob" title="VFuncBlob">VFuncBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#ObjectBlob" title="ObjectBlob">ObjectBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#InterfaceBlob" title="InterfaceBlob">InterfaceBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#ConstantBlob" title="ConstantBlob">ConstantBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#AttributeBlob" title="AttributeBlob">AttributeBlob</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#GITypelibError" title="enum GITypelibError">GITypelibError</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#G-TYPELIB-ERROR:CAPS" title="G_TYPELIB_ERROR">G_TYPELIB_ERROR</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-GITypelib.html#GITypelibHashBuilder" title="GITypelibHashBuilder">GITypelibHashBuilder</a></td>
+</tr>
+</tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GITypelib.description"></a><h2>Description</h2>
-<p>
-The "typelib" is a binary, readonly, memory-mappable database
-containing reflective information about a GObject library.
-</p>
-<p>
-The format of GObject typelib is strongly influenced by the Mozilla XPCOM
-format.
-</p>
-<p>
-Some of the differences to XPCOM include:
-</p>
+<p>The "typelib" is a binary, readonly, memory-mappable database
+containing reflective information about a GObject library.</p>
+<p>The format of GObject typelib is strongly influenced by the Mozilla XPCOM
+format.</p>
+<p>Some of the differences to XPCOM include:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>Type information is stored not quite as compactly (XPCOM stores it inline
- in function descriptions in variable-sized blobs of 1 to n bytes. We store
- 16 bits of type information for each parameter, which is enough to encode
- simple types inline. Complex (e.g. recursive) types are stored out of line
- in a separate list of types.</p></li>
+in function descriptions in variable-sized blobs of 1 to n bytes. We store
+16 bits of type information for each parameter, which is enough to encode
+simple types inline. Complex (e.g. recursive) types are stored out of line
+in a separate list of types.</p></li>
<li class="listitem"><p>String and complex type data is stored outside of typelib entry blobs,
- references are stored as offsets relative to the start of the typelib.
- One possibility is to store the strings and types in a pools at the end
- of the typelib.</p></li>
+references are stored as offsets relative to the start of the typelib.
+One possibility is to store the strings and types in a pools at the end
+of the typelib.</p></li>
</ul></div>
-<p>
-</p>
-<p>
-The typelib has the following general format:
-</p>
-<p>
- typelib ::= header, section-index, directory, blobs, attributes, attributedata
-</p>
-<p>
- directory ::= list of entries
-</p>
-<p>
- entry ::= blob type, name, namespace, offset
+<p>The typelib has the following general format:</p>
+<p> typelib ::= header, section-index, directory, blobs, attributes, attributedata</p>
+<p> directory ::= list of entries</p>
+<p> entry ::= blob type, name, namespace, offset
blob ::= function|callback|struct|boxed|enum|flags|object|interface|constant|union
attribute ::= offset, key, value
- attributedata ::= string data for attributes
-</p>
-<p>
-Details
-</p>
-<p>
-We describe the fragments that make up the typelib in the form of C structs
+ attributedata ::= string data for attributes</p>
+<p>Details</p>
+<p>We describe the fragments that make up the typelib in the form of C structs
(although some fall short of being valid C structs since they contain
-multiple flexible arrays).
-</p>
+multiple flexible arrays).</p>
+</div>
+<div class="refsect1">
+<a name="gi-GITypelib.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="g-typelib-get-dir-entry"></a><h3>g_typelib_get_dir_entry ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+g_typelib_get_dir_entry (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> index</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>index</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-get-dir-entry-by-name"></a><h3>g_typelib_get_dir_entry_by_name ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+g_typelib_get_dir_entry_by_name (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-name.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-get-dir-entry-by-gtype-name"></a><h3>g_typelib_get_dir_entry_by_gtype_name ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+g_typelib_get_dir_entry_by_gtype_name (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-gtype-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gtype_name</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-gtype-name.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-get-dir-entry-by-error-domain"></a><h3>g_typelib_get_dir_entry_by_error_domain ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> *
+g_typelib_get_dir_entry_by_error_domain
+ (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> error_domain</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-error-domain.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error_domain</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-dir-entry-by-error-domain.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-matches-gtype-name-prefix"></a><h3>g_typelib_matches_gtype_name_prefix ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_typelib_matches_gtype_name_prefix (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-matches-gtype-name-prefix.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gtype_name</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-matches-gtype-name-prefix.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-check-sanity"></a><h3>g_typelib_check_sanity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_typelib_check_sanity (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>TODO</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-get-string"></a><h3>g_typelib_get_string()</h3>
+<pre class="programlisting">#define g_typelib_get_string(typelib,offset)</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-get-string.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-error-quark"></a><h3>g_typelib_error_quark ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
+g_typelib_error_quark (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-error-quark.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-validate"></a><h3>g_typelib_validate ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_typelib_validate (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-validate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-validate.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
</div>
<div class="refsect1">
-<a name="gi-GITypelib.details"></a><h2>Details</h2>
+<a name="gi-GITypelib.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="G-IR-MAGIC:CAPS"></a><h3>G_IR_MAGIC</h3>
<pre class="programlisting">#define G_IR_MAGIC "GOBJ\nMETADATA\r\n\032"
</pre>
-<p>
-Identifying prefix for the typelib. This was inspired by XPCOM,
-which in turn borrowed from PNG.
-</p>
+<p>Identifying prefix for the typelib. This was inspired by XPCOM,
+which in turn borrowed from PNG.</p>
</div>
<hr>
<div class="refsect2">
<a name="GTypelibBlobType"></a><h3>enum GTypelibBlobType</h3>
-<pre class="programlisting">typedef enum {
- BLOB_TYPE_INVALID,
- BLOB_TYPE_FUNCTION,
- BLOB_TYPE_CALLBACK,
- BLOB_TYPE_STRUCT,
- BLOB_TYPE_BOXED,
- BLOB_TYPE_ENUM,
- BLOB_TYPE_FLAGS,
- BLOB_TYPE_OBJECT,
- BLOB_TYPE_INTERFACE,
- BLOB_TYPE_CONSTANT,
- BLOB_TYPE_INVALID_0,
- BLOB_TYPE_UNION
-} GTypelibBlobType;
-</pre>
-<p>
-The integral value of this enumeration appears in each "Blob" component of
-a typelib to identify its type.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>The integral value of this enumeration appears in each "Blob" component of
+a typelib to identify its type.</p>
+<div class="refsect3">
+<a name="GTypelibBlobType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="BLOB-TYPE-INVALID:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_INVALID</code></span></p></td>
-<td>Should not appear in code
+<td class="enum_member_name"><p><a name="BLOB-TYPE-INVALID:CAPS"></a>BLOB_TYPE_INVALID</p></td>
+<td class="enum_member_description">
+<p>Should not appear in code</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-FUNCTION:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_FUNCTION</code></span></p></td>
-<td>A <a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob"><span class="type">FunctionBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-FUNCTION:CAPS"></a>BLOB_TYPE_FUNCTION</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob"><span class="type">FunctionBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-CALLBACK:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_CALLBACK</code></span></p></td>
-<td>A <a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob"><span class="type">CallbackBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-CALLBACK:CAPS"></a>BLOB_TYPE_CALLBACK</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob"><span class="type">CallbackBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-STRUCT:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_STRUCT</code></span></p></td>
-<td>A <a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob"><span class="type">StructBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-STRUCT:CAPS"></a>BLOB_TYPE_STRUCT</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob"><span class="type">StructBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-BOXED:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_BOXED</code></span></p></td>
-<td>Can be either a <a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob"><span class="type">StructBlob</span></a> or <a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob"><span class="type">UnionBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-BOXED:CAPS"></a>BLOB_TYPE_BOXED</p></td>
+<td class="enum_member_description">
+<p>Can be either a <a class="link" href="gi-GITypelib.html#StructBlob" title="StructBlob"><span class="type">StructBlob</span></a> or <a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob"><span class="type">UnionBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-ENUM:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_ENUM</code></span></p></td>
-<td>An <a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob"><span class="type">EnumBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-ENUM:CAPS"></a>BLOB_TYPE_ENUM</p></td>
+<td class="enum_member_description">
+<p>An <a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob"><span class="type">EnumBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-FLAGS:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_FLAGS</code></span></p></td>
-<td>An <a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob"><span class="type">EnumBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-FLAGS:CAPS"></a>BLOB_TYPE_FLAGS</p></td>
+<td class="enum_member_description">
+<p>An <a class="link" href="gi-GITypelib.html#EnumBlob" title="EnumBlob"><span class="type">EnumBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-OBJECT:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_OBJECT</code></span></p></td>
-<td>An <a class="link" href="gi-GITypelib.html#ObjectBlob" title="ObjectBlob"><span class="type">ObjectBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-OBJECT:CAPS"></a>BLOB_TYPE_OBJECT</p></td>
+<td class="enum_member_description">
+<p>An <a class="link" href="gi-GITypelib.html#ObjectBlob" title="ObjectBlob"><span class="type">ObjectBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-INTERFACE:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_INTERFACE</code></span></p></td>
-<td>An <a class="link" href="gi-GITypelib.html#InterfaceBlob" title="InterfaceBlob"><span class="type">InterfaceBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-INTERFACE:CAPS"></a>BLOB_TYPE_INTERFACE</p></td>
+<td class="enum_member_description">
+<p>An <a class="link" href="gi-GITypelib.html#InterfaceBlob" title="InterfaceBlob"><span class="type">InterfaceBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-CONSTANT:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_CONSTANT</code></span></p></td>
-<td>A <a class="link" href="gi-GITypelib.html#ConstantBlob" title="ConstantBlob"><span class="type">ConstantBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-CONSTANT:CAPS"></a>BLOB_TYPE_CONSTANT</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib.html#ConstantBlob" title="ConstantBlob"><span class="type">ConstantBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-INVALID-0:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_INVALID_0</code></span></p></td>
-<td>Deleted, used to be ErrorDomain.
+<td class="enum_member_name"><p><a name="BLOB-TYPE-INVALID-0:CAPS"></a>BLOB_TYPE_INVALID_0</p></td>
+<td class="enum_member_description">
+<p>Deleted, used to be ErrorDomain.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="BLOB-TYPE-UNION:CAPS"></a><span class="term"><code class="literal">BLOB_TYPE_UNION</code></span></p></td>
-<td>A <a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob"><span class="type">UnionBlob</span></a>
+<td class="enum_member_name"><p><a name="BLOB-TYPE-UNION:CAPS"></a>BLOB_TYPE_UNION</p></td>
+<td class="enum_member_description">
+<p>A <a class="link" href="gi-GITypelib.html#UnionBlob" title="UnionBlob"><span class="type">UnionBlob</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="Header"></a><h3>Header</h3>
@@ -294,203 +714,258 @@ a typelib to identify its type.
guint16 padding[6];
} Header;
</pre>
-<p>
-The header structure appears exactly once at the beginning of a typelib. It is a
-collection of meta-information, such as the number of entries and dependencies.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>The header structure appears exactly once at the beginning of a typelib. It is a
+collection of meta-information, such as the number of entries and dependencies.</p>
+<div class="refsect3">
+<a name="Header.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">gchar</span> <em class="structfield"><code><a name="Header.magic"></a>magic</code></em>[16];</span></p></td>
-<td>See <a class="link" href="gi-GITypelib.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC"><span class="type">G_IR_MAGIC</span></a>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> <em class="structfield"><code><a name="Header.magic"></a>magic</code></em>[16];</p></td>
+<td class="struct_member_description"><p>See <a class="link" href="gi-GITypelib.html#G-IR-MAGIC:CAPS" title="G_IR_MAGIC"><span class="type">G_IR_MAGIC</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="Header.major-version"></a>major_version</code></em>;</span></p></td>
-<td>The major version number of the typelib format. Major version
-number changes indicate incompatible changes to the tyeplib format.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="Header.major-version"></a>major_version</code></em>;</p></td>
+<td class="struct_member_description"><p>The major version number of the typelib format. Major version
+number changes indicate incompatible changes to the tyeplib format.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="Header.minor-version"></a>minor_version</code></em>;</span></p></td>
-<td>The minor version number of the typelib format. Minor version
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="Header.minor-version"></a>minor_version</code></em>;</p></td>
+<td class="struct_member_description"><p>The minor version number of the typelib format. Minor version
number changes indicate compatible changes and should still allow the
-typelib to be parsed by a parser designed for the same <em class="parameter"><code>major_version</code></em>.</td>
+typelib to be parsed by a parser designed for the same <em class="parameter"><code>major_version</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.reserved"></a>reserved</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.reserved"></a>reserved</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.n-entries"></a>n_entries</code></em>;</span></p></td>
-<td>The number of entries in the directory.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.n-entries"></a>n_entries</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of entries in the directory.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.n-local-entries"></a>n_local_entries</code></em>;</span></p></td>
-<td>The number of entries referring to blobs in this typelib.
-The local entries must occur before the unresolved entries.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.n-local-entries"></a>n_local_entries</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of entries referring to blobs in this typelib.
+The local entries must occur before the unresolved entries.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.directory"></a>directory</code></em>;</span></p></td>
-<td>Offset of the directory in the typelib.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.directory"></a>directory</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the directory in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.n-attributes"></a>n_attributes</code></em>;</span></p></td>
-<td>Number of attribute blocks</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.n-attributes"></a>n_attributes</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of attribute blocks</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.attributes"></a>attributes</code></em>;</span></p></td>
-<td>Offset of the list of attributes in the typelib.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.attributes"></a>attributes</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the list of attributes in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.dependencies"></a>dependencies</code></em>;</span></p></td>
-<td>Offset of a single string, which is the list of immediate
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.dependencies"></a>dependencies</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of a single string, which is the list of immediate
dependencies, separated by the '|' character. The dependencies are
required in order to avoid having programs consuming a typelib check for
-an "Unresolved" type return from every API call.</td>
+an "Unresolved" type return from every API call.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.size"></a>size</code></em>;</span></p></td>
-<td>The size in bytes of the typelib.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size in bytes of the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.namespace"></a>namespace</code></em>;</span></p></td>
-<td>Offset of the namespace string in the typelib.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.namespace"></a>namespace</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the namespace string in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.nsversion"></a>nsversion</code></em>;</span></p></td>
-<td>Offset of the namespace version string in the typelib.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.nsversion"></a>nsversion</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the namespace version string in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.shared-library"></a>shared_library</code></em>;</span></p></td>
-<td>This field is the set of shared libraries associated with
-the typelib. The entries are separated by the '|' (pipe) character.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.shared-library"></a>shared_library</code></em>;</p></td>
+<td class="struct_member_description"><p>This field is the set of shared libraries associated with
+the typelib. The entries are separated by the '|' (pipe) character.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.c-prefix"></a>c_prefix</code></em>;</span></p></td>
-<td>The prefix for the function names of the library</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.c-prefix"></a>c_prefix</code></em>;</p></td>
+<td class="struct_member_description"><p>The prefix for the function names of the library</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.entry-blob-size"></a>entry_blob_size</code></em>;</span></p></td>
-<td>The sizes of fixed-size blobs. Recording this information
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.entry-blob-size"></a>entry_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>The sizes of fixed-size blobs. Recording this information
here allows to write parser which continue to work if the format is
-extended by adding new fields to the end of the fixed-size blobs.</td>
+extended by adding new fields to the end of the fixed-size blobs.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.function-blob-size"></a>function_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.function-blob-size"></a>function_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.callback-blob-size"></a>callback_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.callback-blob-size"></a>callback_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.signal-blob-size"></a>signal_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.signal-blob-size"></a>signal_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.vfunc-blob-size"></a>vfunc_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.vfunc-blob-size"></a>vfunc_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.arg-blob-size"></a>arg_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.arg-blob-size"></a>arg_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.property-blob-size"></a>property_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.property-blob-size"></a>property_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.field-blob-size"></a>field_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.field-blob-size"></a>field_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.value-blob-size"></a>value_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.value-blob-size"></a>value_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.attribute-blob-size"></a>attribute_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.attribute-blob-size"></a>attribute_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.constant-blob-size"></a>constant_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.constant-blob-size"></a>constant_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.error-domain-blob-size"></a>error_domain_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.error-domain-blob-size"></a>error_domain_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.signature-blob-size"></a>signature_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.signature-blob-size"></a>signature_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.enum-blob-size"></a>enum_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.enum-blob-size"></a>enum_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.struct-blob-size"></a>struct_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.struct-blob-size"></a>struct_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.object-blob-size"></a>object_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.object-blob-size"></a>object_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.interface-blob-size"></a>interface_blob_size</code></em>;</span></p></td>
-<td>For variable-size blobs, the size of the struct up to
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.interface-blob-size"></a>interface_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>For variable-size blobs, the size of the struct up to
the first flexible array member. Recording this information here allows
to write parser which continue to work if the format is extended by
adding new fields before the first flexible array member in
-variable-size blobs.</td>
+variable-size blobs.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.union-blob-size"></a>union_blob_size</code></em>;</span></p></td>
-<td>See <em class="parameter"><code>entry_blob_size</code></em>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.union-blob-size"></a>union_blob_size</code></em>;</p></td>
+<td class="struct_member_description"><p>See <em class="parameter"><code>entry_blob_size</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Header.sections"></a>sections</code></em>;</span></p></td>
-<td>Offset of section blob array</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.sections"></a>sections</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of section blob array</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="Header.padding"></a>padding</code></em>[6];</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.padding"></a>padding</code></em>[6];</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="SectionType"></a><h3>enum SectionType</h3>
-<pre class="programlisting">typedef enum {
- GI_SECTION_END = 0,
- GI_SECTION_DIRECTORY_INDEX = 1
-} SectionType;
-</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="SectionType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="GI-SECTION-END:CAPS"></a><span class="term"><code class="literal">GI_SECTION_END</code></span></p></td>
-<td>TODO
+<td class="enum_member_name"><p><a name="GI-SECTION-END:CAPS"></a>GI_SECTION_END</p></td>
+<td class="enum_member_description">
+<p>TODO</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-SECTION-DIRECTORY-INDEX:CAPS"></a><span class="term"><code class="literal">GI_SECTION_DIRECTORY_INDEX</code></span></p></td>
-<td>TODO
+<td class="enum_member_name"><p><a name="GI-SECTION-DIRECTORY-INDEX:CAPS"></a>GI_SECTION_DIRECTORY_INDEX</p></td>
+<td class="enum_member_description">
+<p>TODO</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="Section"></a><h3>Section</h3>
@@ -499,30 +974,33 @@ TODO
guint32 offset;
} Section;
</pre>
-<p>
-A section is a blob of data that's (at least theoretically) optional,
+<p>A section is a blob of data that's (at least theoretically) optional,
and may or may not be present in the typelib. Presently, just used
for the directory index. This allows a form of dynamic extensibility
-with different tradeoffs from the format minor version.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+with different tradeoffs from the format minor version.</p>
+<div class="refsect3">
+<a name="Section.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Section.id"></a>id</code></em>;</span></p></td>
-<td>A <a class="link" href="gi-GITypelib.html#SectionType" title="enum SectionType"><span class="type">SectionType</span></a>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Section.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib.html#SectionType" title="enum SectionType"><span class="type">SectionType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="Section.offset"></a>offset</code></em>;</span></p></td>
-<td>Integer offset for this section</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Section.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>Integer offset for this section</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="DirEntry"></a><h3>DirEntry</h3>
@@ -535,45 +1013,49 @@ with different tradeoffs from the format minor version.
guint32 offset;
} DirEntry;
</pre>
-<p>
-References to directory entries are stored as 1-based 16-bit indexes.
-</p>
-<p>
-All blobs pointed to by a directory entry start with the same layout for
-the first 8 bytes (the reserved flags may be used by some blob types)
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>References to directory entries are stored as 1-based 16-bit indexes.</p>
+<p>All blobs pointed to by a directory entry start with the same layout for
+the first 8 bytes (the reserved flags may be used by some blob types)</p>
+<div class="refsect3">
+<a name="DirEntry.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="DirEntry.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td>A <a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType"><span class="type">GTypelibBlobType</span></a>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType"><span class="type">GTypelibBlobType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="DirEntry.local"></a>local</code></em> : 1;</span></p></td>
-<td>Whether this entry refers to a blob in this typelib.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.local"></a>local</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether this entry refers to a blob in this typelib.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="DirEntry.reserved"></a>reserved</code></em> :15;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="DirEntry.name"></a>name</code></em>;</span></p></td>
-<td>The name of the entry.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="DirEntry.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the entry.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="DirEntry.offset"></a>offset</code></em>;</span></p></td>
-<td>If is_local is set, this is the offset of the blob in the typelib.
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="DirEntry.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>If is_local is set, this is the offset of the blob in the typelib.
Otherwise, it is the offset of the namespace in which the blob has to be
-looked up by name.</td>
+looked up by name.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="SimpleTypeBlobFlags"></a><h3>SimpleTypeBlobFlags</h3>
@@ -585,86 +1067,86 @@ looked up by name.</td>
guint tag : 5;
} SimpleTypeBlobFlags;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="SimpleTypeBlobFlags.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved"></a>reserved</code></em> : 8;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved"></a>reserved</code></em> : 8;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved2"></a>reserved2</code></em> :16;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved2"></a>reserved2</code></em> :16;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="SimpleTypeBlobFlags.pointer"></a>pointer</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.pointer"></a>pointer</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved3"></a>reserved3</code></em> : 2;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved3"></a>reserved3</code></em> : 2;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="SimpleTypeBlobFlags.tag"></a>tag</code></em> : 5;</span></p></td>
-<td>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.tag"></a>tag</code></em> : 5;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="SimpleTypeBlob"></a><h3>union SimpleTypeBlob</h3>
-<pre class="programlisting">union _SimpleTypeBlob
-{
- SimpleTypeBlobFlags flags;
- guint32 offset;
-};
-</pre>
-<p>
-The SimpleTypeBlob is the general purpose "reference to a type" construct,
+<a name="SimpleTypeBlob"></a><h3>SimpleTypeBlob</h3>
+<p>The SimpleTypeBlob is the general purpose "reference to a type" construct,
used in method parameters, returns, callback definitions, fields, constants,
etc. It's actually just a 32 bit integer which you can see from the union
definition. This is for efficiency reasons, since there are so many
-references to types.
-</p>
-<p>
-SimpleTypeBlob is divided into two cases; first, if "reserved" and
+references to types.</p>
+<p>SimpleTypeBlob is divided into two cases; first, if "reserved" and
"reserved2", the type tag for a basic type is embedded in the "tag" bits.
This allows e.g. GI_TYPE_TAG_UTF8, GI_TYPE_TAG_INT and the like to be
-embedded directly without taking up extra space.
-</p>
-<p>
-References to "interfaces" (objects, interfaces) are more complicated;
+embedded directly without taking up extra space.</p>
+<p>References to "interfaces" (objects, interfaces) are more complicated;
In this case, the integer is actually an offset into the directory (see
above). Because the header is larger than 2^8=256 bits, all offsets will
-have one of the upper 24 bits set.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+have one of the upper 24 bits set.</p>
+<div class="refsect3">
+<a name="SimpleTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="union_members_name">
+<col class="union_members_description">
+<col width="200px" class="union_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags"><span class="type">SimpleTypeBlobFlags</span></a> <em class="structfield"><code><a name="SimpleTypeBlob.flags"></a>flags</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlobFlags" title="SimpleTypeBlobFlags"><span class="type">SimpleTypeBlobFlags</span></a> <em class="structfield"><code><a name="SimpleTypeBlob.flags"></a>flags</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="SimpleTypeBlob.offset"></a>offset</code></em>;</span></p></td>
-<td>Offset relative to header-&gt;types that points to a TypeBlob.
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SimpleTypeBlob.offset"></a>offset</code></em>;</p></td>
+<td class="union_member_description"><p>Offset relative to header-&gt;types that points to a TypeBlob.
Unlike other offsets, this is in words (ie 32bit units) rather
-than bytes.</td>
+than bytes.</p></td>
+<td class="union_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="ArgBlob"></a><h3>ArgBlob</h3>
@@ -690,106 +1172,124 @@ than bytes.</td>
SimpleTypeBlob arg_type;
} ArgBlob;
</pre>
-<p>
-Types are specified by four bytes. If the three high bytes are zero,
+<p>Types are specified by four bytes. If the three high bytes are zero,
the low byte describes a basic type, otherwise the 32bit number is an
-offset which points to a TypeBlob.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+offset which points to a TypeBlob.</p>
+<div class="refsect3">
+<a name="ArgBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ArgBlob.name"></a>name</code></em>;</span></p></td>
-<td>A suggested name for the parameter.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ArgBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>A suggested name for the parameter.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.in"></a>in</code></em> : 1;</span></p></td>
-<td>The parameter is an input to the function</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.in"></a>in</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The parameter is an input to the function</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.out"></a>out</code></em> : 1;</span></p></td>
-<td>The parameter is used to return an output of the function. Parameters
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.out"></a>out</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The parameter is used to return an output of the function. Parameters
can be both in and out. Out parameters implicitly add another level of
indirection to the parameter type. Ie if the type is uint32 in an out
-parameter, the function actually takes an uint32*.</td>
+parameter, the function actually takes an uint32*.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.caller-allocates"></a>caller_allocates</code></em> : 1;</span></p></td>
-<td>The parameter is a pointer to a struct or object that
-will receive an output of the function.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.caller-allocates"></a>caller_allocates</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The parameter is a pointer to a struct or object that
+will receive an output of the function.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.nullable"></a>nullable</code></em> : 1;</span></p></td>
-<td>Only meaningful for types which are passed as pointers. For an
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.nullable"></a>nullable</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Only meaningful for types which are passed as pointers. For an
in parameter, indicates if it is ok to pass NULL in. Gor an out
parameter, indicates whether it may return NULL. Note that NULL is a
valid GList and GSList value, thus allow_none will normally be set
-for parameters of these types.</td>
+for parameters of these types.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.optional"></a>optional</code></em> : 1;</span></p></td>
-<td>For an out parameter, indicates that NULL may be passed in
-if the value is not needed.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.optional"></a>optional</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>For an out parameter, indicates that NULL may be passed in
+if the value is not needed.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.transfer-ownership"></a>transfer_ownership</code></em> : 1;</span></p></td>
-<td>For an in parameter, indicates that the function takes
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.transfer-ownership"></a>transfer_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>For an in parameter, indicates that the function takes
over ownership of the parameter value. For an out parameter, it indicates
-that the caller is responsible for freeing the return value.</td>
+that the caller is responsible for freeing the return value.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.transfer-container-ownership"></a>transfer_container_ownership</code></em> : 1;</span></p></td>
-<td>For container types, indicates that the
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.transfer-container-ownership"></a>transfer_container_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>For container types, indicates that the
ownership of the container, but not of its contents is transferred.
This is typically the case for out parameters returning lists of
-statically allocated things.</td>
+statically allocated things.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.return-value"></a>return_value</code></em> : 1;</span></p></td>
-<td>The parameter should be considered the return value of the
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.return-value"></a>return_value</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The parameter should be considered the return value of the
function. Only out parameters can be marked as return value, and there
can be at most one per function call. If an out parameter is marked as
return value, the actual return value of the function should be either
-void or a boolean indicating the success of the call.</td>
+void or a boolean indicating the success of the call.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.scope"></a>scope</code></em> : 3;</span></p></td>
-<td>A <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="type">GIScopeType</span></a>. If the parameter is of a callback type, this denotes
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.scope"></a>scope</code></em> : 3;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-GIArgInfo.html#GIScopeType" title="enum GIScopeType"><span class="type">GIScopeType</span></a>. If the parameter is of a callback type, this denotes
the scope of the user_data and the callback function pointer itself
-(for languages that emit code at run-time).</td>
+(for languages that emit code at run-time).</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.skip"></a>skip</code></em> : 1;</span></p></td>
-<td>Indicates that the parameter is only useful in C and should be skipped.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.skip"></a>skip</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Indicates that the parameter is only useful in C and should be skipped.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.reserved"></a>reserved</code></em> :20;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.reserved"></a>reserved</code></em> :20;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint8</span> <em class="structfield"><code><a name="ArgBlob.closure"></a>closure</code></em>;</span></p></td>
-<td>Index of the closure (user_data) parameter associated with the
-callback, or -1.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="ArgBlob.closure"></a>closure</code></em>;</p></td>
+<td class="struct_member_description"><p>Index of the closure (user_data) parameter associated with the
+callback, or -1.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint8</span> <em class="structfield"><code><a name="ArgBlob.destroy"></a>destroy</code></em>;</span></p></td>
-<td>Index of the destroy notfication callback parameter associated
-with the callback, or -1.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="ArgBlob.destroy"></a>destroy</code></em>;</p></td>
+<td class="struct_member_description"><p>Index of the destroy notfication callback parameter associated
+with the callback, or -1.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArgBlob.padding"></a>padding</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArgBlob.padding"></a>padding</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArgBlob.arg-type"></a>arg_type</code></em>;</span></p></td>
-<td>Describes the type of the parameter. See details below.</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArgBlob.arg-type"></a>arg_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Describes the type of the parameter. See details below.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="SignatureBlob"></a><h3>SignatureBlob</h3>
@@ -809,66 +1309,78 @@ with the callback, or -1.</td>
ArgBlob arguments[];
} SignatureBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="SignatureBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.return-type"></a>return_type</code></em>;</span></p></td>
-<td>Describes the type of the return value. See details below.</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.return-type"></a>return_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Describes the type of the return value. See details below.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.may-return-null"></a>may_return_null</code></em> : 1;</span></p></td>
-<td>Only relevant for pointer types. Indicates whether the
-caller must expect NULL as a return value.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.may-return-null"></a>may_return_null</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Only relevant for pointer types. Indicates whether the
+caller must expect NULL as a return value.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.caller-owns-return-value"></a>caller_owns_return_value</code></em> : 1;</span></p></td>
-<td>If set, the caller is responsible for freeing
-the return value if it is no longer needed.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.caller-owns-return-value"></a>caller_owns_return_value</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If set, the caller is responsible for freeing
+the return value if it is no longer needed.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.caller-owns-return-container"></a>caller_owns_return_container</code></em> : 1;</span></p></td>
-<td>This flag is only relevant if the return type
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.caller-owns-return-container"></a>caller_owns_return_container</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>This flag is only relevant if the return type
is a container type. If the flag is set, the caller is resonsible for
-freeing the container, but not its contents.</td>
+freeing the container, but not its contents.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.skip-return"></a>skip_return</code></em> : 1;</span></p></td>
-<td>Indicates that the return value is only useful in C and should
-be skipped.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.skip-return"></a>skip_return</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Indicates that the return value is only useful in C and should
+be skipped.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.instance-transfer-ownership"></a>instance_transfer_ownership</code></em> : 1;</span></p></td>
-<td>When calling, the function assumes ownership of
-the instance parameter.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.instance-transfer-ownership"></a>instance_transfer_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>When calling, the function assumes ownership of
+the instance parameter.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.throws"></a>throws</code></em> : 1;</span></p></td>
-<td>Denotes the signature takes an additional <span class="type">GError</span> argument beyond
-the annotated arguments.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.throws"></a>throws</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Denotes the signature takes an additional <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> argument beyond
+the annotated arguments.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.reserved"></a>reserved</code></em> :10;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.reserved"></a>reserved</code></em> :10;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.n-arguments"></a>n_arguments</code></em>;</span></p></td>
-<td>The number of arguments that this function expects, also the
-length of the array of ArgBlobs.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.n-arguments"></a>n_arguments</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of arguments that this function expects, also the
+length of the array of ArgBlobs.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#ArgBlob" title="ArgBlob"><span class="type">ArgBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.arguments"></a>arguments</code></em>[];</span></p></td>
-<td>An array of ArgBlob for the arguments of the function.</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#ArgBlob" title="ArgBlob"><span class="type">ArgBlob</span></a> <em class="structfield"><code><a name="SignatureBlob.arguments"></a>arguments</code></em>[];</p></td>
+<td class="struct_member_description"><p>An array of ArgBlob for the arguments of the function.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="CommonBlob"></a><h3>CommonBlob</h3>
@@ -880,39 +1392,42 @@ length of the array of ArgBlobs.</td>
guint32 name;
} CommonBlob;
</pre>
-<p>
-The <a class="link" href="gi-GITypelib.html#CommonBlob" title="CommonBlob"><span class="type">CommonBlob</span></a> is shared between <a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob"><span class="type">FunctionBlob</span></a>,
-<a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob"><span class="type">CallbackBlob</span></a>, <a class="link" href="gi-GITypelib.html#SignalBlob" title="SignalBlob"><span class="type">SignalBlob</span></a>.
-</p>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>The <a class="link" href="gi-GITypelib.html#CommonBlob" title="CommonBlob"><span class="type">CommonBlob</span></a> is shared between <a class="link" href="gi-GITypelib.html#FunctionBlob" title="FunctionBlob"><span class="type">FunctionBlob</span></a>,
+<a class="link" href="gi-GITypelib.html#CallbackBlob" title="CallbackBlob"><span class="type">CallbackBlob</span></a>, <a class="link" href="gi-GITypelib.html#SignalBlob" title="SignalBlob"><span class="type">SignalBlob</span></a>.</p>
+<p>TODO</p>
+<div class="refsect3">
+<a name="CommonBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="CommonBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td>A <a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType"><span class="type">GTypelibBlobType</span></a>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-GITypelib.html#GTypelibBlobType" title="enum GTypelibBlobType"><span class="type">GTypelibBlobType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="CommonBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>Whether the blob is deprecated.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether the blob is deprecated.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="CommonBlob.reserved"></a>reserved</code></em> :15;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="CommonBlob.name"></a>name</code></em>;</span></p></td>
-<td>The name of the blob.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CommonBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the blob.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="FunctionBlob"></a><h3>FunctionBlob</h3>
@@ -939,85 +1454,100 @@ TODO
guint16 reserved2 : 16;
} FunctionBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="FunctionBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td><a class="link" href="gi-GITypelib.html#BLOB-TYPE-FUNCTION:CAPS"><span class="type">BLOB_TYPE_FUNCTION</span></a></td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p><a class="link" href="gi-GITypelib.html#BLOB-TYPE-FUNCTION:CAPS"><span class="type">BLOB_TYPE_FUNCTION</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>The function is deprecated.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is deprecated.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.setter"></a>setter</code></em> : 1;</span></p></td>
-<td>The function is a setter for a property. Language bindings may
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.setter"></a>setter</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is a setter for a property. Language bindings may
prefer to not bind individual setters and rely on the generic
-<code class="function">g_object_set()</code>.</td>
+<a href="../gobject/gobject-The-Base-Object-Type.html#g-object-set"><code class="function">g_object_set()</code></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.getter"></a>getter</code></em> : 1;</span></p></td>
-<td>The function is a getter for a property. Language bindings may
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.getter"></a>getter</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is a getter for a property. Language bindings may
prefer to not bind individual getters and rely on the generic
-<code class="function">g_object_get()</code>.</td>
+<a href="../gobject/gobject-The-Base-Object-Type.html#g-object-get"><code class="function">g_object_get()</code></a>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.constructor"></a>constructor</code></em> : 1;</span></p></td>
-<td>The function acts as a constructor for the object it is
-contained in.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.constructor"></a>constructor</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function acts as a constructor for the object it is
+contained in.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.wraps-vfunc"></a>wraps_vfunc</code></em> : 1;</span></p></td>
-<td>The function is a simple wrapper for a virtual function.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.wraps-vfunc"></a>wraps_vfunc</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is a simple wrapper for a virtual function.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.throws"></a>throws</code></em> : 1;</span></p></td>
-<td>This is now additionally stored in the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a>. <span class="annotation">[deprecated]</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.throws"></a>throws</code></em> : 1;</p></td>
+<td class="struct_member_description"><p> This is now additionally stored in the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[deprecated]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.index"></a>index</code></em> :10;</span></p></td>
-<td>Index of the property that this function is a setter or getter of
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.index"></a>index</code></em> :10;</p></td>
+<td class="struct_member_description"><p>Index of the property that this function is a setter or getter of
in the array of properties of the containing interface, or index
-of the virtual function that this function wraps.</td>
+of the virtual function that this function wraps.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="FunctionBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="FunctionBlob.symbol"></a>symbol</code></em>;</span></p></td>
-<td>The symbol which can be used to obtain the function pointer with
-<code class="function">dlsym()</code>.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.symbol"></a>symbol</code></em>;</p></td>
+<td class="struct_member_description"><p>The symbol which can be used to obtain the function pointer with
+<code class="function">dlsym()</code>.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="FunctionBlob.signature"></a>signature</code></em>;</span></p></td>
-<td>Offset of the SignatureBlob describing the parameter types and the
-return value type.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.signature"></a>signature</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types and the
+return value type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.is-static"></a>is_static</code></em> : 1;</span></p></td>
-<td>The function is a "static method"; in other words it's a pure
-function whose name is conceptually scoped to the object.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.is-static"></a>is_static</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The function is a "static method"; in other words it's a pure
+function whose name is conceptually scoped to the object.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.reserved"></a>reserved</code></em> : 15;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.reserved"></a>reserved</code></em> : 15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FunctionBlob.reserved2"></a>reserved2</code></em> : 16;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.reserved2"></a>reserved2</code></em> : 16;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="CallbackBlob"></a><h3>CallbackBlob</h3>
@@ -1030,39 +1560,46 @@ function whose name is conceptually scoped to the object.</td>
guint32 signature;
} CallbackBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="CallbackBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="CallbackBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="CallbackBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="CallbackBlob.reserved"></a>reserved</code></em> :15;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="CallbackBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CallbackBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="CallbackBlob.signature"></a>signature</code></em>;</span></p></td>
-<td>Offset of the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a> describing the parameter types and
-the return value type.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CallbackBlob.signature"></a>signature</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a> describing the parameter types and
+the return value type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="InterfaceTypeBlob"></a><h3>InterfaceTypeBlob</h3>
@@ -1074,67 +1611,72 @@ the return value type.</td>
guint16 interface;
} InterfaceTypeBlob;
</pre>
-<p>
-If the interface is an enum of flags type, is_pointer is 0, otherwise it is 1.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>If the interface is an enum of flags type, is_pointer is 0, otherwise it is 1.</p>
+<div class="refsect3">
+<a name="InterfaceTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="InterfaceTypeBlob.pointer"></a>pointer</code></em> :1;</span></p></td>
-<td>Whether this type represents an indirection</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
+<td class="struct_member_description"><p>Whether this type represents an indirection</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved"></a>reserved</code></em> :2;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="InterfaceTypeBlob.tag"></a>tag</code></em> :5;</span></p></td>
-<td>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.tag"></a>tag</code></em> :5;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceTypeBlob.interface"></a>interface</code></em>;</span></p></td>
-<td>Index of the directory entry for the interface.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.interface"></a>interface</code></em>;</p></td>
+<td class="struct_member_description"><p>Index of the directory entry for the interface.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="ArrayTypeDimension"></a><h3>ArrayTypeDimension</h3>
-<pre class="programlisting">typedef union {
- guint16 length;
- guint16 size;
-} ArrayTypeDimension;
-</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="ArrayTypeDimension.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="union_members_name">
+<col class="union_members_description">
+<col width="200px" class="union_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeDimension.length"></a>length</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeDimension.length"></a>length</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeDimension.size"></a>size</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeDimension.size"></a>size</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="ArrayTypeBlob"></a><h3>ArrayTypeBlob</h3>
@@ -1154,63 +1696,75 @@ TODO
SimpleTypeBlob type;
} ArrayTypeBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="ArrayTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeBlob.pointer"></a>pointer</code></em> :1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeBlob.reserved"></a>reserved</code></em> :2;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeBlob.tag"></a>tag</code></em> :5;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.tag"></a>tag</code></em> :5;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeBlob.zero-terminated"></a>zero_terminated</code></em> :1;</span></p></td>
-<td>Indicates that the array must be terminated by a suitable
-<span class="type">NULL</span> value.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.zero-terminated"></a>zero_terminated</code></em> :1;</p></td>
+<td class="struct_member_description"><p>Indicates that the array must be terminated by a suitable
+<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> value.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeBlob.has-length"></a>has_length</code></em> :1;</span></p></td>
-<td>Indicates that length points to a parameter specifying the
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.has-length"></a>has_length</code></em> :1;</p></td>
+<td class="struct_member_description"><p>Indicates that length points to a parameter specifying the
length of the array. If both has_length and zero_terminated are set, the
-convention is to pass -1 for the length if the array is zero-terminated.</td>
+convention is to pass -1 for the length if the array is zero-terminated.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeBlob.has-size"></a>has_size</code></em> :1;</span></p></td>
-<td>Indicates that size is the fixed size of the array.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.has-size"></a>has_size</code></em> :1;</p></td>
+<td class="struct_member_description"><p>Indicates that size is the fixed size of the array.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeBlob.array-type"></a>array_type</code></em> :2;</span></p></td>
-<td>Indicates whether this is a C array, GArray, GPtrArray, or
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.array-type"></a>array_type</code></em> :2;</p></td>
+<td class="struct_member_description"><p>Indicates whether this is a C array, GArray, GPtrArray, or
GByteArray. If something other than a C array, the length and element
-size are implicit in the structure.</td>
+size are implicit in the structure.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ArrayTypeBlob.reserved2"></a>reserved2</code></em> :3;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.reserved2"></a>reserved2</code></em> :3;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#ArrayTypeDimension" title="ArrayTypeDimension"><span class="type">ArrayTypeDimension</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.dimensions"></a>dimensions</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#ArrayTypeDimension" title="ArrayTypeDimension"><span class="type">ArrayTypeDimension</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.dimensions"></a>dimensions</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.type"></a>type</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="ParamTypeBlob"></a><h3>ParamTypeBlob</h3>
@@ -1225,42 +1779,50 @@ size are implicit in the structure.</td>
SimpleTypeBlob type[];
} ParamTypeBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="ParamTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="ParamTypeBlob.pointer"></a>pointer</code></em> :1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="ParamTypeBlob.reserved"></a>reserved</code></em> :2;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="ParamTypeBlob.tag"></a>tag</code></em> :5;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.tag"></a>tag</code></em> :5;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="ParamTypeBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ParamTypeBlob.n-types"></a>n_types</code></em>;</span></p></td>
-<td>The number of parameter types to follow.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ParamTypeBlob.n-types"></a>n_types</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of parameter types to follow.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ParamTypeBlob.type"></a>type</code></em>[];</span></p></td>
-<td>Describes the type of the list elements.</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ParamTypeBlob.type"></a>type</code></em>[];</p></td>
+<td class="struct_member_description"><p>Describes the type of the list elements.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="ErrorTypeBlob"></a><h3>ErrorTypeBlob</h3>
@@ -1275,42 +1837,50 @@ TODO
guint16 domains[];
} ErrorTypeBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="ErrorTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="ErrorTypeBlob.pointer"></a>pointer</code></em> :1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.pointer"></a>pointer</code></em> :1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="ErrorTypeBlob.reserved"></a>reserved</code></em> :2;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.reserved"></a>reserved</code></em> :2;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="ErrorTypeBlob.tag"></a>tag</code></em> :5;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.tag"></a>tag</code></em> :5;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="ErrorTypeBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ErrorTypeBlob.n-domains"></a>n_domains</code></em>;</span></p></td>
-<td>TODO: must be 0</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.n-domains"></a>n_domains</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO: must be 0</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ErrorTypeBlob.domains"></a>domains</code></em>[];</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.domains"></a>domains</code></em>[];</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="ValueBlob"></a><h3>ValueBlob</h3>
@@ -1322,38 +1892,45 @@ TODO
gint32 value;
} ValueBlob;
</pre>
-<p>
-Values commonly occur in enums and flags.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Values commonly occur in enums and flags.</p>
+<div class="refsect3">
+<a name="ValueBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ValueBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>Whether this value is deprecated</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether this value is deprecated</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ValueBlob.unsigned-value"></a>unsigned_value</code></em> : 1;</span></p></td>
-<td>if set, value is a 32-bit unsigned integer cast to gint32</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.unsigned-value"></a>unsigned_value</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>if set, value is a 32-bit unsigned integer cast to gint32</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ValueBlob.reserved"></a>reserved</code></em> :30;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.reserved"></a>reserved</code></em> :30;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ValueBlob.name"></a>name</code></em>;</span></p></td>
-<td>Name of blob</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>Name of blob</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint32</span> <em class="structfield"><code><a name="ValueBlob.value"></a>value</code></em>;</span></p></td>
-<td>The numerical value</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="ValueBlob.value"></a>value</code></em>;</p></td>
+<td class="struct_member_description"><p>The numerical value</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="FieldBlob"></a><h3>FieldBlob</h3>
@@ -1373,56 +1950,67 @@ Values commonly occur in enums and flags.
SimpleTypeBlob type;
} FieldBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="FieldBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="FieldBlob.name"></a>name</code></em>;</span></p></td>
-<td>The name of the field.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FieldBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the field.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="FieldBlob.readable"></a>readable</code></em> :1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.readable"></a>readable</code></em> :1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="FieldBlob.writable"></a>writable</code></em> :1;</span></p></td>
-<td>How the field may be accessed.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.writable"></a>writable</code></em> :1;</p></td>
+<td class="struct_member_description"><p>How the field may be accessed.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="FieldBlob.has-embedded-type"></a>has_embedded_type</code></em> :1;</span></p></td>
-<td>An anonymous type follows the FieldBlob.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.has-embedded-type"></a>has_embedded_type</code></em> :1;</p></td>
+<td class="struct_member_description"><p>An anonymous type follows the FieldBlob.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="FieldBlob.reserved"></a>reserved</code></em> :5;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.reserved"></a>reserved</code></em> :5;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="FieldBlob.bits"></a>bits</code></em>;</span></p></td>
-<td>If this field is part of a bitfield, the number of bits which it
-uses, otherwise 0.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.bits"></a>bits</code></em>;</p></td>
+<td class="struct_member_description"><p>If this field is part of a bitfield, the number of bits which it
+uses, otherwise 0.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FieldBlob.struct-offset"></a>struct_offset</code></em>;</span></p></td>
-<td>The offset of the field in the struct. The value 0xFFFF
-indicates that the struct offset is unknown.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FieldBlob.struct-offset"></a>struct_offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the field in the struct. The value 0xFFFF
+indicates that the struct offset is unknown.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="FieldBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FieldBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="FieldBlob.type"></a>type</code></em>;</span></p></td>
-<td>The type of the field.</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="FieldBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>The type of the field.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="RegisteredTypeBlob"></a><h3>RegisteredTypeBlob</h3>
@@ -1437,47 +2025,56 @@ indicates that the struct offset is unknown.</td>
guint32 gtype_init;
} RegisteredTypeBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="RegisteredTypeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="RegisteredTypeBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="RegisteredTypeBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="RegisteredTypeBlob.unregistered"></a>unregistered</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="RegisteredTypeBlob.reserved"></a>reserved</code></em> :14;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.reserved"></a>reserved</code></em> :14;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="RegisteredTypeBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="RegisteredTypeBlob.gtype-name"></a>gtype_name</code></em>;</span></p></td>
-<td>The name under which the type is registered with GType.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name under which the type is registered with GType.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="RegisteredTypeBlob.gtype-init"></a>gtype_init</code></em>;</span></p></td>
-<td>The symbol name of the get_type() function which registers the
-type.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>The symbol name of the get_type() function which registers the
+type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="StructBlob"></a><h3>StructBlob</h3>
@@ -1505,82 +2102,97 @@ type.</td>
guint32 reserved3;
} StructBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="StructBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td><a class="link" href="gi-GITypelib.html#BLOB-TYPE-STRUCT:CAPS"><span class="type">BLOB_TYPE_STRUCT</span></a></td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p><a class="link" href="gi-GITypelib.html#BLOB-TYPE-STRUCT:CAPS"><span class="type">BLOB_TYPE_STRUCT</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>Whether this structure is deprecated</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether this structure is deprecated</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.unregistered"></a>unregistered</code></em> : 1;</span></p></td>
-<td>If this is set, the type is not registered with GType.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.is-gtype-struct"></a>is_gtype_struct</code></em> : 1;</span></p></td>
-<td>Whether this structure is the class or interface layout
-for a GObject</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.is-gtype-struct"></a>is_gtype_struct</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether this structure is the class or interface layout
+for a GObject</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.alignment"></a>alignment</code></em> : 6;</span></p></td>
-<td>The byte boundary that the struct is aligned to in memory</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.alignment"></a>alignment</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>The byte boundary that the struct is aligned to in memory</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.foreign"></a>foreign</code></em> : 1;</span></p></td>
-<td>If the type is foreign, eg if it's expected to be overridden by
-a native language binding instead of relying of introspected bindings.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.foreign"></a>foreign</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If the type is foreign, eg if it's expected to be overridden by
+a native language binding instead of relying of introspected bindings.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.reserved"></a>reserved</code></em> : 6;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.reserved"></a>reserved</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="StructBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="StructBlob.gtype-name"></a>gtype_name</code></em>;</span></p></td>
-<td>String name of the associated <span class="type">GType</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>String name of the associated <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="StructBlob.gtype-init"></a>gtype_init</code></em>;</span></p></td>
-<td>String naming the symbol which gets the runtime <span class="type">GType</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="StructBlob.size"></a>size</code></em>;</span></p></td>
-<td>The size of the struct in bytes.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size of the struct in bytes.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.n-fields"></a>n_fields</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.n-fields"></a>n_fields</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="StructBlob.n-methods"></a>n_methods</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.n-methods"></a>n_methods</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="StructBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="StructBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="UnionBlob"></a><h3>UnionBlob</h3>
@@ -1608,86 +2220,102 @@ a native language binding instead of relying of introspected bindings.</td>
SimpleTypeBlob discriminator_type;
} UnionBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="UnionBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="UnionBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="UnionBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="UnionBlob.unregistered"></a>unregistered</code></em> : 1;</span></p></td>
-<td>If this is set, the type is not registered with GType.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="UnionBlob.discriminated"></a>discriminated</code></em> : 1;</span></p></td>
-<td>Is set if the union is discriminated</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.discriminated"></a>discriminated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Is set if the union is discriminated</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="UnionBlob.alignment"></a>alignment</code></em> : 6;</span></p></td>
-<td>The byte boundary that the union is aligned to in memory</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.alignment"></a>alignment</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>The byte boundary that the union is aligned to in memory</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="UnionBlob.reserved"></a>reserved</code></em> : 7;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.reserved"></a>reserved</code></em> : 7;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="UnionBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="UnionBlob.gtype-name"></a>gtype_name</code></em>;</span></p></td>
-<td>String name of the associated <span class="type">GType</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>String name of the associated <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="UnionBlob.gtype-init"></a>gtype_init</code></em>;</span></p></td>
-<td>String naming the symbol which gets the runtime <span class="type">GType</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="UnionBlob.size"></a>size</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="UnionBlob.n-fields"></a>n_fields</code></em>;</span></p></td>
-<td>Length of the arrays</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.n-fields"></a>n_fields</code></em>;</p></td>
+<td class="struct_member_description"><p>Length of the arrays</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="UnionBlob.n-functions"></a>n_functions</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.n-functions"></a>n_functions</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="UnionBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="UnionBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint32</span> <em class="structfield"><code><a name="UnionBlob.discriminator-offset"></a>discriminator_offset</code></em>;</span></p></td>
-<td>Offset from the beginning of the union where the
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-offset"></a>discriminator_offset</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset from the beginning of the union where the
discriminator of a discriminated union is located. The value 0xFFFF
-indicates that the discriminator offset is unknown.</td>
+indicates that the discriminator offset is unknown.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-type"></a>discriminator_type</code></em>;</span></p></td>
-<td>Type of the discriminator</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="UnionBlob.discriminator-type"></a>discriminator_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Type of the discriminator</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="EnumBlob"></a><h3>EnumBlob</h3>
@@ -1712,69 +2340,81 @@ indicates that the discriminator offset is unknown.</td>
ValueBlob values[];
} EnumBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="EnumBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="EnumBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="EnumBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="EnumBlob.unregistered"></a>unregistered</code></em> : 1;</span></p></td>
-<td>If this is set, the type is not registered with GType.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.unregistered"></a>unregistered</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If this is set, the type is not registered with GType.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="EnumBlob.storage-type"></a>storage_type</code></em> : 5;</span></p></td>
-<td>The tag of the type used for the enum in the C ABI
-(will be a signed or unsigned integral type)</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.storage-type"></a>storage_type</code></em> : 5;</p></td>
+<td class="struct_member_description"><p>The tag of the type used for the enum in the C ABI
+(will be a signed or unsigned integral type)</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="EnumBlob.reserved"></a>reserved</code></em> : 9;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.reserved"></a>reserved</code></em> : 9;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="EnumBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="EnumBlob.gtype-name"></a>gtype_name</code></em>;</span></p></td>
-<td>String name of the associated <span class="type">GType</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>String name of the associated <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="EnumBlob.gtype-init"></a>gtype_init</code></em>;</span></p></td>
-<td>String naming the symbol which gets the runtime <span class="type">GType</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="EnumBlob.n-values"></a>n_values</code></em>;</span></p></td>
-<td>The length of the values array.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.n-values"></a>n_values</code></em>;</p></td>
+<td class="struct_member_description"><p>The length of the values array.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="EnumBlob.n-methods"></a>n_methods</code></em>;</span></p></td>
-<td>The length of the methods array.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.n-methods"></a>n_methods</code></em>;</p></td>
+<td class="struct_member_description"><p>The length of the methods array.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="EnumBlob.error-domain"></a>error_domain</code></em>;</span></p></td>
-<td>String naming the <span class="type">GError</span> domain this enum is associated with</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.error-domain"></a>error_domain</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> domain this enum is associated with</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#ValueBlob" title="ValueBlob"><span class="type">ValueBlob</span></a> <em class="structfield"><code><a name="EnumBlob.values"></a>values</code></em>[];</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#ValueBlob" title="ValueBlob"><span class="type">ValueBlob</span></a> <em class="structfield"><code><a name="EnumBlob.values"></a>values</code></em>[];</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="PropertyBlob"></a><h3>PropertyBlob</h3>
@@ -1795,67 +2435,80 @@ TODO
SimpleTypeBlob type;
} PropertyBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="PropertyBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.name"></a>name</code></em>;</span></p></td>
-<td>The name of the property.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the property.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.readable"></a>readable</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.readable"></a>readable</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.writable"></a>writable</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.writable"></a>writable</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.construct"></a>construct</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.construct"></a>construct</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.construct-only"></a>construct_only</code></em> : 1;</span></p></td>
-<td>The ParamFlags used when registering the property.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.construct-only"></a>construct_only</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The ParamFlags used when registering the property.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.transfer-ownership"></a>transfer_ownership</code></em> : 1;</span></p></td>
-<td>When writing, the type containing the property takes
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.transfer-ownership"></a>transfer_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>When writing, the type containing the property takes
ownership of the value. When reading, the returned value needs to be
-released by the caller.</td>
+released by the caller.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.transfer-container-ownership"></a>transfer_container_ownership</code></em> : 1;</span></p></td>
-<td>For container types indicates that the
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.transfer-container-ownership"></a>transfer_container_ownership</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>For container types indicates that the
ownership of the container, but not of its contents, is transferred.
This is typically the case when reading lists of statically allocated
-things.</td>
+things.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.reserved"></a>reserved</code></em> :25;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.reserved"></a>reserved</code></em> :25;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="PropertyBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="PropertyBlob.type"></a>type</code></em>;</span></p></td>
-<td>Describes the type of the property.</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="PropertyBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>Describes the type of the property.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="SignalBlob"></a><h3>SignalBlob</h3>
@@ -1881,80 +2534,97 @@ things.</td>
guint32 signature;
} SignalBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="SignalBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.run-first"></a>run_first</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-first"></a>run_first</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.run-last"></a>run_last</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-last"></a>run_last</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.run-cleanup"></a>run_cleanup</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.run-cleanup"></a>run_cleanup</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.no-recurse"></a>no_recurse</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.no-recurse"></a>no_recurse</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.detailed"></a>detailed</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.detailed"></a>detailed</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.action"></a>action</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.action"></a>action</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.no-hooks"></a>no_hooks</code></em> : 1;</span></p></td>
-<td>The flags used when registering the signal.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.no-hooks"></a>no_hooks</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>The flags used when registering the signal.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.has-class-closure"></a>has_class_closure</code></em> : 1;</span></p></td>
-<td>Set if the signal has a class closure.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.has-class-closure"></a>has_class_closure</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Set if the signal has a class closure.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.true-stops-emit"></a>true_stops_emit</code></em> : 1;</span></p></td>
-<td>Whether the signal has true-stops-emit semantics</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.true-stops-emit"></a>true_stops_emit</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Whether the signal has true-stops-emit semantics</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.reserved"></a>reserved</code></em> : 6;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.reserved"></a>reserved</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignalBlob.class-closure"></a>class_closure</code></em>;</span></p></td>
-<td>The index of the class closure in the list of virtual
-functions of the object or interface on which the signal is defined.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.class-closure"></a>class_closure</code></em>;</p></td>
+<td class="struct_member_description"><p>The index of the class closure in the list of virtual
+functions of the object or interface on which the signal is defined.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="SignalBlob.name"></a>name</code></em>;</span></p></td>
-<td>The name of the signal.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the signal.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="SignalBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="SignalBlob.signature"></a>signature</code></em>;</span></p></td>
-<td>Offset of the SignatureBlob describing the parameter types
-and the return value type.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.signature"></a>signature</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types
+and the return value type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="VFuncBlob"></a><h3>VFuncBlob</h3>
@@ -1977,80 +2647,94 @@ and the return value type.</td>
guint32 signature;
} VFuncBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="VFuncBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="VFuncBlob.name"></a>name</code></em>;</span></p></td>
-<td>The name of the virtual function.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the virtual function.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.must-chain-up"></a>must_chain_up</code></em> : 1;</span></p></td>
-<td>If set, every implementation of this virtual function must
-chain up to the implementation of the parent class.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-chain-up"></a>must_chain_up</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If set, every implementation of this virtual function must
+chain up to the implementation of the parent class.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.must-be-implemented"></a>must_be_implemented</code></em> : 1;</span></p></td>
-<td>If set, every derived class must override this virtual
-function.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-be-implemented"></a>must_be_implemented</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If set, every derived class must override this virtual
+function.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.must-not-be-implemented"></a>must_not_be_implemented</code></em> : 1;</span></p></td>
-<td>If set, derived class must not override this
-virtual function.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.must-not-be-implemented"></a>must_not_be_implemented</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>If set, derived class must not override this
+virtual function.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.class-closure"></a>class_closure</code></em> : 1;</span></p></td>
-<td>Set if this virtual function is the class closure of a
-signal.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.class-closure"></a>class_closure</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>Set if this virtual function is the class closure of a
+signal.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.throws"></a>throws</code></em> : 1;</span></p></td>
-<td>This is now additionally stored in the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a>. <span class="annotation">[deprecated]</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.throws"></a>throws</code></em> : 1;</p></td>
+<td class="struct_member_description"><p> This is now additionally stored in the <a class="link" href="gi-GITypelib.html#SignatureBlob" title="SignatureBlob"><span class="type">SignatureBlob</span></a>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[deprecated]</span></td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.reserved"></a>reserved</code></em> :11;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved"></a>reserved</code></em> :11;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.signal"></a>signal</code></em>;</span></p></td>
-<td>The index of the signal in the list of signals of the object or
-interface to which this virtual function belongs.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.signal"></a>signal</code></em>;</p></td>
+<td class="struct_member_description"><p>The index of the signal in the list of signals of the object or
+interface to which this virtual function belongs.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.struct-offset"></a>struct_offset</code></em>;</span></p></td>
-<td>The offset of the function pointer in the class struct.
-The value 0xFFFF indicates that the struct offset is unknown.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.struct-offset"></a>struct_offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the function pointer in the class struct.
+The value 0xFFFF indicates that the struct offset is unknown.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.invoker"></a>invoker</code></em> : 10;</span></p></td>
-<td>If a method invoker for this virtual exists, this is the offset
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.invoker"></a>invoker</code></em> : 10;</p></td>
+<td class="struct_member_description"><p>If a method invoker for this virtual exists, this is the offset
in the class structure of the method. If no method is known, this value
-will be 0x3ff.</td>
+will be 0x3ff.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="VFuncBlob.reserved2"></a>reserved2</code></em> : 6;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved2"></a>reserved2</code></em> : 6;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="VFuncBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="VFuncBlob.signature"></a>signature</code></em>;</span></p></td>
-<td>Offset of the SignatureBlob describing the parameter types and
-the return value type.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.signature"></a>signature</code></em>;</p></td>
+<td class="struct_member_description"><p>Offset of the SignatureBlob describing the parameter types and
+the return value type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="ObjectBlob"></a><h3>ObjectBlob</h3>
@@ -2088,130 +2772,155 @@ the return value type.</td>
guint16 interfaces[];
} ObjectBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="ObjectBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td><a class="link" href="gi-GITypelib.html#BLOB-TYPE-OBJECT:CAPS"><span class="type">BLOB_TYPE_OBJECT</span></a></td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p><a class="link" href="gi-GITypelib.html#BLOB-TYPE-OBJECT:CAPS"><span class="type">BLOB_TYPE_OBJECT</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.abstract"></a>abstract</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.abstract"></a>abstract</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.fundamental"></a>fundamental</code></em> : 1;</span></p></td>
-<td>this object is not a GObject derived type, instead it's
-an additional fundamental type.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.fundamental"></a>fundamental</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>this object is not a GObject derived type, instead it's
+an additional fundamental type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.reserved"></a>reserved</code></em> :13;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved"></a>reserved</code></em> :13;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.gtype-name"></a>gtype_name</code></em>;</span></p></td>
-<td>String name of the associated <span class="type">GType</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>String name of the associated <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.gtype-init"></a>gtype_init</code></em>;</span></p></td>
-<td>String naming the symbol which gets the runtime <span class="type">GType</span>
-</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>String naming the symbol which gets the runtime <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.parent"></a>parent</code></em>;</span></p></td>
-<td>The directory index of the parent type. This is only set for
-objects. If an object does not have a parent, it is zero.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.parent"></a>parent</code></em>;</p></td>
+<td class="struct_member_description"><p>The directory index of the parent type. This is only set for
+objects. If an object does not have a parent, it is zero.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.gtype-struct"></a>gtype_struct</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.gtype-struct"></a>gtype_struct</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.n-interfaces"></a>n_interfaces</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-interfaces"></a>n_interfaces</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.n-fields"></a>n_fields</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-fields"></a>n_fields</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.n-properties"></a>n_properties</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-properties"></a>n_properties</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.n-methods"></a>n_methods</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-methods"></a>n_methods</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.n-signals"></a>n_signals</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-signals"></a>n_signals</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.n-vfuncs"></a>n_vfuncs</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-vfuncs"></a>n_vfuncs</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.n-constants"></a>n_constants</code></em>;</span></p></td>
-<td>The lengths of the arrays.Up to 16bits of padding may be
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-constants"></a>n_constants</code></em>;</p></td>
+<td class="struct_member_description"><p>The lengths of the arrays.Up to 16bits of padding may be
inserted between the arrays to ensure that they start on a 32bit
-boundary.</td>
+boundary.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.n-field-callbacks"></a>n_field_callbacks</code></em>;</span></p></td>
-<td>The number of n_fields which are also callbacks.
-This is used to calculate the fields section size in constant time.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.n-field-callbacks"></a>n_field_callbacks</code></em>;</p></td>
+<td class="struct_member_description"><p>The number of n_fields which are also callbacks.
+This is used to calculate the fields section size in constant time.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.ref-func"></a>ref_func</code></em>;</span></p></td>
-<td>String pointing to a function which can be called to increase
-the reference count for an instance of this object type.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.ref-func"></a>ref_func</code></em>;</p></td>
+<td class="struct_member_description"><p>String pointing to a function which can be called to increase
+the reference count for an instance of this object type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.unref-func"></a>unref_func</code></em>;</span></p></td>
-<td>String pointing to a function which can be called to decrease
-the reference count for an instance of this object type.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.unref-func"></a>unref_func</code></em>;</p></td>
+<td class="struct_member_description"><p>String pointing to a function which can be called to decrease
+the reference count for an instance of this object type.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.set-value-func"></a>set_value_func</code></em>;</span></p></td>
-<td>String pointing to a function which can be called to
-convert a pointer of this object to a GValue</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.set-value-func"></a>set_value_func</code></em>;</p></td>
+<td class="struct_member_description"><p>String pointing to a function which can be called to
+convert a pointer of this object to a GValue</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.get-value-func"></a>get_value_func</code></em>;</span></p></td>
-<td>String pointing to a function which can be called to
-convert extract a pointer to this object from a GValue</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.get-value-func"></a>get_value_func</code></em>;</p></td>
+<td class="struct_member_description"><p>String pointing to a function which can be called to
+convert extract a pointer to this object from a GValue</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ObjectBlob.reserved4"></a>reserved4</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved4"></a>reserved4</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.interfaces"></a>interfaces</code></em>[];</span></p></td>
-<td>An array of indices of directory entries for the implemented
-interfaces.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.interfaces"></a>interfaces</code></em>[];</p></td>
+<td class="struct_member_description"><p>An array of indices of directory entries for the implemented
+interfaces.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="InterfaceBlob"></a><h3>InterfaceBlob</h3>
@@ -2240,89 +2949,108 @@ interfaces.</td>
guint16 prerequisites[];
} InterfaceBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="InterfaceBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.reserved"></a>reserved</code></em> :15;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="InterfaceBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="InterfaceBlob.gtype-name"></a>gtype_name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-name"></a>gtype_name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="InterfaceBlob.gtype-init"></a>gtype_init</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-init"></a>gtype_init</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.gtype-struct"></a>gtype_struct</code></em>;</span></p></td>
-<td>Name of the interface "class" C structure</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.gtype-struct"></a>gtype_struct</code></em>;</p></td>
+<td class="struct_member_description"><p>Name of the interface "class" C structure</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.n-prerequisites"></a>n_prerequisites</code></em>;</span></p></td>
-<td>Number of prerequisites</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-prerequisites"></a>n_prerequisites</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of prerequisites</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.n-properties"></a>n_properties</code></em>;</span></p></td>
-<td>Number of properties</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-properties"></a>n_properties</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of properties</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.n-methods"></a>n_methods</code></em>;</span></p></td>
-<td>Number of methods</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-methods"></a>n_methods</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of methods</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.n-signals"></a>n_signals</code></em>;</span></p></td>
-<td>Number of signals</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-signals"></a>n_signals</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of signals</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.n-vfuncs"></a>n_vfuncs</code></em>;</span></p></td>
-<td>Number of virtual functions</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-vfuncs"></a>n_vfuncs</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of virtual functions</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.n-constants"></a>n_constants</code></em>;</span></p></td>
-<td>The lengths of the arrays. Up to 16bits of padding may be
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.n-constants"></a>n_constants</code></em>;</p></td>
+<td class="struct_member_description"><p>The lengths of the arrays. Up to 16bits of padding may be
inserted between the arrays to ensure that they start on a 32bit
-boundary.</td>
+boundary.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.padding"></a>padding</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.padding"></a>padding</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="InterfaceBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="InterfaceBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved3"></a>reserved3</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="InterfaceBlob.prerequisites"></a>prerequisites</code></em>[];</span></p></td>
-<td>An array of indices of directory entries for required
-interfaces.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.prerequisites"></a>prerequisites</code></em>[];</p></td>
+<td class="struct_member_description"><p>An array of indices of directory entries for required
+interfaces.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="ConstantBlob"></a><h3>ConstantBlob</h3>
@@ -2340,51 +3068,61 @@ interfaces.</td>
guint32 reserved2;
} ConstantBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="ConstantBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ConstantBlob.blob-type"></a>blob_type</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.blob-type"></a>blob_type</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ConstantBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.deprecated"></a>deprecated</code></em> : 1;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ConstantBlob.reserved"></a>reserved</code></em> :15;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.reserved"></a>reserved</code></em> :15;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ConstantBlob.name"></a>name</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>TODO</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="union SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ConstantBlob.type"></a>type</code></em>;</span></p></td>
-<td>The type of the value. In most cases this should be a numeric type
-or string.</td>
+<td class="struct_member_name"><p><a class="link" href="gi-GITypelib.html#SimpleTypeBlob" title="SimpleTypeBlob"><span class="type">SimpleTypeBlob</span></a> <em class="structfield"><code><a name="ConstantBlob.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>The type of the value. In most cases this should be a numeric type
+or string.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ConstantBlob.size"></a>size</code></em>;</span></p></td>
-<td>The size of the value in bytes.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size of the value in bytes.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ConstantBlob.offset"></a>offset</code></em>;</span></p></td>
-<td>The offset of the value in the typelib.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the value in the typelib.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="ConstantBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
-<td>Reserved for future use.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.reserved2"></a>reserved2</code></em>;</p></td>
+<td class="struct_member_description"><p>Reserved for future use.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="AttributeBlob"></a><h3>AttributeBlob</h3>
@@ -2394,331 +3132,105 @@ or string.</td>
guint32 value;
} AttributeBlob;
</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>TODO</p>
+<div class="refsect3">
+<a name="AttributeBlob.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="AttributeBlob.offset"></a>offset</code></em>;</span></p></td>
-<td>The offset of the typelib entry to which this attribute refers.
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the typelib entry to which this attribute refers.
Attributes are kept sorted by offset, so that the attributes of an
-entry can be found by a binary search.</td>
+entry can be found by a binary search.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="AttributeBlob.name"></a>name</code></em>;</span></p></td>
-<td>The name of the attribute, a string.</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>The name of the attribute, a string.</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="AttributeBlob.value"></a>value</code></em>;</span></p></td>
-<td>The value of the attribute (also a string)</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.value"></a>value</code></em>;</p></td>
+<td class="struct_member_description"><p>The value of the attribute (also a string)</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-get-dir-entry"></a><h3>g_typelib_get_dir_entry ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> * g_typelib_get_dir_entry (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><span class="type">guint16</span> index</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-get-dir-entry-by-name"></a><h3>g_typelib_get_dir_entry_by_name ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> * g_typelib_get_dir_entry_by_name (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-get-dir-entry-by-gtype-name"></a><h3>g_typelib_get_dir_entry_by_gtype_name ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> * g_typelib_get_dir_entry_by_gtype_name
- (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *gtype_name</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>gtype_name</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-get-dir-entry-by-error-domain"></a><h3>g_typelib_get_dir_entry_by_error_domain ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypelib.html#DirEntry" title="DirEntry"><span class="returnvalue">DirEntry</span></a> * g_typelib_get_dir_entry_by_error_domain
- (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><span class="type">GQuark</span> error_domain</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>error_domain</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-matches-gtype-name-prefix"></a><h3>g_typelib_matches_gtype_name_prefix ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_typelib_matches_gtype_name_prefix (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *gtype_name</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>gtype_name</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-check-sanity"></a><h3>g_typelib_check_sanity ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_typelib_check_sanity (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-TODO
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-get-string"></a><h3>g_typelib_get_string()</h3>
-<pre class="programlisting">#define g_typelib_get_string(typelib,offset)</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
-</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GITypelibError"></a><h3>enum GITypelibError</h3>
-<pre class="programlisting">typedef enum {
- G_TYPELIB_ERROR_INVALID,
- G_TYPELIB_ERROR_INVALID_HEADER,
- G_TYPELIB_ERROR_INVALID_DIRECTORY,
- G_TYPELIB_ERROR_INVALID_ENTRY,
- G_TYPELIB_ERROR_INVALID_BLOB
-} GITypelibError;
-</pre>
-<p>
-A error set while validating the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>A error set while validating the <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
+<div class="refsect3">
+<a name="GITypelibError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="G-TYPELIB-ERROR-INVALID:CAPS"></a><span class="term"><code class="literal">G_TYPELIB_ERROR_INVALID</code></span></p></td>
-<td>the typelib is invalid
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID:CAPS"></a>G_TYPELIB_ERROR_INVALID</p></td>
+<td class="enum_member_description">
+<p>the typelib is invalid</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-TYPELIB-ERROR-INVALID-HEADER:CAPS"></a><span class="term"><code class="literal">G_TYPELIB_ERROR_INVALID_HEADER</code></span></p></td>
-<td>the typelib header is invalid
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-HEADER:CAPS"></a>G_TYPELIB_ERROR_INVALID_HEADER</p></td>
+<td class="enum_member_description">
+<p>the typelib header is invalid</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS"></a><span class="term"><code class="literal">G_TYPELIB_ERROR_INVALID_DIRECTORY</code></span></p></td>
-<td>the typelib directory is invalid
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS"></a>G_TYPELIB_ERROR_INVALID_DIRECTORY</p></td>
+<td class="enum_member_description">
+<p>the typelib directory is invalid</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-TYPELIB-ERROR-INVALID-ENTRY:CAPS"></a><span class="term"><code class="literal">G_TYPELIB_ERROR_INVALID_ENTRY</code></span></p></td>
-<td>a typelib entry is invalid
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-ENTRY:CAPS"></a>G_TYPELIB_ERROR_INVALID_ENTRY</p></td>
+<td class="enum_member_description">
+<p>a typelib entry is invalid</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="G-TYPELIB-ERROR-INVALID-BLOB:CAPS"></a><span class="term"><code class="literal">G_TYPELIB_ERROR_INVALID_BLOB</code></span></p></td>
-<td>a typelib blob is invalid
+<td class="enum_member_name"><p><a name="G-TYPELIB-ERROR-INVALID-BLOB:CAPS"></a>G_TYPELIB_ERROR_INVALID_BLOB</p></td>
+<td class="enum_member_description">
+<p>a typelib blob is invalid</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="G-TYPELIB-ERROR:CAPS"></a><h3>G_TYPELIB_ERROR</h3>
<pre class="programlisting">#define G_TYPELIB_ERROR (g_typelib_error_quark ())
</pre>
-<p>
-TODO
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-error-quark"></a><h3>g_typelib_error_quark ()</h3>
-<pre class="programlisting"><span class="returnvalue">GQuark</span> g_typelib_error_quark (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="g-typelib-validate"></a><h3>g_typelib_validate ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_typelib_validate (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
-</table></div>
+<p>TODO</p>
</div>
<hr>
<div class="refsect2">
<a name="GITypelibHashBuilder"></a><h3>GITypelibHashBuilder</h3>
<pre class="programlisting">typedef struct _GITypelibHashBuilder GITypelibHashBuilder;</pre>
-<p>
-TODO
-</p>
+<p>TODO</p>
</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIUnionInfo.html b/docs/reference/html/gi-GIUnionInfo.html
index 0290ffa6..388434d9 100644
--- a/docs/reference/html/gi-GIUnionInfo.html
+++ b/docs/reference/html/gi-GIUnionInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIUnionInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIUnionInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GIStructInfo.html" title="GIStructInfo">
<link rel="next" href="gi-GIObjectInfo.html" title="GIObjectInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GIStructInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIObjectInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIUnionInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIUnionInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIUnionInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIStructInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIObjectInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIUnionInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,41 +29,126 @@
<h2><span class="refentrytitle"><a name="gi-GIUnionInfo.top_of_page"></a>GIUnionInfo</span></h2>
<p>GIUnionInfo — Struct representing a union.</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIUnionInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">typedef <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo">GIUnionInfo</a>;
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-fields" title="g_union_info_get_n_fields ()">g_union_info_get_n_fields</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-field" title="g_union_info_get_field ()">g_union_info_get_field</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-methods" title="g_union_info_get_n_methods ()">g_union_info_get_n_methods</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-method" title="g_union_info_get_method ()">g_union_info_get_method</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-is-discriminated" title="g_union_info_is_discriminated ()">g_union_info_is_discriminated</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-offset" title="g_union_info_get_discriminator_offset ()">g_union_info_get_discriminator_offset</a>
- (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-type" title="g_union_info_get_discriminator_type ()">g_union_info_get_discriminator_type</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator" title="g_union_info_get_discriminator ()">g_union_info_get_discriminator</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIUnionInfo.html#g-union-info-find-method" title="g_union_info_find_method ()">g_union_info_find_method</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
-<span class="returnvalue">gsize</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-size" title="g_union_info_get_size ()">g_union_info_get_size</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-<span class="returnvalue">gsize</span> <a class="link" href="gi-GIUnionInfo.html#g-union-info-get-alignment" title="g_union_info_get_alignment ()">g_union_info_get_alignment</a> (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-</pre>
+<div class="refsect1">
+<a name="gi-GIUnionInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-fields" title="g_union_info_get_n_fields ()">g_union_info_get_n_fields</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-field" title="g_union_info_get_field ()">g_union_info_get_field</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-n-methods" title="g_union_info_get_n_methods ()">g_union_info_get_n_methods</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-method" title="g_union_info_get_method ()">g_union_info_get_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-is-discriminated" title="g_union_info_is_discriminated ()">g_union_info_is_discriminated</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-offset" title="g_union_info_get_discriminator_offset ()">g_union_info_get_discriminator_offset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator-type" title="g_union_info_get_discriminator_type ()">g_union_info_get_discriminator_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-discriminator" title="g_union_info_get_discriminator ()">g_union_info_get_discriminator</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-find-method" title="g_union_info_find_method ()">g_union_info_find_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-size" title="g_union_info_get_size ()">g_union_info_get_size</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIUnionInfo.html#g-union-info-get-alignment" title="g_union_info_get_alignment ()">g_union_info_get_alignment</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-GIUnionInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo">GIUnionInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIUnionInfo.description"></a><h2>Description</h2>
-<p>
-GIUnionInfo represents a union type.
-</p>
-<p>
-A union has methods and fields. Unions can optionally have a
+<p>GIUnionInfo represents a union type.</p>
+<p>A union has methods and fields. Unions can optionally have a
discriminator, which is a field deciding what type of real union
-fields is valid for specified instance.
-</p>
-<p>
-</p>
+fields is valid for specified instance.</p>
<div class="refsect1">
<a name="gi-giobjectinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -76,333 +157,352 @@ fields is valid for specified instance.
+----GIUnionInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIUnionInfo.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GIUnionInfo"></a><h3>GIUnionInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIUnionInfo;
-</pre>
-<p>
-Represents a union.
-</p>
-</div>
-<hr>
+<a name="gi-GIUnionInfo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="g-union-info-get-n-fields"></a><h3>g_union_info_get_n_fields ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_union_info_get_n_fields (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of fields this union has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-get-n-fields"></a><h3>g_union_info_get_n_fields ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_union_info_get_n_fields (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of fields this union has.</p>
+<div class="refsect3">
+<a name="g-union-info-get-n-fields.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of fields</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-n-fields.returns"></a><h4>Returns</h4>
+<p> number of fields</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-get-field"></a><h3>g_union_info_get_field ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> * g_union_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain the type information for field with specified index.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-get-field"></a><h3>g_union_info_get_field ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="returnvalue">GIFieldInfo</span></a> *
+g_union_info_get_field (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain the type information for field with specified index.</p>
+<div class="refsect3">
+<a name="g-union-info-get-field.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>a field index</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>a field index</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-field.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-get-n-methods"></a><h3>g_union_info_get_n_methods ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_union_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the number of methods this union has.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-get-n-methods"></a><h3>g_union_info_get_n_methods ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_union_info_get_n_methods (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the number of methods this union has.</p>
+<div class="refsect3">
+<a name="g-union-info-get-n-methods.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>number of methods</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-n-methods.returns"></a><h4>Returns</h4>
+<p> number of methods</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-get-method"></a><h3>g_union_info_get_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_union_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain the type information for method with specified index.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-get-method"></a><h3>g_union_info_get_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_union_info_get_method (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain the type information for method with specified index.</p>
+<div class="refsect3">
+<a name="g-union-info-get-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>a method index</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>a method index</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-is-discriminated"></a><h3>g_union_info_is_discriminated ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_union_info_is_discriminated (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
-<p>
-Return true if this union contains discriminator field.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-is-discriminated"></a><h3>g_union_info_is_discriminated ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_union_info_is_discriminated (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
+<p>Return true if this union contains discriminator field.</p>
+<div class="refsect3">
+<a name="g-union-info-is-discriminated.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if this is a discriminated union, <code class="literal">FALSE</code> otherwise</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-is-discriminated.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if this is a discriminated union, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-get-discriminator-offset"></a><h3>g_union_info_get_discriminator_offset ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_union_info_get_discriminator_offset
- (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
-<p>
-Returns offset of the discriminator field in the structure.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-get-discriminator-offset"></a><h3>g_union_info_get_discriminator_offset ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_union_info_get_discriminator_offset (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
+<p>Returns offset of the discriminator field in the structure.</p>
+<div class="refsect3">
+<a name="g-union-info-get-discriminator-offset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>offset in bytes of the discriminator. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-discriminator-offset.returns"></a><h4>Returns</h4>
+<p> offset in bytes of the discriminator. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-get-discriminator-type"></a><h3>g_union_info_get_discriminator_type ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> * g_union_info_get_discriminator_type (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the type information of the union discriminator.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-get-discriminator-type"></a><h3>g_union_info_get_discriminator_type ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="returnvalue">GITypeInfo</span></a> *
+g_union_info_get_discriminator_type (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the type information of the union discriminator.</p>
+<div class="refsect3">
+<a name="g-union-info-get-discriminator-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-discriminator-type.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-get-discriminator"></a><h3>g_union_info_get_discriminator ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> * g_union_info_get_discriminator (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
-<p>
-Obtain discriminator value assigned for n-th union field, i.e. n-th
+<a name="g-union-info-get-discriminator"></a><h3>g_union_info_get_discriminator ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="returnvalue">GIConstantInfo</span></a> *
+g_union_info_get_discriminator (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+<p>Obtain discriminator value assigned for n-th union field, i.e. n-th
union field is the active one if discriminator contains this
-constant.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+constant.</p>
+<div class="refsect3">
+<a name="g-union-info-get-discriminator.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n</code></em> :</span></p></td>
-<td>a union field index</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>n</p></td>
+<td class="parameter_description"><p>a union field index</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-discriminator.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo" title="GIConstantInfo"><span class="type">GIConstantInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-find-method"></a><h3>g_union_info_find_method ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_union_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
-<p>
-Obtain the type information for method named <em class="parameter"><code>name</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-find-method"></a><h3>g_union_info_find_method ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_union_info_find_method (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Obtain the type information for method named <em class="parameter"><code>name</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-union-info-find-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td>a method name</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
-when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>a method name</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-find-method.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>, free it with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a>
+when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-get-size"></a><h3>g_union_info_get_size ()</h3>
-<pre class="programlisting"><span class="returnvalue">gsize</span> g_union_info_get_size (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the total size of the union.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-get-size"></a><h3>g_union_info_get_size ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
+g_union_info_get_size (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the total size of the union.</p>
+<div class="refsect3">
+<a name="g-union-info-get-size.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>size of the union in bytes</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-size.returns"></a><h4>Returns</h4>
+<p> size of the union in bytes</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-union-info-get-alignment"></a><h3>g_union_info_get_alignment ()</h3>
-<pre class="programlisting"><span class="returnvalue">gsize</span> g_union_info_get_alignment (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the required alignment of the union.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-union-info-get-alignment"></a><h3>g_union_info_get_alignment ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>
+g_union_info_get_alignment (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the required alignment of the union.</p>
+<div class="refsect3">
+<a name="g-union-info-get-alignment.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>required alignment in bytes</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-union-info-get-alignment.returns"></a><h4>Returns</h4>
+<p> required alignment in bytes</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIUnionInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIUnionInfo"></a><h3>GIUnionInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIUnionInfo;
+</pre>
+<p>Represents a union.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIVFuncInfo.html b/docs/reference/html/gi-GIVFuncInfo.html
index 8c9864cf..bad72724 100644
--- a/docs/reference/html/gi-GIVFuncInfo.html
+++ b/docs/reference/html/gi-GIVFuncInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIVFuncInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIVFuncInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GISignalInfo.html" title="GISignalInfo">
<link rel="next" href="gi-GIRegisteredTypeInfo.html" title="GIRegisteredTypeInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GISignalInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIRegisteredTypeInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIVFuncInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIVFuncInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIVFuncInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GISignalInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIRegisteredTypeInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIVFuncInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,329 +29,401 @@
<h2><span class="refentrytitle"><a name="gi-GIVFuncInfo.top_of_page"></a>GIVFuncInfo</span></h2>
<p>GIVFuncInfo — Struct representing a virtual function</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIVFuncInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">typedef <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo">GIVFuncInfo</a>;
-enum <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags">GIVFuncInfoFlags</a>;
-<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="returnvalue">GIVFuncInfoFlags</span></a> <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-flags" title="g_vfunc_info_get_flags ()">g_vfunc_info_get_flags</a> (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);
-<span class="returnvalue">gint</span> <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-offset" title="g_vfunc_info_get_offset ()">g_vfunc_info_get_offset</a> (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-signal" title="g_vfunc_info_get_signal ()">g_vfunc_info_get_signal</a> (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);
-<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()">g_vfunc_info_get_invoker</a> (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);
-<span class="returnvalue">gpointer</span> <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-address" title="g_vfunc_info_get_address ()">g_vfunc_info_get_address</a> (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">GType</span> implementor_gtype</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-invoke" title="g_vfunc_info_invoke ()">g_vfunc_info_invoke</a> (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">GType</span> implementor</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="gi-GIVFuncInfo.description"></a><h2>Description</h2>
-<p>
-GIVfuncInfo represents a virtual function. A property belongs to
-either a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.
-</p>
-<p>
-</p>
-<div class="refsect1">
-<a name="gi-givfuncinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
-<pre class="synopsis">
- <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
- +----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
- +----<a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
- +----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
- +----GIVFuncInfo
-</pre>
-</div>
-<p>
-</p>
-</div>
<div class="refsect1">
-<a name="gi-GIVFuncInfo.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GIVFuncInfo"></a><h3>GIVFuncInfo</h3>
-<pre class="programlisting">typedef GIBaseInfo GIVFuncInfo;
-</pre>
-<p>
-Represents a virtual function.
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GIVFuncInfoFlags"></a><h3>enum GIVFuncInfoFlags</h3>
-<pre class="programlisting">typedef enum {
- GI_VFUNC_MUST_CHAIN_UP = 1 &lt;&lt; 0,
- GI_VFUNC_MUST_OVERRIDE = 1 &lt;&lt; 1,
- GI_VFUNC_MUST_NOT_OVERRIDE = 1 &lt;&lt; 2,
- GI_VFUNC_THROWS = 1 &lt;&lt; 3
-} GIVFuncInfoFlags;
-</pre>
-<p>
-Flags of a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> struct.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="gi-GIVFuncInfo.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><a name="GI-VFUNC-MUST-CHAIN-UP:CAPS"></a><span class="term"><code class="literal">GI_VFUNC_MUST_CHAIN_UP</code></span></p></td>
-<td>chains up to the parent type
+<td class="function_type">
+<a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="returnvalue">GIVFuncInfoFlags</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-flags" title="g_vfunc_info_get_flags ()">g_vfunc_info_get_flags</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-offset" title="g_vfunc_info_get_offset ()">g_vfunc_info_get_offset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-signal" title="g_vfunc_info_get_signal ()">g_vfunc_info_get_signal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-VFUNC-MUST-OVERRIDE:CAPS"></a><span class="term"><code class="literal">GI_VFUNC_MUST_OVERRIDE</code></span></p></td>
-<td>overrides
+<td class="function_type">
+<a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker" title="g_vfunc_info_get_invoker ()">g_vfunc_info_get_invoker</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-VFUNC-MUST-NOT-OVERRIDE:CAPS"></a><span class="term"><code class="literal">GI_VFUNC_MUST_NOT_OVERRIDE</code></span></p></td>
-<td>does not override
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-get-address" title="g_vfunc_info_get_address ()">g_vfunc_info_get_address</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><a name="GI-VFUNC-THROWS:CAPS"></a><span class="term"><code class="literal">GI_VFUNC_THROWS</code></span></p></td>
-<td>Includes a <span class="type">GError</span>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-GIVFuncInfo.html#g-vfunc-info-invoke" title="g_vfunc_info_invoke ()">g_vfunc_info_invoke</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="g-vfunc-info-get-flags"></a><h3>g_vfunc_info_get_flags ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="returnvalue">GIVFuncInfoFlags</span></a> g_vfunc_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the flags for this virtual function info. See <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="type">GIVFuncInfoFlags</span></a> for
-more information about possible flag values.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="gi-GIVFuncInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>
-</td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo">GIVFuncInfo</a></td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the flags</td>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags">GIVFuncInfoFlags</a></td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect1">
+<a name="gi-GIVFuncInfo.description"></a><h2>Description</h2>
+<p>GIVfuncInfo represents a virtual function. A property belongs to
+either a <a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> or a <a class="link" href="gi-GIInterfaceInfo.html#GIInterfaceInfo" title="GIInterfaceInfo"><span class="type">GIInterfaceInfo</span></a>.</p>
+<div class="refsect1">
+<a name="gi-givfuncinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
+<pre class="synopsis">
+ <a class="link" href="gi-GIBaseInfo.html" title="GIBaseInfo">GIBaseInfo</a>
+ +----<a class="link" href="gi-GICallableInfo.html" title="GICallableInfo">GICallableInfo</a>
+ +----<a class="link" href="gi-GIFunctionInfo.html" title="GIFunctionInfo">GIFunctionInfo</a>
+ +----<a class="link" href="gi-GISignalInfo.html" title="GISignalInfo">GISignalInfo</a>
+ +----GIVFuncInfo
+</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIVFuncInfo.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="g-vfunc-info-get-flags"></a><h3>g_vfunc_info_get_flags ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="returnvalue">GIVFuncInfoFlags</span></a>
+g_vfunc_info_get_flags (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the flags for this virtual function info. See <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfoFlags" title="enum GIVFuncInfoFlags"><span class="type">GIVFuncInfoFlags</span></a> for
+more information about possible flag values.</p>
+<div class="refsect3">
+<a name="g-vfunc-info-get-flags.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-vfunc-info-get-flags.returns"></a><h4>Returns</h4>
+<p> the flags</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-vfunc-info-get-offset"></a><h3>g_vfunc_info_get_offset ()</h3>
-<pre class="programlisting"><span class="returnvalue">gint</span> g_vfunc_info_get_offset (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the offset of the function pointer in the class struct. The value
-0xFFFF indicates that the struct offset is unknown.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-vfunc-info-get-offset"></a><h3>g_vfunc_info_get_offset ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+g_vfunc_info_get_offset (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the offset of the function pointer in the class struct. The value
+0xFFFF indicates that the struct offset is unknown.</p>
+<div class="refsect3">
+<a name="g-vfunc-info-get-offset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the struct offset or 0xFFFF if it's unknown</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-vfunc-info-get-offset.returns"></a><h4>Returns</h4>
+<p> the struct offset or 0xFFFF if it's unknown</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-vfunc-info-get-signal"></a><h3>g_vfunc_info_get_signal ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> * g_vfunc_info_get_signal (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
-<p>
-Obtain the signal for the virtual function if one is set.
+<a name="g-vfunc-info-get-signal"></a><h3>g_vfunc_info_get_signal ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GISignalInfo.html#GISignalInfo" title="GISignalInfo"><span class="returnvalue">GISignalInfo</span></a> *
+g_vfunc_info_get_signal (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
+<p>Obtain the signal for the virtual function if one is set.
The signal comes from the object or interface to which
-this virtual function belongs.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+this virtual function belongs.</p>
+<div class="refsect3">
+<a name="g-vfunc-info-get-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the signal or <code class="literal">NULL</code> if none set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-vfunc-info-get-signal.returns"></a><h4>Returns</h4>
+<p> the signal or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-vfunc-info-get-invoker"></a><h3>g_vfunc_info_get_invoker ()</h3>
-<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> * g_vfunc_info_get_invoker (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
-<p>
-If this virtual function has an associated invoker method, this
-method will return it. An invoker method is a C entry point.
-</p>
-<p>
-Not all virtuals will have invokers.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-vfunc-info-get-invoker"></a><h3>g_vfunc_info_get_invoker ()</h3>
+<pre class="programlisting"><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="returnvalue">GIFunctionInfo</span></a> *
+g_vfunc_info_get_invoker (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>);</pre>
+<p>If this virtual function has an associated invoker method, this
+method will return it. An invoker method is a C entry point.</p>
+<p>Not all virtuals will have invokers.</p>
+<div class="refsect3">
+<a name="g-vfunc-info-get-invoker.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> or <code class="literal">NULL</code>. Free it with
-<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
-</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-vfunc-info-get-invoker.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" title="g_base_info_unref ()"><code class="function">g_base_info_unref()</code></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-vfunc-info-get-address"></a><h3>g_vfunc_info_get_address ()</h3>
-<pre class="programlisting"><span class="returnvalue">gpointer</span> g_vfunc_info_get_address (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">GType</span> implementor_gtype</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-This method will look up where inside the type struct of <em class="parameter"><code>implementor_gtype</code></em>
-is the implementation for <em class="parameter"><code>info</code></em>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-vfunc-info-get-address"></a><h3>g_vfunc_info_get_address ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>
+g_vfunc_info_get_address (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementor_gtype</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>This method will look up where inside the type struct of <em class="parameter"><code>implementor_gtype</code></em>
+
+is the implementation for <em class="parameter"><code>info</code></em>
+.</p>
+<div class="refsect3">
+<a name="g-vfunc-info-get-address.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>implementor_gtype</code></em> :</span></p></td>
-<td>
-<span class="type">GType</span> implementing this virtual function</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for a <span class="type">GError</span>
-</td>
+<td class="parameter_name"><p>implementor_gtype</p></td>
+<td class="parameter_description"><p><a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementing this virtual function</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>address to a function or <code class="literal">NULL</code> if an error happened</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>return location for a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-vfunc-info-get-address.returns"></a><h4>Returns</h4>
+<p> address to a function or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error happened</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-vfunc-info-invoke"></a><h3>g_vfunc_info_invoke ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_vfunc_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">GType</span> implementor</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
- <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
- <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Invokes the function described in <em class="parameter"><code>info</code></em> with the given
+<a name="g-vfunc-info-invoke"></a><h3>g_vfunc_info_invoke ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_vfunc_info_invoke (<em class="parameter"><code><a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementor</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *in_args</code></em>,
+ <em class="parameter"><code><span class="type">int</span> n_in_args</code></em>,
+ <em class="parameter"><code>const <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *out_args</code></em>,
+ <em class="parameter"><code><span class="type">int</span> n_out_args</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *return_value</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Invokes the function described in <em class="parameter"><code>info</code></em>
+ with the given
arguments. Note that inout parameters must appear in both
-argument lists.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+argument lists.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-vfunc-info-invoke.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> describing the virtual function to invoke</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> describing the virtual function to invoke</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>implementor</code></em> :</span></p></td>
-<td>
-<span class="type">GType</span> of the type that implements this virtual function</td>
+<td class="parameter_name"><p>implementor</p></td>
+<td class="parameter_description"><p><a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the type that implements this virtual function</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>in_args</code></em> :</span></p></td>
-<td>an array of <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a>s, one for each in
-parameter of <em class="parameter"><code>info</code></em>. If there are no in parameter, <em class="parameter"><code>in_args</code></em>
-can be <code class="literal">NULL</code>
-</td>
+<td class="parameter_name"><p>in_args</p></td>
+<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each in
+parameter of <em class="parameter"><code>info</code></em>
+. If there are no in parameter, <em class="parameter"><code>in_args</code></em>
+can be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_in_args</code></em> :</span></p></td>
-<td>the length of the <em class="parameter"><code>in_args</code></em> array</td>
+<td class="parameter_name"><p>n_in_args</p></td>
+<td class="parameter_description"><p>the length of the <em class="parameter"><code>in_args</code></em>
+array</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>out_args</code></em> :</span></p></td>
-<td>an array of <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a>s, one for each out
-parameter of <em class="parameter"><code>info</code></em>. If there are no out parameters, <em class="parameter"><code>out_args</code></em>
-may be <code class="literal">NULL</code>
-</td>
+<td class="parameter_name"><p>out_args</p></td>
+<td class="parameter_description"><p>an array of <a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a>s, one for each out
+parameter of <em class="parameter"><code>info</code></em>
+. If there are no out parameters, <em class="parameter"><code>out_args</code></em>
+may be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_out_args</p></td>
+<td class="parameter_description"><p>the length of the <em class="parameter"><code>out_args</code></em>
+array</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>return_value</p></td>
+<td class="parameter_description"><p>return location for the return value of the
+function. If the function returns void, <em class="parameter"><code>return_value</code></em>
+may be
+<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>n_out_args</code></em> :</span></p></td>
-<td>the length of the <em class="parameter"><code>out_args</code></em> array</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>return location for detailed error information, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-vfunc-info-invoke.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the function has been invoked, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if an
+error occurred.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-GIVFuncInfo.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIVFuncInfo"></a><h3>GIVFuncInfo</h3>
+<pre class="programlisting">typedef GIBaseInfo GIVFuncInfo;
+</pre>
+<p>Represents a virtual function.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIVFuncInfoFlags"></a><h3>enum GIVFuncInfoFlags</h3>
+<p>Flags of a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFuncInfo"><span class="type">GIVFuncInfo</span></a> struct.</p>
+<div class="refsect3">
+<a name="GIVFuncInfoFlags.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GI-VFUNC-MUST-CHAIN-UP:CAPS"></a>GI_VFUNC_MUST_CHAIN_UP</p></td>
+<td class="enum_member_description">
+<p>chains up to the parent type</p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>return_value</code></em> :</span></p></td>
-<td>return location for the return value of the
-function. If the function returns void, <em class="parameter"><code>return_value</code></em> may be
-<code class="literal">NULL</code>
+<td class="enum_member_name"><p><a name="GI-VFUNC-MUST-OVERRIDE:CAPS"></a>GI_VFUNC_MUST_OVERRIDE</p></td>
+<td class="enum_member_description">
+<p>overrides</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for detailed error information, or <code class="literal">NULL</code>
+<td class="enum_member_name"><p><a name="GI-VFUNC-MUST-NOT-OVERRIDE:CAPS"></a>GI_VFUNC_MUST_NOT_OVERRIDE</p></td>
+<td class="enum_member_description">
+<p>does not override</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> if the function has been invoked, <code class="literal">FALSE</code> if an
-error occurred.</td>
+<td class="enum_member_name"><p><a name="GI-VFUNC-THROWS:CAPS"></a>GI_VFUNC_THROWS</p></td>
+<td class="enum_member_description">
+<p>Includes a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p>
+</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
+</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-GIValueInfo.html b/docs/reference/html/gi-GIValueInfo.html
index 4803efb3..6ebddea9 100644
--- a/docs/reference/html/gi-GIValueInfo.html
+++ b/docs/reference/html/gi-GIValueInfo.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GIValueInfo</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GIValueInfo: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-GITypeInfo.html" title="GITypeInfo">
<link rel="next" href="gi-typelib.html" title="GITypelib">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-GITypeInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-typelib.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-GIValueInfo.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-GIValueInfo.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-GIValueInfo.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GITypeInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-typelib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-GIValueInfo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,20 +29,24 @@
<h2><span class="refentrytitle"><a name="gi-GIValueInfo.top_of_page"></a>GIValueInfo</span></h2>
<p>GIValueInfo — Struct representing a value</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-GIValueInfo.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">typedef <a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo">GIValueInfo</a>;
-</pre>
+<div class="refsect1">
+<a name="gi-GIValueInfo.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo">GIValueInfo</a></td>
+</tr></tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-GIValueInfo.description"></a><h2>Description</h2>
-<p>
-GIValueInfo represents a value.
-</p>
-<p>
-</p>
+<p>GIValueInfo represents a value.</p>
<div class="refsect1">
<a name="gi-givalueinfo.struct-hierarchy"></a><h2>Struct hierarchy</h2>
<pre class="synopsis">
@@ -54,23 +54,22 @@ GIValueInfo represents a value.
+----GIValueInfo
</pre>
</div>
-<p>
-</p>
</div>
<div class="refsect1">
-<a name="gi-GIValueInfo.details"></a><h2>Details</h2>
+<a name="gi-GIValueInfo.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gi-GIValueInfo.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GIValueInfo"></a><h3>GIValueInfo</h3>
<pre class="programlisting">typedef GIBaseInfo GIValueInfo;
</pre>
-<p>
-Represents a enum value of a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>.
-</p>
+<p>Represents a enum value of a <a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a>.</p>
</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-building.html b/docs/reference/html/gi-building.html
index 980dc731..b8c70ed4 100644
--- a/docs/reference/html/gi-building.html
+++ b/docs/reference/html/gi-building.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Compiling the GObject Introspection package</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Compiling the GObject Introspection package: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="overview.html" title="Part I. GObject-Introspection Overview">
<link rel="prev" href="overview.html" title="Part I. GObject-Introspection Overview">
<link rel="next" href="gi-programming.html" title="Writing introspected libraries">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="overview.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="overview.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-programming.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="overview.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-programming.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gi-building"></a><div class="titlepage"></div>
@@ -26,7 +26,7 @@
<h2><span class="refentrytitle">Compiling the GObject Introspection package</span></h2>
<p>Compiling the GObject Introspection Package — How to compile GObject Introspection itself</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gi-buildtools"></a><h2>Building on UNIX</h2>
@@ -173,7 +173,6 @@
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-common-types.html b/docs/reference/html/gi-common-types.html
index 1137dcd5..c0720538 100644
--- a/docs/reference/html/gi-common-types.html
+++ b/docs/reference/html/gi-common-types.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>common types</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>common types: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="gi-struct-hierarchy.html" title="Struct hierarchy">
<link rel="next" href="gi-GIBaseInfo.html" title="GIBaseInfo">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-struct-hierarchy.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GIBaseInfo.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-common-types.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-common-types.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-common-types.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-struct-hierarchy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GIBaseInfo.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-common-types"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,386 +29,440 @@
<h2><span class="refentrytitle"><a name="gi-common-types.top_of_page"></a>common types</span></h2>
<p>common types — TODO</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-common-types.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">union <a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument">GIArgument</a>;
- <a class="link" href="gi-common-types.html#GIUnresolvedInfo" title="GIUnresolvedInfo">GIUnresolvedInfo</a>;
-enum <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag">GITypeTag</a>;
-enum <a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType">GIArrayType</a>;
-#define <a class="link" href="gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS" title="GI_TYPE_TAG_N_TYPES">GI_TYPE_TAG_N_TYPES</a>
-#define <a class="link" href="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS" title="G_TYPE_TAG_IS_BASIC()">G_TYPE_TAG_IS_BASIC</a> (tag)
-</pre>
+<div class="refsect1">
+<a name="gi-common-types.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS" title="G_TYPE_TAG_IS_BASIC()">G_TYPE_TAG_IS_BASIC</a><span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-common-types.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument">GIArgument</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-common-types.html#GIUnresolvedInfo" title="GIUnresolvedInfo">GIUnresolvedInfo</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag">GITypeTag</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gi-common-types.html#GIArrayType" title="enum GIArrayType">GIArrayType</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS" title="GI_TYPE_TAG_N_TYPES">GI_TYPE_TAG_N_TYPES</a></td>
+</tr>
+</tbody>
+</table></div>
</div>
<div class="refsect1">
<a name="gi-common-types.description"></a><h2>Description</h2>
-<p>
-TODO
-</p>
+<p>TODO</p>
</div>
<div class="refsect1">
-<a name="gi-common-types.details"></a><h2>Details</h2>
+<a name="gi-common-types.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="GIArgument"></a><h3>union GIArgument</h3>
-<pre class="programlisting">union _GIArgument
-{
- gboolean v_boolean;
- gint8 v_int8;
- guint8 v_uint8;
- gint16 v_int16;
- guint16 v_uint16;
- gint32 v_int32;
- guint32 v_uint32;
- gint64 v_int64;
- guint64 v_uint64;
- gfloat v_float;
- gdouble v_double;
- gshort v_short;
- gushort v_ushort;
- gint v_int;
- guint v_uint;
- glong v_long;
- gulong v_ulong;
- gssize v_ssize;
- gsize v_size;
- gchar * v_string;
- gpointer v_pointer;
-};
+<a name="G-TYPE-TAG-IS-BASIC:CAPS"></a><h3>G_TYPE_TAG_IS_BASIC()</h3>
+<pre class="programlisting">#define G_TYPE_TAG_IS_BASIC(tag) (tag &lt; GI_TYPE_TAG_ARRAY || tag == GI_TYPE_TAG_UNICHAR)
</pre>
-<p>
-Stores an argument of varying type
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>Checks if <em class="parameter"><code>tag</code></em>
+ is a basic type.</p>
+<div class="refsect3">
+<a name="G-TYPE-TAG-IS-BASIC.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>tag</p></td>
+<td class="parameter_description"><p>a type tag</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-common-types.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GIArgument"></a><h3>GIArgument</h3>
+<p>Stores an argument of varying type</p>
+<div class="refsect3">
+<a name="GIArgument.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="union_members_name">
+<col class="union_members_description">
+<col width="200px" class="union_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="GIArgument.v-boolean"></a>v_boolean</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GIArgument.v-boolean"></a>v_boolean</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint8</span> <em class="structfield"><code><a name="GIArgument.v-int8"></a>v_int8</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="GIArgument.v-int8"></a>v_int8</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="GIArgument.v-uint8"></a>v_uint8</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GIArgument.v-uint8"></a>v_uint8</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint16</span> <em class="structfield"><code><a name="GIArgument.v-int16"></a>v_int16</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gint16"><span class="type">gint16</span></a> <em class="structfield"><code><a name="GIArgument.v-int16"></a>v_int16</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="GIArgument.v-uint16"></a>v_uint16</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GIArgument.v-uint16"></a>v_uint16</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint32</span> <em class="structfield"><code><a name="GIArgument.v-int32"></a>v_int32</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="GIArgument.v-int32"></a>v_int32</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="GIArgument.v-uint32"></a>v_uint32</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GIArgument.v-uint32"></a>v_uint32</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint64</span> <em class="structfield"><code><a name="GIArgument.v-int64"></a>v_int64</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a> <em class="structfield"><code><a name="GIArgument.v-int64"></a>v_int64</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GIArgument.v-uint64"></a>v_uint64</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a> <em class="structfield"><code><a name="GIArgument.v-uint64"></a>v_uint64</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gfloat</span> <em class="structfield"><code><a name="GIArgument.v-float"></a>v_float</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> <em class="structfield"><code><a name="GIArgument.v-float"></a>v_float</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gdouble</span> <em class="structfield"><code><a name="GIArgument.v-double"></a>v_double</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> <em class="structfield"><code><a name="GIArgument.v-double"></a>v_double</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gshort</span> <em class="structfield"><code><a name="GIArgument.v-short"></a>v_short</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gshort"><span class="type">gshort</span></a> <em class="structfield"><code><a name="GIArgument.v-short"></a>v_short</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gushort</span> <em class="structfield"><code><a name="GIArgument.v-ushort"></a>v_ushort</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gushort"><span class="type">gushort</span></a> <em class="structfield"><code><a name="GIArgument.v-ushort"></a>v_ushort</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gint</span> <em class="structfield"><code><a name="GIArgument.v-int"></a>v_int</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GIArgument.v-int"></a>v_int</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="GIArgument.v-uint"></a>v_uint</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GIArgument.v-uint"></a>v_uint</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">glong</span> <em class="structfield"><code><a name="GIArgument.v-long"></a>v_long</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#glong"><span class="type">glong</span></a> <em class="structfield"><code><a name="GIArgument.v-long"></a>v_long</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gulong</span> <em class="structfield"><code><a name="GIArgument.v-ulong"></a>v_ulong</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gulong"><span class="type">gulong</span></a> <em class="structfield"><code><a name="GIArgument.v-ulong"></a>v_ulong</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gssize</span> <em class="structfield"><code><a name="GIArgument.v-ssize"></a>v_ssize</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> <em class="structfield"><code><a name="GIArgument.v-ssize"></a>v_ssize</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GIArgument.v-size"></a>v_size</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GIArgument.v-size"></a>v_size</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="GIArgument.v-string"></a>v_string</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GIArgument.v-string"></a>v_string</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gpointer</span> <em class="structfield"><code><a name="GIArgument.v-pointer"></a>v_pointer</code></em>;</span></p></td>
-<td>TODO</td>
+<td class="union_member_name"><p><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GIArgument.v-pointer"></a>v_pointer</code></em>;</p></td>
+<td class="union_member_description"><p>TODO</p></td>
+<td class="union_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="GIUnresolvedInfo"></a><h3>GIUnresolvedInfo</h3>
<pre class="programlisting">typedef struct _GIUnresolvedInfo GIUnresolvedInfo;</pre>
-<p>
-Represents a unresolved type in a typelib.
-</p>
+<p>Represents a unresolved type in a typelib.</p>
</div>
<hr>
<div class="refsect2">
<a name="GITypeTag"></a><h3>enum GITypeTag</h3>
-<pre class="programlisting">typedef enum {
- /* Basic types */
- GI_TYPE_TAG_VOID = 0,
- GI_TYPE_TAG_BOOLEAN = 1,
- GI_TYPE_TAG_INT8 = 2,
- GI_TYPE_TAG_UINT8 = 3,
- GI_TYPE_TAG_INT16 = 4,
- GI_TYPE_TAG_UINT16 = 5,
- GI_TYPE_TAG_INT32 = 6,
- GI_TYPE_TAG_UINT32 = 7,
- GI_TYPE_TAG_INT64 = 8,
- GI_TYPE_TAG_UINT64 = 9,
- GI_TYPE_TAG_FLOAT = 10,
- GI_TYPE_TAG_DOUBLE = 11,
- GI_TYPE_TAG_GTYPE = 12,
- GI_TYPE_TAG_UTF8 = 13,
- GI_TYPE_TAG_FILENAME = 14,
- /* Non-basic types; compare with G_TYPE_TAG_IS_BASIC */
- GI_TYPE_TAG_ARRAY = 15,
- GI_TYPE_TAG_INTERFACE = 16,
- GI_TYPE_TAG_GLIST = 17,
- GI_TYPE_TAG_GSLIST = 18,
- GI_TYPE_TAG_GHASH = 19,
- GI_TYPE_TAG_ERROR = 20,
- /* Another basic type */
- GI_TYPE_TAG_UNICHAR = 21
- /* Note - there is currently only room for 32 tags */
-} GITypeTag;
-</pre>
-<p>
-The type tag of a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>The type tag of a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GITypeTag.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="GI-TYPE-TAG-VOID:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_VOID</code></span></p></td>
-<td>void
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-VOID:CAPS"></a>GI_TYPE_TAG_VOID</p></td>
+<td class="enum_member_description">
+<p>void</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-BOOLEAN:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_BOOLEAN</code></span></p></td>
-<td>boolean
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-BOOLEAN:CAPS"></a>GI_TYPE_TAG_BOOLEAN</p></td>
+<td class="enum_member_description">
+<p>boolean</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-INT8:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INT8</code></span></p></td>
-<td>8-bit signed integer
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-INT8:CAPS"></a>GI_TYPE_TAG_INT8</p></td>
+<td class="enum_member_description">
+<p>8-bit signed integer</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-UINT8:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UINT8</code></span></p></td>
-<td>8-bit unsigned integer
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-UINT8:CAPS"></a>GI_TYPE_TAG_UINT8</p></td>
+<td class="enum_member_description">
+<p>8-bit unsigned integer</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-INT16:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INT16</code></span></p></td>
-<td>16-bit signed integer
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-INT16:CAPS"></a>GI_TYPE_TAG_INT16</p></td>
+<td class="enum_member_description">
+<p>16-bit signed integer</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-UINT16:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UINT16</code></span></p></td>
-<td>16-bit unsigned integer
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-UINT16:CAPS"></a>GI_TYPE_TAG_UINT16</p></td>
+<td class="enum_member_description">
+<p>16-bit unsigned integer</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-INT32:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INT32</code></span></p></td>
-<td>32-bit signed integer
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-INT32:CAPS"></a>GI_TYPE_TAG_INT32</p></td>
+<td class="enum_member_description">
+<p>32-bit signed integer</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-UINT32:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UINT32</code></span></p></td>
-<td>32-bit unsigned integer
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-UINT32:CAPS"></a>GI_TYPE_TAG_UINT32</p></td>
+<td class="enum_member_description">
+<p>32-bit unsigned integer</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-INT64:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INT64</code></span></p></td>
-<td>64-bit signed integer
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-INT64:CAPS"></a>GI_TYPE_TAG_INT64</p></td>
+<td class="enum_member_description">
+<p>64-bit signed integer</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-UINT64:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UINT64</code></span></p></td>
-<td>64-bit unsigned integer
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-UINT64:CAPS"></a>GI_TYPE_TAG_UINT64</p></td>
+<td class="enum_member_description">
+<p>64-bit unsigned integer</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-FLOAT:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_FLOAT</code></span></p></td>
-<td>float
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-FLOAT:CAPS"></a>GI_TYPE_TAG_FLOAT</p></td>
+<td class="enum_member_description">
+<p>float</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-DOUBLE:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_DOUBLE</code></span></p></td>
-<td>double floating point
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-DOUBLE:CAPS"></a>GI_TYPE_TAG_DOUBLE</p></td>
+<td class="enum_member_description">
+<p>double floating point</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-GTYPE:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_GTYPE</code></span></p></td>
-<td>a <span class="type">GType</span>
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-GTYPE:CAPS"></a>GI_TYPE_TAG_GTYPE</p></td>
+<td class="enum_member_description">
+<p>a <a href="../gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-UTF8:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UTF8</code></span></p></td>
-<td>a UTF-8 encoded string
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-UTF8:CAPS"></a>GI_TYPE_TAG_UTF8</p></td>
+<td class="enum_member_description">
+<p>a UTF-8 encoded string</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-FILENAME:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_FILENAME</code></span></p></td>
-<td>a filename, encoded in the same encoding
- as the native filesystem is using.
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-FILENAME:CAPS"></a>GI_TYPE_TAG_FILENAME</p></td>
+<td class="enum_member_description">
+<p>a filename, encoded in the same encoding
+ as the native filesystem is using.</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-ARRAY:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_ARRAY</code></span></p></td>
-<td>an array
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-ARRAY:CAPS"></a>GI_TYPE_TAG_ARRAY</p></td>
+<td class="enum_member_description">
+<p>an array</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-INTERFACE:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_INTERFACE</code></span></p></td>
-<td>an extended interface object
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-INTERFACE:CAPS"></a>GI_TYPE_TAG_INTERFACE</p></td>
+<td class="enum_member_description">
+<p>an extended interface object</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-GLIST:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_GLIST</code></span></p></td>
-<td>a <span class="type">GList</span>
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-GLIST:CAPS"></a>GI_TYPE_TAG_GLIST</p></td>
+<td class="enum_member_description">
+<p>a <a href="../glib/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-GSLIST:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_GSLIST</code></span></p></td>
-<td>a <span class="type">GSList</span>
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-GSLIST:CAPS"></a>GI_TYPE_TAG_GSLIST</p></td>
+<td class="enum_member_description">
+<p>a <a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-GHASH:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_GHASH</code></span></p></td>
-<td>a <span class="type">GHashTable</span>
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-GHASH:CAPS"></a>GI_TYPE_TAG_GHASH</p></td>
+<td class="enum_member_description">
+<p>a <a href="../glib/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-ERROR:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_ERROR</code></span></p></td>
-<td>a <span class="type">GError</span>
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-ERROR:CAPS"></a>GI_TYPE_TAG_ERROR</p></td>
+<td class="enum_member_description">
+<p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-TYPE-TAG-UNICHAR:CAPS"></a><span class="term"><code class="literal">GI_TYPE_TAG_UNICHAR</code></span></p></td>
-<td>Unicode character
+<td class="enum_member_name"><p><a name="GI-TYPE-TAG-UNICHAR:CAPS"></a>GI_TYPE_TAG_UNICHAR</p></td>
+<td class="enum_member_description">
+<p>Unicode character</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="GIArrayType"></a><h3>enum GIArrayType</h3>
-<pre class="programlisting">typedef enum {
- GI_ARRAY_TYPE_C,
- GI_ARRAY_TYPE_ARRAY,
- GI_ARRAY_TYPE_PTR_ARRAY,
- GI_ARRAY_TYPE_BYTE_ARRAY
-} GIArrayType;
-</pre>
-<p>
-The type of array in a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<p>The type of array in a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>.</p>
+<div class="refsect3">
+<a name="GIArrayType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><a name="GI-ARRAY-TYPE-C:CAPS"></a><span class="term"><code class="literal">GI_ARRAY_TYPE_C</code></span></p></td>
-<td>a C array, char[] for instance
+<td class="enum_member_name"><p><a name="GI-ARRAY-TYPE-C:CAPS"></a>GI_ARRAY_TYPE_C</p></td>
+<td class="enum_member_description">
+<p>a C array, char[] for instance</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-ARRAY-TYPE-ARRAY:CAPS"></a><span class="term"><code class="literal">GI_ARRAY_TYPE_ARRAY</code></span></p></td>
-<td>a <em class="parameter"><code>GArray</code></em> array
+<td class="enum_member_name"><p><a name="GI-ARRAY-TYPE-ARRAY:CAPS"></a>GI_ARRAY_TYPE_ARRAY</p></td>
+<td class="enum_member_description">
+<p>a <em class="parameter"><code>GArray</code></em>
+ array</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-ARRAY-TYPE-PTR-ARRAY:CAPS"></a><span class="term"><code class="literal">GI_ARRAY_TYPE_PTR_ARRAY</code></span></p></td>
-<td>a <span class="type">GPtrArray</span> array
+<td class="enum_member_name"><p><a name="GI-ARRAY-TYPE-PTR-ARRAY:CAPS"></a>GI_ARRAY_TYPE_PTR_ARRAY</p></td>
+<td class="enum_member_description">
+<p>a <a href="../glib/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> array</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
<tr>
-<td><p><a name="GI-ARRAY-TYPE-BYTE-ARRAY:CAPS"></a><span class="term"><code class="literal">GI_ARRAY_TYPE_BYTE_ARRAY</code></span></p></td>
-<td>a <span class="type">GByteArray</span> array
+<td class="enum_member_name"><p><a name="GI-ARRAY-TYPE-BYTE-ARRAY:CAPS"></a>GI_ARRAY_TYPE_BYTE_ARRAY</p></td>
+<td class="enum_member_description">
+<p>a <a href="../glib/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> array</p>
</td>
+<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
<a name="GI-TYPE-TAG-N-TYPES:CAPS"></a><h3>GI_TYPE_TAG_N_TYPES</h3>
<pre class="programlisting">#define GI_TYPE_TAG_N_TYPES (GI_TYPE_TAG_UNICHAR+1)
</pre>
-<p>
-TODO
-</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="G-TYPE-TAG-IS-BASIC:CAPS"></a><h3>G_TYPE_TAG_IS_BASIC()</h3>
-<pre class="programlisting">#define G_TYPE_TAG_IS_BASIC(tag) (tag &lt; GI_TYPE_TAG_ARRAY || tag == GI_TYPE_TAG_UNICHAR)
-</pre>
-<p>
-Checks if <em class="parameter"><code>tag</code></em> is a basic type.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
-<td>a type tag</td>
-</tr></tbody>
-</table></div>
+<p>TODO</p>
</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-gir-reference.html b/docs/reference/html/gi-gir-reference.html
index a77d5a81..30bd5fc5 100644
--- a/docs/reference/html/gi-gir-reference.html
+++ b/docs/reference/html/gi-gir-reference.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>The GIR XML format</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>The GIR XML format: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch03.html" title="TODO">
<link rel="prev" href="gi-girffi.html" title="girffi">
<link rel="next" href="api-index-full.html" title="Index">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gi-girffi.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-girffi.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gi-gir-reference"></a><div class="titlepage"></div>
@@ -26,7 +26,7 @@
<h2><span class="refentrytitle"><a name="gi-gir-reference.top_of_page"></a>The GIR XML format</span></h2>
<p>The GIR XML format — The GIR XML format</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<p>
This chapter describes the GIR XML markup format. This describes exported C
@@ -217,7 +217,6 @@
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-girffi.html b/docs/reference/html/gi-girffi.html
index e8cee724..c3dc3736 100644
--- a/docs/reference/html/gi-girffi.html
+++ b/docs/reference/html/gi-girffi.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>girffi</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>girffi: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch03.html" title="TODO">
<link rel="prev" href="ch03.html" title="TODO">
<link rel="next" href="gi-gir-reference.html" title="The GIR XML format">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="ch03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-gir-reference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-girffi.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-girffi.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-girffi.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-gir-reference.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-girffi"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,393 +29,507 @@
<h2><span class="refentrytitle"><a name="gi-girffi.top_of_page"></a>girffi</span></h2>
<p>girffi — TODO</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-girffi.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis"><span class="returnvalue">void</span> (<a class="link" href="gi-girffi.html#GIFFIClosureCallback" title="GIFFIClosureCallback ()">*GIFFIClosureCallback</a>) (<em class="parameter"><code><span class="type">ffi_cif</span> *Param1</code></em>,
- <em class="parameter"><code><span class="type">void</span> *Param2</code></em>,
- <em class="parameter"><code><span class="type">void</span> **Param3</code></em>,
- <em class="parameter"><code><span class="type">void</span> *Param4</code></em>);
-struct <a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker">GIFunctionInvoker</a>;
-typedef <a class="link" href="gi-girffi.html#GIFFIReturnValue" title="GIFFIReturnValue">GIFFIReturnValue</a>;
-<span class="returnvalue">ffi_type</span> * <a class="link" href="gi-girffi.html#gi-type-tag-get-ffi-type" title="gi_type_tag_get_ffi_type ()">gi_type_tag_get_ffi_type</a> (<em class="parameter"><code><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type_tag</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> is_pointer</code></em>);
-<span class="returnvalue">ffi_type</span> * <a class="link" href="gi-girffi.html#g-type-info-get-ffi-type" title="g_type_info_get_ffi_type ()">g_type_info_get_ffi_type</a> (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-girffi.html#gi-type-info-extract-ffi-return-value" title="gi_type_info_extract_ffi_return_value ()">gi_type_info_extract_ffi_return_value</a>
- (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *return_info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFFIReturnValue" title="GIFFIReturnValue"><span class="type">GIFFIReturnValue</span></a> *ffi_value</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *arg</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-girffi.html#g-function-info-prep-invoker" title="g_function_info_prep_invoker ()">g_function_info_prep_invoker</a> (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-girffi.html#g-function-invoker-new-for-address" title="g_function_invoker_new_for_address ()">g_function_invoker_new_for_address</a> (<em class="parameter"><code><span class="type">gpointer</span> addr</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-girffi.html#g-function-invoker-destroy" title="g_function_invoker_destroy ()">g_function_invoker_destroy</a> (<em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>);
-<span class="returnvalue">ffi_closure</span> * <a class="link" href="gi-girffi.html#g-callable-info-prepare-closure" title="g_callable_info_prepare_closure ()">g_callable_info_prepare_closure</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *callable_info</code></em>,
- <em class="parameter"><code><span class="type">ffi_cif</span> *cif</code></em>,
- <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFFIClosureCallback" title="GIFFIClosureCallback ()"><span class="type">GIFFIClosureCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-girffi.html#g-callable-info-free-closure" title="g_callable_info_free_closure ()">g_callable_info_free_closure</a> (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *callable_info</code></em>,
- <em class="parameter"><code><span class="type">ffi_closure</span> *closure</code></em>);
-</pre>
-</div>
-<div class="refsect1">
-<a name="gi-girffi.description"></a><h2>Description</h2>
-<p>
-TODO
-</p>
-</div>
<div class="refsect1">
-<a name="gi-girffi.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="GIFFIClosureCallback"></a><h3>GIFFIClosureCallback ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> (*GIFFIClosureCallback) (<em class="parameter"><code><span class="type">ffi_cif</span> *Param1</code></em>,
- <em class="parameter"><code><span class="type">void</span> *Param2</code></em>,
- <em class="parameter"><code><span class="type">void</span> **Param3</code></em>,
- <em class="parameter"><code><span class="type">void</span> *Param4</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="gi-girffi.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>Param1</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="gi-girffi.html#GIFFIClosureCallback" title="GIFFIClosureCallback ()">*GIFFIClosureCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">ffi_type</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-girffi.html#gi-type-tag-get-ffi-type" title="gi_type_tag_get_ffi_type ()">gi_type_tag_get_ffi_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">ffi_type</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-girffi.html#g-type-info-get-ffi-type" title="g_type_info_get_ffi_type ()">g_type_info_get_ffi_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-girffi.html#gi-type-info-extract-ffi-return-value" title="gi_type_info_extract_ffi_return_value ()">gi_type_info_extract_ffi_return_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-girffi.html#g-function-info-prep-invoker" title="g_function_info_prep_invoker ()">g_function_info_prep_invoker</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-girffi.html#g-function-invoker-new-for-address" title="g_function_invoker_new_for_address ()">g_function_invoker_new_for_address</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>Param2</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-girffi.html#g-function-invoker-destroy" title="g_function_invoker_destroy ()">g_function_invoker_destroy</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>Param3</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="function_type">
+<span class="returnvalue">ffi_closure</span> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-girffi.html#g-callable-info-prepare-closure" title="g_callable_info_prepare_closure ()">g_callable_info_prepare_closure</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>Param4</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-girffi.html#g-callable-info-free-closure" title="g_callable_info_free_closure ()">g_callable_info_free_closure</a> <span class="c_punctuation">()</span>
+</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIFunctionInvoker"></a><h3>struct GIFunctionInvoker</h3>
-<pre class="programlisting">struct GIFunctionInvoker {
- ffi_cif cif;
- gpointer native_address;
-};
-</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<div class="refsect1">
+<a name="gi-girffi.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="name">
+<col class="description">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><span class="type">ffi_cif</span> <em class="structfield"><code><a name="GIFunctionInvoker.cif"></a>cif</code></em>;</span></p></td>
-<td>the cif</td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker">GIFunctionInvoker</a></td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gpointer</span> <em class="structfield"><code><a name="GIFunctionInvoker.native-address"></a>native_address</code></em>;</span></p></td>
-<td>the native address</td>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="gi-girffi.html#GIFFIReturnValue" title="GIFFIReturnValue">GIFFIReturnValue</a></td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
-<div class="refsect2">
-<a name="GIFFIReturnValue"></a><h3>GIFFIReturnValue</h3>
-<pre class="programlisting">typedef GIArgument GIFFIReturnValue;
-</pre>
-<p>
-TODO
-</p>
+<div class="refsect1">
+<a name="gi-girffi.description"></a><h2>Description</h2>
+<p>TODO</p>
</div>
-<hr>
+<div class="refsect1">
+<a name="gi-girffi.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="gi-type-tag-get-ffi-type"></a><h3>gi_type_tag_get_ffi_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">ffi_type</span> * gi_type_tag_get_ffi_type (<em class="parameter"><code><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type_tag</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> is_pointer</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="GIFFIClosureCallback"></a><h3>GIFFIClosureCallback ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+<span class="c_punctuation">(</span>*GIFFIClosureCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">ffi_cif</span> *Param1</code></em>,
+ <em class="parameter"><code><span class="type">void</span> *Param2</code></em>,
+ <em class="parameter"><code><span class="type">void</span> **Param3</code></em>,
+ <em class="parameter"><code><span class="type">void</span> *Param4</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="GIFFIClosureCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>type_tag</code></em> :</span></p></td>
-<td>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a>
-</td>
+<td class="parameter_name"><p>Param1</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>is_pointer</code></em> :</span></p></td>
-<td>Whether or not this is a pointer type</td>
+<td class="parameter_name"><p>Param2</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <span class="type">ffi_type</span> corresponding to the platform default C ABI for <em class="parameter"><code>tag</code></em> and <em class="parameter"><code>is_pointer</code></em>.</td>
+<td class="parameter_name"><p>Param3</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>Param4</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-type-info-get-ffi-type"></a><h3>g_type_info_get_ffi_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">ffi_type</span> * g_type_info_get_ffi_type (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="gi-type-tag-get-ffi-type"></a><h3>gi_type_tag_get_ffi_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">ffi_type</span> *
+gi_type_tag_get_ffi_type (<em class="parameter"><code><a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a> type_tag</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_pointer</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="gi-type-tag-get-ffi-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>A <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a>
-</td>
+<td class="parameter_name"><p>type_tag</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gi-common-types.html#GITypeTag" title="enum GITypeTag"><span class="type">GITypeTag</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>A <span class="type">ffi_type</span> corresponding to the platform default C ABI for <em class="parameter"><code>info</code></em>.</td>
+<td class="parameter_name"><p>is_pointer</p></td>
+<td class="parameter_description"><p>Whether or not this is a pointer type</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="gi-type-tag-get-ffi-type.returns"></a><h4>Returns</h4>
+<p> A <span class="type">ffi_type</span> corresponding to the platform default C ABI for <em class="parameter"><code>tag</code></em>
+and <em class="parameter"><code>is_pointer</code></em>
+.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="gi-type-info-extract-ffi-return-value"></a><h3>gi_type_info_extract_ffi_return_value ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> gi_type_info_extract_ffi_return_value
- (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *return_info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFFIReturnValue" title="GIFFIReturnValue"><span class="type">GIFFIReturnValue</span></a> *ffi_value</code></em>,
- <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="union GIArgument"><span class="type">GIArgument</span></a> *arg</code></em>);</pre>
-<p>
-Extract the correct bits from an ffi_arg return value into
-GIArgument: https://bugzilla.gnome.org/show_bug.cgi?id=665152
-</p>
-<p>
-Also see <span class="citerefentry"><span class="refentrytitle">ffi_call</span>(3)</span>
- - the storage requirements for return values are "special".
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-type-info-get-ffi-type"></a><h3>g_type_info_get_ffi_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">ffi_type</span> *
+g_type_info_get_ffi_type (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-type-info-get-ffi-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-type-info-get-ffi-type.returns"></a><h4>Returns</h4>
+<p> A <span class="type">ffi_type</span> corresponding to the platform default C ABI for <em class="parameter"><code>info</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gi-type-info-extract-ffi-return-value"></a><h3>gi_type_info_extract_ffi_return_value ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gi_type_info_extract_ffi_return_value (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *return_info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFFIReturnValue" title="GIFFIReturnValue"><span class="type">GIFFIReturnValue</span></a> *ffi_value</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-common-types.html#GIArgument" title="GIArgument"><span class="type">GIArgument</span></a> *arg</code></em>);</pre>
+<p>Extract the correct bits from an ffi_arg return value into
+GIArgument: https://bugzilla.gnome.org/show_bug.cgi?id=665152</p>
+<p>Also see <span class="citerefentry"><span class="refentrytitle">ffi_call</span>(3)</span></p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>the storage requirements for return values are "special".</p></li></ul></div>
+<div class="refsect3">
+<a name="gi-type-info-extract-ffi-return-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>return_info</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>return_info</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>ffi_value</code></em> :</span></p></td>
-<td>TODO</td>
+<td class="parameter_name"><p>ffi_value</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>arg</code></em> :</span></p></td>
-<td>TODO. <span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span>
-</td>
+<td class="parameter_name"><p>arg</p></td>
+<td class="parameter_description"><p> TODO. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-function-info-prep-invoker"></a><h3>g_function_info_prep_invoker ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_function_info_prep_invoker (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Initialize the caller-allocated <em class="parameter"><code>invoker</code></em> structure with a cache
+<a name="g-function-info-prep-invoker"></a><h3>g_function_info_prep_invoker ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_function_info_prep_invoker (<em class="parameter"><code><a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Initialize the caller-allocated <em class="parameter"><code>invoker</code></em>
+ structure with a cache
of information needed to invoke the C function corresponding to
-<em class="parameter"><code>info</code></em> with the platform's default ABI.
-</p>
-<p>
-A primary intent of this function is that a dynamic structure allocated
+<em class="parameter"><code>info</code></em>
+ with the platform's default ABI.</p>
+<p>A primary intent of this function is that a dynamic structure allocated
by a language binding could contain a <a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> structure
-inside the binding's function mapping.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+inside the binding's function mapping.</p>
+<div class="refsect3">
+<a name="g-function-info-prep-invoker.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>A <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a>
-</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunctionInfo"><span class="type">GIFunctionInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>invoker</code></em> :</span></p></td>
-<td>Output invoker structure</td>
+<td class="parameter_name"><p>invoker</p></td>
+<td class="parameter_description"><p>Output invoker structure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>A <span class="type">GError</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise with <em class="parameter"><code>error</code></em> set.</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>A <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-function-info-prep-invoker.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise with <em class="parameter"><code>error</code></em>
+set.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-function-invoker-new-for-address"></a><h3>g_function_invoker_new_for_address ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_function_invoker_new_for_address (<em class="parameter"><code><span class="type">gpointer</span> addr</code></em>,
- <em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
- <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Initialize the caller-allocated <em class="parameter"><code>invoker</code></em> structure with a cache
+<a name="g-function-invoker-new-for-address"></a><h3>g_function_invoker_new_for_address ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_function_invoker_new_for_address (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> addr</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Initialize the caller-allocated <em class="parameter"><code>invoker</code></em>
+ structure with a cache
of information needed to invoke the C function corresponding to
-<em class="parameter"><code>info</code></em> with the platform's default ABI.
-</p>
-<p>
-A primary intent of this function is that a dynamic structure allocated
+<em class="parameter"><code>info</code></em>
+ with the platform's default ABI.</p>
+<p>A primary intent of this function is that a dynamic structure allocated
by a language binding could contain a <a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> structure
-inside the binding's function mapping.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+inside the binding's function mapping.</p>
+<div class="refsect3">
+<a name="g-function-invoker-new-for-address.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td>
-<td>The address</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
-<td>A <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a>
-</td>
+<td class="parameter_name"><p>addr</p></td>
+<td class="parameter_description"><p>The address</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>invoker</code></em> :</span></p></td>
-<td>Output invoker structure</td>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>A <span class="type">GError</span>
-</td>
+<td class="parameter_name"><p>invoker</p></td>
+<td class="parameter_description"><p>Output invoker structure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise with <em class="parameter"><code>error</code></em> set.</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>A <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-function-invoker-new-for-address.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise with <em class="parameter"><code>error</code></em>
+set.</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-function-invoker-destroy"></a><h3>g_function_invoker_destroy ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_function_invoker_destroy (<em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>);</pre>
-<p>
-Release all resources allocated for the internals of <em class="parameter"><code>invoker</code></em>; callers
+<a name="g-function-invoker-destroy"></a><h3>g_function_invoker_destroy ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_function_invoker_destroy (<em class="parameter"><code><a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a> *invoker</code></em>);</pre>
+<p>Release all resources allocated for the internals of <em class="parameter"><code>invoker</code></em>
+; callers
are responsible for freeing any resources allocated for the structure
-itself however.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+itself however.</p>
+<div class="refsect3">
+<a name="g-function-invoker-destroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>invoker</code></em> :</span></p></td>
-<td>A <a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a>
-</td>
+<td class="parameter_name"><p>invoker</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gi-girffi.html#GIFunctionInvoker" title="struct GIFunctionInvoker"><span class="type">GIFunctionInvoker</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-callable-info-prepare-closure"></a><h3>g_callable_info_prepare_closure ()</h3>
-<pre class="programlisting"><span class="returnvalue">ffi_closure</span> * g_callable_info_prepare_closure (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *callable_info</code></em>,
- <em class="parameter"><code><span class="type">ffi_cif</span> *cif</code></em>,
- <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFFIClosureCallback" title="GIFFIClosureCallback ()"><span class="type">GIFFIClosureCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
-<p>
-Prepares a callback for ffi invocation.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-callable-info-prepare-closure"></a><h3>g_callable_info_prepare_closure ()</h3>
+<pre class="programlisting"><span class="returnvalue">ffi_closure</span> *
+g_callable_info_prepare_closure (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *callable_info</code></em>,
+ <em class="parameter"><code><span class="type">ffi_cif</span> *cif</code></em>,
+ <em class="parameter"><code><a class="link" href="gi-girffi.html#GIFFIClosureCallback" title="GIFFIClosureCallback ()"><span class="type">GIFFIClosureCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Prepares a callback for ffi invocation.</p>
+<div class="refsect3">
+<a name="g-callable-info-prepare-closure.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>callable_info</code></em> :</span></p></td>
-<td>a callable info from a typelib</td>
+<td class="parameter_name"><p>callable_info</p></td>
+<td class="parameter_description"><p>a callable info from a typelib</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cif</p></td>
+<td class="parameter_description"><p>a ffi_cif structure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>cif</code></em> :</span></p></td>
-<td>a ffi_cif structure</td>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>the ffi callback</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
-<td>the ffi callback</td>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>data to be passed into the callback</p></td>
+<td class="parameter_annotations"> </td>
</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-callable-info-prepare-closure.returns"></a><h4>Returns</h4>
+<p> the ffi_closure or NULL on error. The return value
+should be freed by calling <a class="link" href="gi-girffi.html#g-callable-info-free-closure" title="g_callable_info_free_closure ()"><code class="function">g_callable_info_free_closure()</code></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-callable-info-free-closure"></a><h3>g_callable_info_free_closure ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_callable_info_free_closure (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *callable_info</code></em>,
+ <em class="parameter"><code><span class="type">ffi_closure</span> *closure</code></em>);</pre>
+<p>Frees a ffi_closure returned from <a class="link" href="gi-girffi.html#g-callable-info-prepare-closure" title="g_callable_info_prepare_closure ()"><code class="function">g_callable_info_prepare_closure()</code></a></p>
+<div class="refsect3">
+<a name="g-callable-info-free-closure.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
-<td>data to be passed into the callback</td>
+<td class="parameter_name"><p>callable_info</p></td>
+<td class="parameter_description"><p>a callable info from a typelib</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the ffi_closure or NULL on error. The return value
-should be freed by calling <a class="link" href="gi-girffi.html#g-callable-info-free-closure" title="g_callable_info_free_closure ()"><code class="function">g_callable_info_free_closure()</code></a>.</td>
+<td class="parameter_name"><p>closure</p></td>
+<td class="parameter_description"><p>ffi closure</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-girffi.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
-<a name="g-callable-info-free-closure"></a><h3>g_callable_info_free_closure ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_callable_info_free_closure (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *callable_info</code></em>,
- <em class="parameter"><code><span class="type">ffi_closure</span> *closure</code></em>);</pre>
-<p>
-Frees a ffi_closure returned from <a class="link" href="gi-girffi.html#g-callable-info-prepare-closure" title="g_callable_info_prepare_closure ()"><code class="function">g_callable_info_prepare_closure()</code></a>
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="GIFunctionInvoker"></a><h3>struct GIFunctionInvoker</h3>
+<pre class="programlisting">struct GIFunctionInvoker {
+ ffi_cif cif;
+ gpointer native_address;
+};
+</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="GIFunctionInvoker.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>callable_info</code></em> :</span></p></td>
-<td>a callable info from a typelib</td>
+<td class="struct_member_name"><p><span class="type">ffi_cif</span> <em class="structfield"><code><a name="GIFunctionInvoker.cif"></a>cif</code></em>;</p></td>
+<td class="struct_member_description"><p>the cif</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>closure</code></em> :</span></p></td>
-<td>ffi closure</td>
+<td class="struct_member_name"><p><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GIFunctionInvoker.native-address"></a>native_address</code></em>;</p></td>
+<td class="struct_member_description"><p>the native address</p></td>
+<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
+<hr>
+<div class="refsect2">
+<a name="GIFFIReturnValue"></a><h3>GIFFIReturnValue</h3>
+<pre class="programlisting">typedef GIArgument GIFFIReturnValue;
+</pre>
+<p>TODO</p>
+</div>
+</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-gitypelib.html b/docs/reference/html/gi-gitypelib.html
index 6768c7b7..862040e0 100644
--- a/docs/reference/html/gi-gitypelib.html
+++ b/docs/reference/html/gi-gitypelib.html
@@ -2,30 +2,26 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>gitypelib</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>gitypelib: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="gi-typelib.html" title="GITypelib">
<link rel="prev" href="gi-typelib.html" title="GITypelib">
<link rel="next" href="gi-GITypelib.html" title="GITypelib">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="gi-typelib.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="gi-typelib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-GITypelib.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gi-gitypelib.synopsis" class="shortcut">Top</a>
-  | 
- <a href="#gi-gitypelib.description" class="shortcut">Description</a>
-</td></tr>
-</table>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gi-gitypelib.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="gi-typelib.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-typelib.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-GITypelib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
<div class="refentry">
<a name="gi-gitypelib"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
@@ -33,230 +29,305 @@
<h2><span class="refentrytitle"><a name="gi-gitypelib.top_of_page"></a>gitypelib</span></h2>
<p>gitypelib — TODO</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
-<div class="refsynopsisdiv">
-<a name="gi-gitypelib.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * <a class="link" href="gi-gitypelib.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a> (<em class="parameter"><code><span class="type">guint8</span> *memory</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * <a class="link" href="gi-gitypelib.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a> (<em class="parameter"><code>const <span class="type">guint8</span> *memory</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * <a class="link" href="gi-gitypelib.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a> (<em class="parameter"><code><span class="type">GMappedFile</span> *mfile</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
-<span class="returnvalue">void</span> <a class="link" href="gi-gitypelib.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a> (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="gi-gitypelib.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a> (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *symbol_name</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> *symbol</code></em>);
-const <span class="returnvalue">gchar</span> * <a class="link" href="gi-gitypelib.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a> (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);
- <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib">GITypelib</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gi-gitypelib.description"></a><h2>Description</h2>
-<p>
-TODO
-</p>
-</div>
<div class="refsect1">
-<a name="gi-gitypelib.details"></a><h2>Details</h2>
-<div class="refsect2">
-<a name="g-typelib-new-from-memory"></a><h3>g_typelib_new_from_memory ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * g_typelib_new_from_memory (<em class="parameter"><code><span class="type">guint8</span> *memory</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location. The memory block
-pointed to by <em class="parameter"><code>typelib</code></em> will be automatically <code class="function">g_free()</code>d when the
-repository is destroyed.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="gi-gitypelib.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="functions_return">
+<col class="functions_name">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
-<td>address of memory chunk containing the typelib</td>
+<td class="function_type">
+<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-gitypelib.html#g-typelib-new-from-memory" title="g_typelib_new_from_memory ()">g_typelib_new_from_memory</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-gitypelib.html#g-typelib-new-from-const-memory" title="g_typelib_new_from_const_memory ()">g_typelib_new_from_const_memory</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td>length of memory chunk containing the typelib</td>
+<td class="function_type">
+<a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-gitypelib.html#g-typelib-new-from-mapped-file" title="g_typelib_new_from_mapped_file ()">g_typelib_new_from_mapped_file</a> <span class="c_punctuation">()</span>
+</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <span class="type">GError</span>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gi-gitypelib.html#g-typelib-free" title="g_typelib_free ()">g_typelib_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
+<td class="function_type">
+<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="gi-gitypelib.html#g-typelib-symbol" title="g_typelib_symbol ()">g_typelib_symbol</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gi-gitypelib.html#g-typelib-get-namespace" title="g_typelib_get_namespace ()">g_typelib_get_namespace</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
-<hr>
+<div class="refsect1">
+<a name="gi-gitypelib.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib">GITypelib</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gi-gitypelib.description"></a><h2>Description</h2>
+<p>TODO</p>
+</div>
+<div class="refsect1">
+<a name="gi-gitypelib.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
-<a name="g-typelib-new-from-const-memory"></a><h3>g_typelib_new_from_const_memory ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * g_typelib_new_from_const_memory (<em class="parameter"><code>const <span class="type">guint8</span> *memory</code></em>,
- <em class="parameter"><code><span class="type">gsize</span> len</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-typelib-new-from-memory"></a><h3>g_typelib_new_from_memory ()</h3>
+<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_typelib_new_from_memory (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location. The memory block
+pointed to by <em class="parameter"><code>typelib</code></em>
+ will be automatically <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>d when the
+repository is destroyed.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-typelib-new-from-memory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>memory</code></em> :</span></p></td>
-<td>address of memory chunk containing the typelib</td>
+<td class="parameter_name"><p>memory</p></td>
+<td class="parameter_description"><p>address of memory chunk containing the typelib</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td>length of memory chunk containing the typelib</td>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>length of memory chunk containing the typelib</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>A <span class="type">GError</span>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
-</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-typelib-new-from-memory.returns"></a><h4>Returns</h4>
+<p> the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-new-from-mapped-file"></a><h3>g_typelib_new_from_mapped_file ()</h3>
-<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> * g_typelib_new_from_mapped_file (<em class="parameter"><code><span class="type">GMappedFile</span> *mfile</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
-<p>
-Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a <span class="type">GMappedFile</span>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-typelib-new-from-const-memory"></a><h3>g_typelib_new_from_const_memory ()</h3>
+<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_typelib_new_from_const_memory (<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a memory location.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-typelib-new-from-const-memory.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>mfile</code></em> :</span></p></td>
-<td>a <span class="type">GMappedFile</span>, that will be free'd when the repository is destroyed</td>
+<td class="parameter_name"><p>memory</p></td>
+<td class="parameter_description"><p>address of memory chunk containing the typelib</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <span class="type">GError</span>
-</td>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>length of memory chunk containing the typelib</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
-</td>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>A <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="g-typelib-new-from-const-memory.returns"></a><h4>Returns</h4>
+<p> the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-typelib-new-from-mapped-file"></a><h3>g_typelib_new_from_mapped_file ()</h3>
+<pre class="programlisting"><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="returnvalue">GITypelib</span></a> *
+g_typelib_new_from_mapped_file (<em class="parameter"><code><a href="../glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a> *mfile</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> from a <a href="../glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a>.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="g-typelib-new-from-mapped-file.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>mfile</p></td>
+<td class="parameter_description"><p>a <a href="../glib/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a>, that will be free'd when the repository is destroyed</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-typelib-new-from-mapped-file.returns"></a><h4>Returns</h4>
+<p> the new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-free"></a><h3>g_typelib_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_typelib_free (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
-<p>
-Free a <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-typelib-free"></a><h3>g_typelib_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+g_typelib_free (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
+<p>Free a <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.</p>
+<div class="refsect3">
+<a name="g-typelib-free.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>a <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>
-</td>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a></p></td>
+<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-symbol"></a><h3>g_typelib_symbol ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> g_typelib_symbol (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *symbol_name</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> *symbol</code></em>);</pre>
-<p>
-Loads a symbol from <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-typelib-symbol"></a><h3>g_typelib_symbol ()</h3>
+<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+g_typelib_symbol (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>,
+ <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *symbol_name</code></em>,
+ <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *symbol</code></em>);</pre>
+<p>Loads a symbol from <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a>.</p>
+<div class="refsect3">
+<a name="g-typelib-symbol.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>the typelib</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>symbol_name</code></em> :</span></p></td>
-<td>name of symbol to be loaded</td>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>the typelib</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>symbol</code></em> :</span></p></td>
-<td>returns a pointer to the symbol value</td>
+<td class="parameter_name"><p>symbol_name</p></td>
+<td class="parameter_description"><p>name of symbol to be loaded</p></td>
+<td class="parameter_annotations"> </td>
</tr>
<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>
-<span class="type">TRUE</span> on success</td>
+<td class="parameter_name"><p>symbol</p></td>
+<td class="parameter_description"><p>returns a pointer to the symbol value</p></td>
+<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
+<div class="refsect3">
+<a name="g-typelib-symbol.returns"></a><h4>Returns</h4>
+<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> on success</p>
+</div>
+</div>
<hr>
<div class="refsect2">
-<a name="g-typelib-get-namespace"></a><h3>g_typelib_get_namespace ()</h3>
-<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_typelib_get_namespace (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
-<p>
-TODO
-</p>
-<div class="variablelist"><table border="0" class="variablelist">
+<a name="g-typelib-get-namespace"></a><h3>g_typelib_get_namespace ()</h3>
+<pre class="programlisting">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+g_typelib_get_namespace (<em class="parameter"><code><a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><span class="type">GITypelib</span></a> *typelib</code></em>);</pre>
+<p>TODO</p>
+<div class="refsect3">
+<a name="g-typelib-get-namespace.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col align="left" valign="top">
-<col>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>typelib</code></em> :</span></p></td>
-<td>TODO</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>TODO</td>
-</tr>
-</tbody>
+<tbody><tr>
+<td class="parameter_name"><p>typelib</p></td>
+<td class="parameter_description"><p>TODO</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
</table></div>
</div>
-<hr>
+<div class="refsect3">
+<a name="g-typelib-get-namespace.returns"></a><h4>Returns</h4>
+<p> TODO</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gi-gitypelib.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GITypelib"></a><h3>GITypelib</h3>
<pre class="programlisting">typedef struct {
} GITypelib;
</pre>
-<p>
-TODO
-</p>
+<p>TODO</p>
</div>
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-programming.html b/docs/reference/html/gi-programming.html
index d1284de1..a9690098 100644
--- a/docs/reference/html/gi-programming.html
+++ b/docs/reference/html/gi-programming.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Writing introspected libraries</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Writing introspected libraries: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="overview.html" title="Part I. GObject-Introspection Overview">
<link rel="prev" href="gi-building.html" title="Compiling the GObject Introspection package">
<link rel="next" href="gi.html" title="Part II. API Reference">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gi-building.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="overview.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-building.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gi-programming"></a><div class="titlepage"></div>
@@ -26,7 +26,7 @@
<h2><span class="refentrytitle">Writing introspected libraries</span></h2>
<p>Writing introspected libraries — General considerations when writing introspected libraries</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="id-1.3.4.3"></a><h2>TODO</h2>
@@ -36,7 +36,6 @@
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-struct-hierarchy.html b/docs/reference/html/gi-struct-hierarchy.html
index 0f9c0ee9..670fd504 100644
--- a/docs/reference/html/gi-struct-hierarchy.html
+++ b/docs/reference/html/gi-struct-hierarchy.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Struct hierarchy</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Struct hierarchy: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="ch01.html" title="GIRepository">
<link rel="prev" href="GIRepository.html" title="GIRepository">
<link rel="next" href="gi-common-types.html" title="common types">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="GIRepository.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-common-types.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="GIRepository.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-common-types.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gi-struct-hierarchy"></a><div class="titlepage"></div>
@@ -26,7 +26,7 @@
<h2><span class="refentrytitle"><a name="gi-struct-hierarchy.top_of_page"></a>Struct hierarchy</span></h2>
<p>Struct hierarchy — Struct hierarchy description for GIBaseInfo and all its sub structs</p>
</td>
-<td valign="top" align="right"></td>
+<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gi-struct-hierarchy.synopsis"></a><h2>Synopsis</h2>
@@ -51,7 +51,6 @@
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi-typelib.html b/docs/reference/html/gi-typelib.html
index 69ab4624..6e2326aa 100644
--- a/docs/reference/html/gi-typelib.html
+++ b/docs/reference/html/gi-typelib.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GITypelib</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GITypelib: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="gi.html" title="Part II. API Reference">
<link rel="prev" href="gi-GIValueInfo.html" title="GIValueInfo">
<link rel="next" href="gi-gitypelib.html" title="gitypelib">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gi-GIValueInfo.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="gi.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-gitypelib.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="gi.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gi-GIValueInfo.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-gitypelib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
@@ -32,7 +32,6 @@
</dl></div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/gi.devhelp2 b/docs/reference/html/gi.devhelp2
index 398a6c17..f7bd0b2a 100644
--- a/docs/reference/html/gi.devhelp2
+++ b/docs/reference/html/gi.devhelp2
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<book xmlns="http://www.devhelp.net/book" title="GObject Introspection Reference Manual" link="index.html" author="" name="gi" version="2" language="c">
<chapters>
<sub name="GObject-Introspection Overview" link="overview.html">
@@ -49,245 +48,254 @@
<sub name="Annotation Glossary" link="annotation-glossary.html"/>
</chapters>
<functions>
+ <keyword type="function" name="g_irepository_get_default ()" link="GIRepository.html#g-irepository-get-default"/>
+ <keyword type="function" name="g_irepository_get_dependencies ()" link="GIRepository.html#g-irepository-get-dependencies"/>
+ <keyword type="function" name="g_irepository_get_immediate_dependencies ()" link="GIRepository.html#g-irepository-get-immediate-dependencies" since="1.44"/>
+ <keyword type="function" name="g_irepository_get_loaded_namespaces ()" link="GIRepository.html#g-irepository-get-loaded-namespaces"/>
+ <keyword type="function" name="g_irepository_get_n_infos ()" link="GIRepository.html#g-irepository-get-n-infos"/>
+ <keyword type="function" name="g_irepository_get_info ()" link="GIRepository.html#g-irepository-get-info"/>
+ <keyword type="function" name="g_irepository_get_option_group ()" link="GIRepository.html#g-irepository-get-option-group"/>
+ <keyword type="function" name="g_irepository_enumerate_versions ()" link="GIRepository.html#g-irepository-enumerate-versions"/>
+ <keyword type="function" name="g_irepository_prepend_library_path ()" link="GIRepository.html#g-irepository-prepend-library-path" since="1.35.8"/>
+ <keyword type="function" name="g_irepository_prepend_search_path ()" link="GIRepository.html#g-irepository-prepend-search-path"/>
+ <keyword type="function" name="g_irepository_get_search_path ()" link="GIRepository.html#g-irepository-get-search-path"/>
+ <keyword type="function" name="g_irepository_load_typelib ()" link="GIRepository.html#g-irepository-load-typelib"/>
+ <keyword type="function" name="g_irepository_get_typelib_path ()" link="GIRepository.html#g-irepository-get-typelib-path"/>
+ <keyword type="function" name="g_irepository_is_registered ()" link="GIRepository.html#g-irepository-is-registered"/>
+ <keyword type="function" name="g_irepository_require ()" link="GIRepository.html#g-irepository-require"/>
+ <keyword type="function" name="g_irepository_require_private ()" link="GIRepository.html#g-irepository-require-private"/>
+ <keyword type="function" name="g_irepository_get_c_prefix ()" link="GIRepository.html#g-irepository-get-c-prefix"/>
+ <keyword type="function" name="g_irepository_get_shared_library ()" link="GIRepository.html#g-irepository-get-shared-library"/>
+ <keyword type="function" name="g_irepository_get_version ()" link="GIRepository.html#g-irepository-get-version"/>
+ <keyword type="function" name="g_irepository_find_by_gtype ()" link="GIRepository.html#g-irepository-find-by-gtype"/>
+ <keyword type="function" name="g_irepository_find_by_error_domain ()" link="GIRepository.html#g-irepository-find-by-error-domain" since="1.29.17"/>
+ <keyword type="function" name="g_irepository_find_by_name ()" link="GIRepository.html#g-irepository-find-by-name"/>
+ <keyword type="function" name="g_irepository_dump ()" link="GIRepository.html#g-irepository-dump"/>
+ <keyword type="function" name="gi_cclosure_marshal_generic ()" link="GIRepository.html#gi-cclosure-marshal-generic"/>
<keyword type="struct" name="struct GIRepository" link="GIRepository.html#GIRepository-struct"/>
<keyword type="enum" name="enum GIRepositoryLoadFlags" link="GIRepository.html#GIRepositoryLoadFlags"/>
- <keyword type="function" name="g_irepository_get_default ()" link="GIRepository.html#g-irepository-get-default"/>
- <keyword type="function" name="g_irepository_get_dependencies ()" link="GIRepository.html#g-irepository-get-dependencies"/>
- <keyword type="function" name="g_irepository_get_immediate_dependencies ()" link="GIRepository.html#g-irepository-get-immediate-dependencies" since="1.44"/>
- <keyword type="function" name="g_irepository_get_loaded_namespaces ()" link="GIRepository.html#g-irepository-get-loaded-namespaces"/>
- <keyword type="function" name="g_irepository_get_n_infos ()" link="GIRepository.html#g-irepository-get-n-infos"/>
- <keyword type="function" name="g_irepository_get_info ()" link="GIRepository.html#g-irepository-get-info"/>
- <keyword type="function" name="g_irepository_get_option_group ()" link="GIRepository.html#g-irepository-get-option-group"/>
- <keyword type="function" name="g_irepository_enumerate_versions ()" link="GIRepository.html#g-irepository-enumerate-versions"/>
- <keyword type="function" name="g_irepository_prepend_library_path ()" link="GIRepository.html#g-irepository-prepend-library-path" since="1.35.8"/>
- <keyword type="function" name="g_irepository_prepend_search_path ()" link="GIRepository.html#g-irepository-prepend-search-path"/>
- <keyword type="function" name="g_irepository_get_search_path ()" link="GIRepository.html#g-irepository-get-search-path"/>
- <keyword type="function" name="g_irepository_load_typelib ()" link="GIRepository.html#g-irepository-load-typelib"/>
- <keyword type="function" name="g_irepository_get_typelib_path ()" link="GIRepository.html#g-irepository-get-typelib-path"/>
- <keyword type="function" name="g_irepository_is_registered ()" link="GIRepository.html#g-irepository-is-registered"/>
- <keyword type="function" name="g_irepository_require ()" link="GIRepository.html#g-irepository-require"/>
- <keyword type="function" name="g_irepository_require_private ()" link="GIRepository.html#g-irepository-require-private"/>
- <keyword type="function" name="g_irepository_get_c_prefix ()" link="GIRepository.html#g-irepository-get-c-prefix"/>
- <keyword type="function" name="g_irepository_get_shared_library ()" link="GIRepository.html#g-irepository-get-shared-library"/>
- <keyword type="function" name="g_irepository_get_version ()" link="GIRepository.html#g-irepository-get-version"/>
- <keyword type="function" name="g_irepository_find_by_gtype ()" link="GIRepository.html#g-irepository-find-by-gtype"/>
- <keyword type="function" name="g_irepository_find_by_error_domain ()" link="GIRepository.html#g-irepository-find-by-error-domain" since="1.29.17"/>
- <keyword type="function" name="g_irepository_find_by_name ()" link="GIRepository.html#g-irepository-find-by-name"/>
- <keyword type="function" name="g_irepository_dump ()" link="GIRepository.html#g-irepository-dump"/>
- <keyword type="function" name="gi_cclosure_marshal_generic ()" link="GIRepository.html#gi-cclosure-marshal-generic"/>
<keyword type="macro" name="G_IREPOSITORY_ERROR" link="GIRepository.html#G-IREPOSITORY-ERROR:CAPS"/>
<keyword type="enum" name="enum GIRepositoryError" link="GIRepository.html#GIRepositoryError"/>
- <keyword type="union" name="union GIArgument" link="gi-common-types.html#GIArgument"/>
+ <keyword type="macro" name="G_TYPE_TAG_IS_BASIC()" link="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS"/>
+ <keyword type="union" name="GIArgument" link="gi-common-types.html#GIArgument"/>
<keyword type="struct" name="GIUnresolvedInfo" link="gi-common-types.html#GIUnresolvedInfo"/>
<keyword type="enum" name="enum GITypeTag" link="gi-common-types.html#GITypeTag"/>
<keyword type="enum" name="enum GIArrayType" link="gi-common-types.html#GIArrayType"/>
<keyword type="macro" name="GI_TYPE_TAG_N_TYPES" link="gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS"/>
- <keyword type="macro" name="G_TYPE_TAG_IS_BASIC()" link="gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS"/>
+ <keyword type="function" name="g_info_new ()" link="gi-GIBaseInfo.html#g-info-new"/>
+ <keyword type="function" name="g_base_info_ref ()" link="gi-GIBaseInfo.html#g-base-info-ref"/>
+ <keyword type="function" name="g_base_info_unref ()" link="gi-GIBaseInfo.html#g-base-info-unref"/>
+ <keyword type="function" name="g_base_info_equal ()" link="gi-GIBaseInfo.html#g-base-info-equal"/>
+ <keyword type="function" name="g_base_info_get_type ()" link="gi-GIBaseInfo.html#g-base-info-get-type"/>
+ <keyword type="function" name="g_base_info_get_typelib ()" link="gi-GIBaseInfo.html#g-base-info-get-typelib"/>
+ <keyword type="function" name="g_base_info_get_namespace ()" link="gi-GIBaseInfo.html#g-base-info-get-namespace"/>
+ <keyword type="function" name="g_base_info_get_name ()" link="gi-GIBaseInfo.html#g-base-info-get-name"/>
+ <keyword type="function" name="g_base_info_get_attribute ()" link="gi-GIBaseInfo.html#g-base-info-get-attribute"/>
+ <keyword type="function" name="g_base_info_iterate_attributes ()" link="gi-GIBaseInfo.html#g-base-info-iterate-attributes"/>
+ <keyword type="function" name="g_base_info_get_container ()" link="gi-GIBaseInfo.html#g-base-info-get-container"/>
+ <keyword type="function" name="g_base_info_is_deprecated ()" link="gi-GIBaseInfo.html#g-base-info-is-deprecated"/>
<keyword type="enum" name="enum GIInfoType" link="gi-GIBaseInfo.html#GIInfoType"/>
<keyword type="struct" name="GIAttributeIter" link="gi-GIBaseInfo.html#GIAttributeIter"/>
- <keyword type="function" name="g_info_new ()" link="gi-GIBaseInfo.html#g-info-new"/>
- <keyword type="function" name="g_base_info_ref ()" link="gi-GIBaseInfo.html#g-base-info-ref"/>
- <keyword type="function" name="g_base_info_unref ()" link="gi-GIBaseInfo.html#g-base-info-unref"/>
- <keyword type="function" name="g_base_info_equal ()" link="gi-GIBaseInfo.html#g-base-info-equal"/>
- <keyword type="function" name="g_base_info_get_type ()" link="gi-GIBaseInfo.html#g-base-info-get-type"/>
- <keyword type="function" name="g_base_info_get_typelib ()" link="gi-GIBaseInfo.html#g-base-info-get-typelib"/>
- <keyword type="function" name="g_base_info_get_namespace ()" link="gi-GIBaseInfo.html#g-base-info-get-namespace"/>
- <keyword type="function" name="g_base_info_get_name ()" link="gi-GIBaseInfo.html#g-base-info-get-name"/>
- <keyword type="function" name="g_base_info_get_attribute ()" link="gi-GIBaseInfo.html#g-base-info-get-attribute"/>
- <keyword type="function" name="g_base_info_iterate_attributes ()" link="gi-GIBaseInfo.html#g-base-info-iterate-attributes"/>
- <keyword type="function" name="g_base_info_get_container ()" link="gi-GIBaseInfo.html#g-base-info-get-container"/>
- <keyword type="function" name="g_base_info_is_deprecated ()" link="gi-GIBaseInfo.html#g-base-info-is-deprecated"/>
<keyword type="macro" name="GI_IS_CALLABLE_INFO()" link="gi-GICallableInfo.html#GI-IS-CALLABLE-INFO:CAPS"/>
+ <keyword type="function" name="g_callable_info_can_throw_gerror ()" link="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" since="1.34"/>
+ <keyword type="function" name="g_callable_info_get_n_args ()" link="gi-GICallableInfo.html#g-callable-info-get-n-args"/>
+ <keyword type="function" name="g_callable_info_get_arg ()" link="gi-GICallableInfo.html#g-callable-info-get-arg"/>
+ <keyword type="function" name="g_callable_info_get_caller_owns ()" link="gi-GICallableInfo.html#g-callable-info-get-caller-owns"/>
+ <keyword type="function" name="g_callable_info_get_return_attribute ()" link="gi-GICallableInfo.html#g-callable-info-get-return-attribute"/>
+ <keyword type="function" name="g_callable_info_get_return_type ()" link="gi-GICallableInfo.html#g-callable-info-get-return-type"/>
+ <keyword type="function" name="g_callable_info_invoke ()" link="gi-GICallableInfo.html#g-callable-info-invoke"/>
+ <keyword type="function" name="g_callable_info_is_method ()" link="gi-GICallableInfo.html#g-callable-info-is-method" since="1.34"/>
+ <keyword type="function" name="g_callable_info_iterate_return_attributes ()" link="gi-GICallableInfo.html#g-callable-info-iterate-return-attributes"/>
+ <keyword type="function" name="g_callable_info_load_arg ()" link="gi-GICallableInfo.html#g-callable-info-load-arg"/>
+ <keyword type="function" name="g_callable_info_load_return_type ()" link="gi-GICallableInfo.html#g-callable-info-load-return-type"/>
+ <keyword type="function" name="g_callable_info_may_return_null ()" link="gi-GICallableInfo.html#g-callable-info-may-return-null"/>
+ <keyword type="function" name="g_callable_info_skip_return ()" link="gi-GICallableInfo.html#g-callable-info-skip-return"/>
<keyword type="typedef" name="GICallableInfo" link="gi-GICallableInfo.html#GICallableInfo"/>
- <keyword type="function" name="g_callable_info_can_throw_gerror ()" link="gi-GICallableInfo.html#g-callable-info-can-throw-gerror" since="1.34"/>
- <keyword type="function" name="g_callable_info_get_n_args ()" link="gi-GICallableInfo.html#g-callable-info-get-n-args"/>
- <keyword type="function" name="g_callable_info_get_arg ()" link="gi-GICallableInfo.html#g-callable-info-get-arg"/>
- <keyword type="function" name="g_callable_info_get_caller_owns ()" link="gi-GICallableInfo.html#g-callable-info-get-caller-owns"/>
- <keyword type="function" name="g_callable_info_get_return_attribute ()" link="gi-GICallableInfo.html#g-callable-info-get-return-attribute"/>
- <keyword type="function" name="g_callable_info_get_return_type ()" link="gi-GICallableInfo.html#g-callable-info-get-return-type"/>
- <keyword type="function" name="g_callable_info_invoke ()" link="gi-GICallableInfo.html#g-callable-info-invoke"/>
- <keyword type="function" name="g_callable_info_is_method ()" link="gi-GICallableInfo.html#g-callable-info-is-method" since="1.34"/>
- <keyword type="function" name="g_callable_info_iterate_return_attributes ()" link="gi-GICallableInfo.html#g-callable-info-iterate-return-attributes"/>
- <keyword type="function" name="g_callable_info_load_arg ()" link="gi-GICallableInfo.html#g-callable-info-load-arg"/>
- <keyword type="function" name="g_callable_info_load_return_type ()" link="gi-GICallableInfo.html#g-callable-info-load-return-type"/>
- <keyword type="function" name="g_callable_info_may_return_null ()" link="gi-GICallableInfo.html#g-callable-info-may-return-null"/>
- <keyword type="function" name="g_callable_info_skip_return ()" link="gi-GICallableInfo.html#g-callable-info-skip-return"/>
<keyword type="macro" name="GI_IS_FUNCTION_INFO()" link="gi-GIFunctionInfo.html#GI-IS-FUNCTION-INFO:CAPS"/>
+ <keyword type="function" name="g_function_info_get_flags ()" link="gi-GIFunctionInfo.html#g-function-info-get-flags"/>
+ <keyword type="function" name="g_function_info_get_property ()" link="gi-GIFunctionInfo.html#g-function-info-get-property"/>
+ <keyword type="function" name="g_function_info_get_symbol ()" link="gi-GIFunctionInfo.html#g-function-info-get-symbol"/>
+ <keyword type="function" name="g_function_info_get_vfunc ()" link="gi-GIFunctionInfo.html#g-function-info-get-vfunc"/>
+ <keyword type="function" name="g_function_info_invoke ()" link="gi-GIFunctionInfo.html#g-function-info-invoke"/>
+ <keyword type="function" name="g_invoke_error_quark ()" link="gi-GIFunctionInfo.html#g-invoke-error-quark"/>
<keyword type="typedef" name="GIFunctionInfo" link="gi-GIFunctionInfo.html#GIFunctionInfo"/>
<keyword type="enum" name="enum GIFunctionInfoFlags" link="gi-GIFunctionInfo.html#GIFunctionInfoFlags"/>
- <keyword type="function" name="g_function_info_get_flags ()" link="gi-GIFunctionInfo.html#g-function-info-get-flags"/>
- <keyword type="function" name="g_function_info_get_property ()" link="gi-GIFunctionInfo.html#g-function-info-get-property"/>
- <keyword type="function" name="g_function_info_get_symbol ()" link="gi-GIFunctionInfo.html#g-function-info-get-symbol"/>
- <keyword type="function" name="g_function_info_get_vfunc ()" link="gi-GIFunctionInfo.html#g-function-info-get-vfunc"/>
- <keyword type="function" name="g_function_info_invoke ()" link="gi-GIFunctionInfo.html#g-function-info-invoke"/>
<keyword type="macro" name="G_INVOKE_ERROR" link="gi-GIFunctionInfo.html#G-INVOKE-ERROR:CAPS"/>
- <keyword type="function" name="g_invoke_error_quark ()" link="gi-GIFunctionInfo.html#g-invoke-error-quark"/>
<keyword type="enum" name="enum GInvokeError" link="gi-GIFunctionInfo.html#GInvokeError"/>
<keyword type="typedef" name="GICallbackInfo" link="gi-GICallbackInfo.html#GICallbackInfo"/>
<keyword type="macro" name="GI_IS_SIGNAL_INFO()" link="gi-GISignalInfo.html#GI-IS-SIGNAL-INFO:CAPS"/>
+ <keyword type="function" name="g_signal_info_get_flags ()" link="gi-GISignalInfo.html#g-signal-info-get-flags"/>
+ <keyword type="function" name="g_signal_info_get_class_closure ()" link="gi-GISignalInfo.html#g-signal-info-get-class-closure"/>
+ <keyword type="function" name="g_signal_info_true_stops_emit ()" link="gi-GISignalInfo.html#g-signal-info-true-stops-emit"/>
<keyword type="typedef" name="GISignalInfo" link="gi-GISignalInfo.html#GISignalInfo"/>
- <keyword type="function" name="g_signal_info_get_flags ()" link="gi-GISignalInfo.html#g-signal-info-get-flags"/>
- <keyword type="function" name="g_signal_info_get_class_closure ()" link="gi-GISignalInfo.html#g-signal-info-get-class-closure"/>
- <keyword type="function" name="g_signal_info_true_stops_emit ()" link="gi-GISignalInfo.html#g-signal-info-true-stops-emit"/>
+ <keyword type="function" name="g_vfunc_info_get_flags ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-flags"/>
+ <keyword type="function" name="g_vfunc_info_get_offset ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-offset"/>
+ <keyword type="function" name="g_vfunc_info_get_signal ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-signal"/>
+ <keyword type="function" name="g_vfunc_info_get_invoker ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker"/>
+ <keyword type="function" name="g_vfunc_info_get_address ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-address"/>
+ <keyword type="function" name="g_vfunc_info_invoke ()" link="gi-GIVFuncInfo.html#g-vfunc-info-invoke"/>
<keyword type="typedef" name="GIVFuncInfo" link="gi-GIVFuncInfo.html#GIVFuncInfo"/>
<keyword type="enum" name="enum GIVFuncInfoFlags" link="gi-GIVFuncInfo.html#GIVFuncInfoFlags"/>
- <keyword type="function" name="g_vfunc_info_get_flags ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-flags"/>
- <keyword type="function" name="g_vfunc_info_get_offset ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-offset"/>
- <keyword type="function" name="g_vfunc_info_get_signal ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-signal"/>
- <keyword type="function" name="g_vfunc_info_get_invoker ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-invoker"/>
- <keyword type="function" name="g_vfunc_info_get_address ()" link="gi-GIVFuncInfo.html#g-vfunc-info-get-address"/>
- <keyword type="function" name="g_vfunc_info_invoke ()" link="gi-GIVFuncInfo.html#g-vfunc-info-invoke"/>
<keyword type="macro" name="GI_IS_REGISTERED_TYPE_INFO()" link="gi-GIRegisteredTypeInfo.html#GI-IS-REGISTERED-TYPE-INFO:CAPS"/>
+ <keyword type="function" name="g_registered_type_info_get_type_name ()" link="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name"/>
+ <keyword type="function" name="g_registered_type_info_get_type_init ()" link="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-init"/>
+ <keyword type="function" name="g_registered_type_info_get_g_type ()" link="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type"/>
<keyword type="typedef" name="GIRegisteredTypeInfo" link="gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo"/>
- <keyword type="function" name="g_registered_type_info_get_type_name ()" link="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name"/>
- <keyword type="function" name="g_registered_type_info_get_type_init ()" link="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-init"/>
- <keyword type="function" name="g_registered_type_info_get_g_type ()" link="gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type"/>
<keyword type="macro" name="GI_IS_ENUM_INFO()" link="gi-GIEnumInfo.html#GI-IS-ENUM-INFO:CAPS"/>
<keyword type="macro" name="GI_IS_VALUE_INFO()" link="gi-GIEnumInfo.html#GI-IS-VALUE-INFO:CAPS"/>
+ <keyword type="function" name="g_enum_info_get_n_values ()" link="gi-GIEnumInfo.html#g-enum-info-get-n-values"/>
+ <keyword type="function" name="g_enum_info_get_value ()" link="gi-GIEnumInfo.html#g-enum-info-get-value"/>
+ <keyword type="function" name="g_enum_info_get_n_methods ()" link="gi-GIEnumInfo.html#g-enum-info-get-n-methods" since="1.29.17"/>
+ <keyword type="function" name="g_enum_info_get_method ()" link="gi-GIEnumInfo.html#g-enum-info-get-method" since="1.29.17"/>
+ <keyword type="function" name="g_enum_info_get_storage_type ()" link="gi-GIEnumInfo.html#g-enum-info-get-storage-type"/>
+ <keyword type="function" name="g_enum_info_get_error_domain ()" link="gi-GIEnumInfo.html#g-enum-info-get-error-domain" since="1.29.17"/>
+ <keyword type="function" name="g_value_info_get_value ()" link="gi-GIEnumInfo.html#g-value-info-get-value"/>
<keyword type="typedef" name="GIEnumInfo" link="gi-GIEnumInfo.html#GIEnumInfo"/>
- <keyword type="function" name="g_enum_info_get_n_values ()" link="gi-GIEnumInfo.html#g-enum-info-get-n-values"/>
- <keyword type="function" name="g_enum_info_get_value ()" link="gi-GIEnumInfo.html#g-enum-info-get-value"/>
- <keyword type="function" name="g_enum_info_get_n_methods ()" link="gi-GIEnumInfo.html#g-enum-info-get-n-methods" since="1.29.17"/>
- <keyword type="function" name="g_enum_info_get_method ()" link="gi-GIEnumInfo.html#g-enum-info-get-method" since="1.29.17"/>
- <keyword type="function" name="g_enum_info_get_storage_type ()" link="gi-GIEnumInfo.html#g-enum-info-get-storage-type"/>
- <keyword type="function" name="g_enum_info_get_error_domain ()" link="gi-GIEnumInfo.html#g-enum-info-get-error-domain" since="1.29.17"/>
- <keyword type="function" name="g_value_info_get_value ()" link="gi-GIEnumInfo.html#g-value-info-get-value"/>
<keyword type="macro" name="GI_IS_STRUCT_INFO()" link="gi-GIStructInfo.html#GI-IS-STRUCT-INFO:CAPS"/>
+ <keyword type="function" name="g_struct_info_get_alignment ()" link="gi-GIStructInfo.html#g-struct-info-get-alignment"/>
+ <keyword type="function" name="g_struct_info_get_size ()" link="gi-GIStructInfo.html#g-struct-info-get-size"/>
+ <keyword type="function" name="g_struct_info_is_gtype_struct ()" link="gi-GIStructInfo.html#g-struct-info-is-gtype-struct"/>
+ <keyword type="function" name="g_struct_info_is_foreign ()" link="gi-GIStructInfo.html#g-struct-info-is-foreign"/>
+ <keyword type="function" name="g_struct_info_get_n_fields ()" link="gi-GIStructInfo.html#g-struct-info-get-n-fields"/>
+ <keyword type="function" name="g_struct_info_get_field ()" link="gi-GIStructInfo.html#g-struct-info-get-field"/>
+ <keyword type="function" name="g_struct_info_get_n_methods ()" link="gi-GIStructInfo.html#g-struct-info-get-n-methods"/>
+ <keyword type="function" name="g_struct_info_get_method ()" link="gi-GIStructInfo.html#g-struct-info-get-method"/>
+ <keyword type="function" name="g_struct_info_find_method ()" link="gi-GIStructInfo.html#g-struct-info-find-method"/>
<keyword type="typedef" name="GIStructInfo" link="gi-GIStructInfo.html#GIStructInfo"/>
- <keyword type="function" name="g_struct_info_get_alignment ()" link="gi-GIStructInfo.html#g-struct-info-get-alignment"/>
- <keyword type="function" name="g_struct_info_get_size ()" link="gi-GIStructInfo.html#g-struct-info-get-size"/>
- <keyword type="function" name="g_struct_info_is_gtype_struct ()" link="gi-GIStructInfo.html#g-struct-info-is-gtype-struct"/>
- <keyword type="function" name="g_struct_info_is_foreign ()" link="gi-GIStructInfo.html#g-struct-info-is-foreign"/>
- <keyword type="function" name="g_struct_info_get_n_fields ()" link="gi-GIStructInfo.html#g-struct-info-get-n-fields"/>
- <keyword type="function" name="g_struct_info_get_field ()" link="gi-GIStructInfo.html#g-struct-info-get-field"/>
- <keyword type="function" name="g_struct_info_get_n_methods ()" link="gi-GIStructInfo.html#g-struct-info-get-n-methods"/>
- <keyword type="function" name="g_struct_info_get_method ()" link="gi-GIStructInfo.html#g-struct-info-get-method"/>
- <keyword type="function" name="g_struct_info_find_method ()" link="gi-GIStructInfo.html#g-struct-info-find-method"/>
+ <keyword type="function" name="g_union_info_get_n_fields ()" link="gi-GIUnionInfo.html#g-union-info-get-n-fields"/>
+ <keyword type="function" name="g_union_info_get_field ()" link="gi-GIUnionInfo.html#g-union-info-get-field"/>
+ <keyword type="function" name="g_union_info_get_n_methods ()" link="gi-GIUnionInfo.html#g-union-info-get-n-methods"/>
+ <keyword type="function" name="g_union_info_get_method ()" link="gi-GIUnionInfo.html#g-union-info-get-method"/>
+ <keyword type="function" name="g_union_info_is_discriminated ()" link="gi-GIUnionInfo.html#g-union-info-is-discriminated"/>
+ <keyword type="function" name="g_union_info_get_discriminator_offset ()" link="gi-GIUnionInfo.html#g-union-info-get-discriminator-offset"/>
+ <keyword type="function" name="g_union_info_get_discriminator_type ()" link="gi-GIUnionInfo.html#g-union-info-get-discriminator-type"/>
+ <keyword type="function" name="g_union_info_get_discriminator ()" link="gi-GIUnionInfo.html#g-union-info-get-discriminator"/>
+ <keyword type="function" name="g_union_info_find_method ()" link="gi-GIUnionInfo.html#g-union-info-find-method"/>
+ <keyword type="function" name="g_union_info_get_size ()" link="gi-GIUnionInfo.html#g-union-info-get-size"/>
+ <keyword type="function" name="g_union_info_get_alignment ()" link="gi-GIUnionInfo.html#g-union-info-get-alignment"/>
<keyword type="typedef" name="GIUnionInfo" link="gi-GIUnionInfo.html#GIUnionInfo"/>
- <keyword type="function" name="g_union_info_get_n_fields ()" link="gi-GIUnionInfo.html#g-union-info-get-n-fields"/>
- <keyword type="function" name="g_union_info_get_field ()" link="gi-GIUnionInfo.html#g-union-info-get-field"/>
- <keyword type="function" name="g_union_info_get_n_methods ()" link="gi-GIUnionInfo.html#g-union-info-get-n-methods"/>
- <keyword type="function" name="g_union_info_get_method ()" link="gi-GIUnionInfo.html#g-union-info-get-method"/>
- <keyword type="function" name="g_union_info_is_discriminated ()" link="gi-GIUnionInfo.html#g-union-info-is-discriminated"/>
- <keyword type="function" name="g_union_info_get_discriminator_offset ()" link="gi-GIUnionInfo.html#g-union-info-get-discriminator-offset"/>
- <keyword type="function" name="g_union_info_get_discriminator_type ()" link="gi-GIUnionInfo.html#g-union-info-get-discriminator-type"/>
- <keyword type="function" name="g_union_info_get_discriminator ()" link="gi-GIUnionInfo.html#g-union-info-get-discriminator"/>
- <keyword type="function" name="g_union_info_find_method ()" link="gi-GIUnionInfo.html#g-union-info-find-method"/>
- <keyword type="function" name="g_union_info_get_size ()" link="gi-GIUnionInfo.html#g-union-info-get-size"/>
- <keyword type="function" name="g_union_info_get_alignment ()" link="gi-GIUnionInfo.html#g-union-info-get-alignment"/>
<keyword type="macro" name="GI_IS_OBJECT_INFO()" link="gi-GIObjectInfo.html#GI-IS-OBJECT-INFO:CAPS"/>
+ <keyword type="function" name="g_object_info_get_abstract ()" link="gi-GIObjectInfo.html#g-object-info-get-abstract"/>
+ <keyword type="function" name="g_object_info_get_fundamental ()" link="gi-GIObjectInfo.html#g-object-info-get-fundamental"/>
+ <keyword type="function" name="g_object_info_get_parent ()" link="gi-GIObjectInfo.html#g-object-info-get-parent"/>
+ <keyword type="function" name="g_object_info_get_type_name ()" link="gi-GIObjectInfo.html#g-object-info-get-type-name"/>
+ <keyword type="function" name="g_object_info_get_type_init ()" link="gi-GIObjectInfo.html#g-object-info-get-type-init"/>
+ <keyword type="function" name="g_object_info_get_n_constants ()" link="gi-GIObjectInfo.html#g-object-info-get-n-constants"/>
+ <keyword type="function" name="g_object_info_get_constant ()" link="gi-GIObjectInfo.html#g-object-info-get-constant"/>
+ <keyword type="function" name="g_object_info_get_n_fields ()" link="gi-GIObjectInfo.html#g-object-info-get-n-fields"/>
+ <keyword type="function" name="g_object_info_get_field ()" link="gi-GIObjectInfo.html#g-object-info-get-field"/>
+ <keyword type="function" name="g_object_info_get_n_interfaces ()" link="gi-GIObjectInfo.html#g-object-info-get-n-interfaces"/>
+ <keyword type="function" name="g_object_info_get_interface ()" link="gi-GIObjectInfo.html#g-object-info-get-interface"/>
+ <keyword type="function" name="g_object_info_get_n_methods ()" link="gi-GIObjectInfo.html#g-object-info-get-n-methods"/>
+ <keyword type="function" name="g_object_info_get_method ()" link="gi-GIObjectInfo.html#g-object-info-get-method"/>
+ <keyword type="function" name="g_object_info_find_method ()" link="gi-GIObjectInfo.html#g-object-info-find-method"/>
+ <keyword type="function" name="g_object_info_find_method_using_interfaces ()" link="gi-GIObjectInfo.html#g-object-info-find-method-using-interfaces"/>
+ <keyword type="function" name="g_object_info_get_n_properties ()" link="gi-GIObjectInfo.html#g-object-info-get-n-properties"/>
+ <keyword type="function" name="g_object_info_get_property ()" link="gi-GIObjectInfo.html#g-object-info-get-property"/>
+ <keyword type="function" name="g_object_info_get_n_signals ()" link="gi-GIObjectInfo.html#g-object-info-get-n-signals"/>
+ <keyword type="function" name="g_object_info_get_signal ()" link="gi-GIObjectInfo.html#g-object-info-get-signal"/>
+ <keyword type="function" name="g_object_info_find_signal ()" link="gi-GIObjectInfo.html#g-object-info-find-signal"/>
+ <keyword type="function" name="g_object_info_get_n_vfuncs ()" link="gi-GIObjectInfo.html#g-object-info-get-n-vfuncs"/>
+ <keyword type="function" name="g_object_info_get_vfunc ()" link="gi-GIObjectInfo.html#g-object-info-get-vfunc"/>
+ <keyword type="function" name="g_object_info_find_vfunc ()" link="gi-GIObjectInfo.html#g-object-info-find-vfunc"/>
+ <keyword type="function" name="g_object_info_find_vfunc_using_interfaces ()" link="gi-GIObjectInfo.html#g-object-info-find-vfunc-using-interfaces"/>
+ <keyword type="function" name="g_object_info_get_class_struct ()" link="gi-GIObjectInfo.html#g-object-info-get-class-struct"/>
+ <keyword type="function" name="g_object_info_get_ref_function ()" link="gi-GIObjectInfo.html#g-object-info-get-ref-function"/>
+ <keyword type="function" name="g_object_info_get_ref_function_pointer ()" link="gi-GIObjectInfo.html#g-object-info-get-ref-function-pointer"/>
+ <keyword type="function" name="g_object_info_get_unref_function ()" link="gi-GIObjectInfo.html#g-object-info-get-unref-function"/>
+ <keyword type="function" name="g_object_info_get_unref_function_pointer ()" link="gi-GIObjectInfo.html#g-object-info-get-unref-function-pointer"/>
+ <keyword type="function" name="g_object_info_get_set_value_function ()" link="gi-GIObjectInfo.html#g-object-info-get-set-value-function"/>
+ <keyword type="function" name="g_object_info_get_set_value_function_pointer ()" link="gi-GIObjectInfo.html#g-object-info-get-set-value-function-pointer"/>
+ <keyword type="function" name="g_object_info_get_get_value_function ()" link="gi-GIObjectInfo.html#g-object-info-get-get-value-function"/>
+ <keyword type="function" name="g_object_info_get_get_value_function_pointer ()" link="gi-GIObjectInfo.html#g-object-info-get-get-value-function-pointer"/>
+ <keyword type="function" name="GIObjectInfoRefFunction ()" link="gi-GIObjectInfo.html#GIObjectInfoRefFunction"/>
+ <keyword type="function" name="GIObjectInfoUnrefFunction ()" link="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction"/>
+ <keyword type="function" name="GIObjectInfoSetValueFunction ()" link="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction"/>
+ <keyword type="function" name="GIObjectInfoGetValueFunction ()" link="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction"/>
<keyword type="typedef" name="GIObjectInfo" link="gi-GIObjectInfo.html#GIObjectInfo"/>
- <keyword type="function" name="g_object_info_get_abstract ()" link="gi-GIObjectInfo.html#g-object-info-get-abstract"/>
- <keyword type="function" name="g_object_info_get_fundamental ()" link="gi-GIObjectInfo.html#g-object-info-get-fundamental"/>
- <keyword type="function" name="g_object_info_get_parent ()" link="gi-GIObjectInfo.html#g-object-info-get-parent"/>
- <keyword type="function" name="g_object_info_get_type_name ()" link="gi-GIObjectInfo.html#g-object-info-get-type-name"/>
- <keyword type="function" name="g_object_info_get_type_init ()" link="gi-GIObjectInfo.html#g-object-info-get-type-init"/>
- <keyword type="function" name="g_object_info_get_n_constants ()" link="gi-GIObjectInfo.html#g-object-info-get-n-constants"/>
- <keyword type="function" name="g_object_info_get_constant ()" link="gi-GIObjectInfo.html#g-object-info-get-constant"/>
- <keyword type="function" name="g_object_info_get_n_fields ()" link="gi-GIObjectInfo.html#g-object-info-get-n-fields"/>
- <keyword type="function" name="g_object_info_get_field ()" link="gi-GIObjectInfo.html#g-object-info-get-field"/>
- <keyword type="function" name="g_object_info_get_n_interfaces ()" link="gi-GIObjectInfo.html#g-object-info-get-n-interfaces"/>
- <keyword type="function" name="g_object_info_get_interface ()" link="gi-GIObjectInfo.html#g-object-info-get-interface"/>
- <keyword type="function" name="g_object_info_get_n_methods ()" link="gi-GIObjectInfo.html#g-object-info-get-n-methods"/>
- <keyword type="function" name="g_object_info_get_method ()" link="gi-GIObjectInfo.html#g-object-info-get-method"/>
- <keyword type="function" name="g_object_info_find_method ()" link="gi-GIObjectInfo.html#g-object-info-find-method"/>
- <keyword type="function" name="g_object_info_find_method_using_interfaces ()" link="gi-GIObjectInfo.html#g-object-info-find-method-using-interfaces"/>
- <keyword type="function" name="g_object_info_get_n_properties ()" link="gi-GIObjectInfo.html#g-object-info-get-n-properties"/>
- <keyword type="function" name="g_object_info_get_property ()" link="gi-GIObjectInfo.html#g-object-info-get-property"/>
- <keyword type="function" name="g_object_info_get_n_signals ()" link="gi-GIObjectInfo.html#g-object-info-get-n-signals"/>
- <keyword type="function" name="g_object_info_get_signal ()" link="gi-GIObjectInfo.html#g-object-info-get-signal"/>
- <keyword type="function" name="g_object_info_find_signal ()" link="gi-GIObjectInfo.html#g-object-info-find-signal"/>
- <keyword type="function" name="g_object_info_get_n_vfuncs ()" link="gi-GIObjectInfo.html#g-object-info-get-n-vfuncs"/>
- <keyword type="function" name="g_object_info_get_vfunc ()" link="gi-GIObjectInfo.html#g-object-info-get-vfunc"/>
- <keyword type="function" name="g_object_info_find_vfunc ()" link="gi-GIObjectInfo.html#g-object-info-find-vfunc"/>
- <keyword type="function" name="g_object_info_find_vfunc_using_interfaces ()" link="gi-GIObjectInfo.html#g-object-info-find-vfunc-using-interfaces"/>
- <keyword type="function" name="g_object_info_get_class_struct ()" link="gi-GIObjectInfo.html#g-object-info-get-class-struct"/>
- <keyword type="function" name="g_object_info_get_ref_function ()" link="gi-GIObjectInfo.html#g-object-info-get-ref-function"/>
- <keyword type="function" name="g_object_info_get_ref_function_pointer ()" link="gi-GIObjectInfo.html#g-object-info-get-ref-function-pointer"/>
- <keyword type="function" name="g_object_info_get_unref_function ()" link="gi-GIObjectInfo.html#g-object-info-get-unref-function"/>
- <keyword type="function" name="g_object_info_get_unref_function_pointer ()" link="gi-GIObjectInfo.html#g-object-info-get-unref-function-pointer"/>
- <keyword type="function" name="g_object_info_get_set_value_function ()" link="gi-GIObjectInfo.html#g-object-info-get-set-value-function"/>
- <keyword type="function" name="g_object_info_get_set_value_function_pointer ()" link="gi-GIObjectInfo.html#g-object-info-get-set-value-function-pointer"/>
- <keyword type="function" name="g_object_info_get_get_value_function ()" link="gi-GIObjectInfo.html#g-object-info-get-get-value-function"/>
- <keyword type="function" name="g_object_info_get_get_value_function_pointer ()" link="gi-GIObjectInfo.html#g-object-info-get-get-value-function-pointer"/>
- <keyword type="function" name="GIObjectInfoRefFunction ()" link="gi-GIObjectInfo.html#GIObjectInfoRefFunction"/>
- <keyword type="function" name="GIObjectInfoUnrefFunction ()" link="gi-GIObjectInfo.html#GIObjectInfoUnrefFunction"/>
- <keyword type="function" name="GIObjectInfoSetValueFunction ()" link="gi-GIObjectInfo.html#GIObjectInfoSetValueFunction"/>
- <keyword type="function" name="GIObjectInfoGetValueFunction ()" link="gi-GIObjectInfo.html#GIObjectInfoGetValueFunction"/>
<keyword type="macro" name="GI_IS_INTERFACE_INFO()" link="gi-GIInterfaceInfo.html#GI-IS-INTERFACE-INFO:CAPS"/>
+ <keyword type="function" name="g_interface_info_get_n_prerequisites ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-prerequisites"/>
+ <keyword type="function" name="g_interface_info_get_prerequisite ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-prerequisite"/>
+ <keyword type="function" name="g_interface_info_get_n_properties ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-properties"/>
+ <keyword type="function" name="g_interface_info_get_property ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-property"/>
+ <keyword type="function" name="g_interface_info_get_n_methods ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-methods"/>
+ <keyword type="function" name="g_interface_info_get_method ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-method"/>
+ <keyword type="function" name="g_interface_info_find_method ()" link="gi-GIInterfaceInfo.html#g-interface-info-find-method"/>
+ <keyword type="function" name="g_interface_info_get_n_signals ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-signals"/>
+ <keyword type="function" name="g_interface_info_get_signal ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-signal"/>
+ <keyword type="function" name="g_interface_info_find_signal ()" link="gi-GIInterfaceInfo.html#g-interface-info-find-signal" since="1.34"/>
+ <keyword type="function" name="g_interface_info_get_n_vfuncs ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-vfuncs"/>
+ <keyword type="function" name="g_interface_info_get_vfunc ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-vfunc"/>
+ <keyword type="function" name="g_interface_info_find_vfunc ()" link="gi-GIInterfaceInfo.html#g-interface-info-find-vfunc"/>
+ <keyword type="function" name="g_interface_info_get_n_constants ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-constants"/>
+ <keyword type="function" name="g_interface_info_get_constant ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-constant"/>
+ <keyword type="function" name="g_interface_info_get_iface_struct ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-iface-struct"/>
<keyword type="typedef" name="GIInterfaceInfo" link="gi-GIInterfaceInfo.html#GIInterfaceInfo"/>
- <keyword type="function" name="g_interface_info_get_n_prerequisites ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-prerequisites"/>
- <keyword type="function" name="g_interface_info_get_prerequisite ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-prerequisite"/>
- <keyword type="function" name="g_interface_info_get_n_properties ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-properties"/>
- <keyword type="function" name="g_interface_info_get_property ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-property"/>
- <keyword type="function" name="g_interface_info_get_n_methods ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-methods"/>
- <keyword type="function" name="g_interface_info_get_method ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-method"/>
- <keyword type="function" name="g_interface_info_find_method ()" link="gi-GIInterfaceInfo.html#g-interface-info-find-method"/>
- <keyword type="function" name="g_interface_info_get_n_signals ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-signals"/>
- <keyword type="function" name="g_interface_info_get_signal ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-signal"/>
- <keyword type="function" name="g_interface_info_find_signal ()" link="gi-GIInterfaceInfo.html#g-interface-info-find-signal" since="1.34"/>
- <keyword type="function" name="g_interface_info_get_n_vfuncs ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-vfuncs"/>
- <keyword type="function" name="g_interface_info_get_vfunc ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-vfunc"/>
- <keyword type="function" name="g_interface_info_find_vfunc ()" link="gi-GIInterfaceInfo.html#g-interface-info-find-vfunc"/>
- <keyword type="function" name="g_interface_info_get_n_constants ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-n-constants"/>
- <keyword type="function" name="g_interface_info_get_constant ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-constant"/>
- <keyword type="function" name="g_interface_info_get_iface_struct ()" link="gi-GIInterfaceInfo.html#g-interface-info-get-iface-struct"/>
<keyword type="macro" name="GI_IS_ARG_INFO()" link="gi-GIArgInfo.html#GI-IS-ARG-INFO:CAPS"/>
+ <keyword type="function" name="g_arg_info_get_closure ()" link="gi-GIArgInfo.html#g-arg-info-get-closure"/>
+ <keyword type="function" name="g_arg_info_get_destroy ()" link="gi-GIArgInfo.html#g-arg-info-get-destroy"/>
+ <keyword type="function" name="g_arg_info_get_direction ()" link="gi-GIArgInfo.html#g-arg-info-get-direction"/>
+ <keyword type="function" name="g_arg_info_get_ownership_transfer ()" link="gi-GIArgInfo.html#g-arg-info-get-ownership-transfer"/>
+ <keyword type="function" name="g_arg_info_get_scope ()" link="gi-GIArgInfo.html#g-arg-info-get-scope"/>
+ <keyword type="function" name="g_arg_info_get_type ()" link="gi-GIArgInfo.html#g-arg-info-get-type"/>
+ <keyword type="function" name="g_arg_info_load_type ()" link="gi-GIArgInfo.html#g-arg-info-load-type"/>
+ <keyword type="function" name="g_arg_info_may_be_null ()" link="gi-GIArgInfo.html#g-arg-info-may-be-null"/>
+ <keyword type="function" name="g_arg_info_is_caller_allocates ()" link="gi-GIArgInfo.html#g-arg-info-is-caller-allocates"/>
+ <keyword type="function" name="g_arg_info_is_optional ()" link="gi-GIArgInfo.html#g-arg-info-is-optional"/>
+ <keyword type="function" name="g_arg_info_is_return_value ()" link="gi-GIArgInfo.html#g-arg-info-is-return-value"/>
+ <keyword type="function" name="g_arg_info_is_skip ()" link="gi-GIArgInfo.html#g-arg-info-is-skip" since="1.29.0"/>
<keyword type="typedef" name="GIArgInfo" link="gi-GIArgInfo.html#GIArgInfo"/>
<keyword type="enum" name="enum GIDirection" link="gi-GIArgInfo.html#GIDirection"/>
<keyword type="enum" name="enum GIScopeType" link="gi-GIArgInfo.html#GIScopeType"/>
<keyword type="enum" name="enum GITransfer" link="gi-GIArgInfo.html#GITransfer"/>
- <keyword type="function" name="g_arg_info_get_closure ()" link="gi-GIArgInfo.html#g-arg-info-get-closure"/>
- <keyword type="function" name="g_arg_info_get_destroy ()" link="gi-GIArgInfo.html#g-arg-info-get-destroy"/>
- <keyword type="function" name="g_arg_info_get_direction ()" link="gi-GIArgInfo.html#g-arg-info-get-direction"/>
- <keyword type="function" name="g_arg_info_get_ownership_transfer ()" link="gi-GIArgInfo.html#g-arg-info-get-ownership-transfer"/>
- <keyword type="function" name="g_arg_info_get_scope ()" link="gi-GIArgInfo.html#g-arg-info-get-scope"/>
- <keyword type="function" name="g_arg_info_get_type ()" link="gi-GIArgInfo.html#g-arg-info-get-type"/>
- <keyword type="function" name="g_arg_info_load_type ()" link="gi-GIArgInfo.html#g-arg-info-load-type"/>
- <keyword type="function" name="g_arg_info_may_be_null ()" link="gi-GIArgInfo.html#g-arg-info-may-be-null"/>
- <keyword type="function" name="g_arg_info_is_caller_allocates ()" link="gi-GIArgInfo.html#g-arg-info-is-caller-allocates"/>
- <keyword type="function" name="g_arg_info_is_optional ()" link="gi-GIArgInfo.html#g-arg-info-is-optional"/>
- <keyword type="function" name="g_arg_info_is_return_value ()" link="gi-GIArgInfo.html#g-arg-info-is-return-value"/>
- <keyword type="function" name="g_arg_info_is_skip ()" link="gi-GIArgInfo.html#g-arg-info-is-skip" since="1.29.0"/>
<keyword type="macro" name="GI_IS_CONSTANT_INFO()" link="gi-GIConstantInfo.html#GI-IS-CONSTANT-INFO:CAPS"/>
+ <keyword type="function" name="g_constant_info_free_value ()" link="gi-GIConstantInfo.html#g-constant-info-free-value" since="1.30.1"/>
+ <keyword type="function" name="g_constant_info_get_type ()" link="gi-GIConstantInfo.html#g-constant-info-get-type"/>
+ <keyword type="function" name="g_constant_info_get_value ()" link="gi-GIConstantInfo.html#g-constant-info-get-value"/>
<keyword type="typedef" name="GIConstantInfo" link="gi-GIConstantInfo.html#GIConstantInfo"/>
- <keyword type="function" name="g_constant_info_free_value ()" link="gi-GIConstantInfo.html#g-constant-info-free-value" since="1.30.1"/>
- <keyword type="function" name="g_constant_info_get_type ()" link="gi-GIConstantInfo.html#g-constant-info-get-type"/>
- <keyword type="function" name="g_constant_info_get_value ()" link="gi-GIConstantInfo.html#g-constant-info-get-value"/>
<keyword type="macro" name="GI_IS_FIELD_INFO()" link="gi-GIFieldInfo.html#GI-IS-FIELD-INFO:CAPS"/>
+ <keyword type="function" name="g_field_info_get_field ()" link="gi-GIFieldInfo.html#g-field-info-get-field"/>
+ <keyword type="function" name="g_field_info_set_field ()" link="gi-GIFieldInfo.html#g-field-info-set-field"/>
+ <keyword type="function" name="g_field_info_get_flags ()" link="gi-GIFieldInfo.html#g-field-info-get-flags"/>
+ <keyword type="function" name="g_field_info_get_offset ()" link="gi-GIFieldInfo.html#g-field-info-get-offset"/>
+ <keyword type="function" name="g_field_info_get_size ()" link="gi-GIFieldInfo.html#g-field-info-get-size"/>
+ <keyword type="function" name="g_field_info_get_type ()" link="gi-GIFieldInfo.html#g-field-info-get-type"/>
<keyword type="typedef" name="GIFieldInfo" link="gi-GIFieldInfo.html#GIFieldInfo"/>
<keyword type="enum" name="enum GIFieldInfoFlags" link="gi-GIFieldInfo.html#GIFieldInfoFlags"/>
- <keyword type="function" name="g_field_info_get_field ()" link="gi-GIFieldInfo.html#g-field-info-get-field"/>
- <keyword type="function" name="g_field_info_set_field ()" link="gi-GIFieldInfo.html#g-field-info-set-field"/>
- <keyword type="function" name="g_field_info_get_flags ()" link="gi-GIFieldInfo.html#g-field-info-get-flags"/>
- <keyword type="function" name="g_field_info_get_offset ()" link="gi-GIFieldInfo.html#g-field-info-get-offset"/>
- <keyword type="function" name="g_field_info_get_size ()" link="gi-GIFieldInfo.html#g-field-info-get-size"/>
- <keyword type="function" name="g_field_info_get_type ()" link="gi-GIFieldInfo.html#g-field-info-get-type"/>
<keyword type="macro" name="GI_IS_PROPERTY_INFO()" link="gi-GIPropertyInfo.html#GI-IS-PROPERTY-INFO:CAPS"/>
+ <keyword type="function" name="g_property_info_get_flags ()" link="gi-GIPropertyInfo.html#g-property-info-get-flags"/>
+ <keyword type="function" name="g_property_info_get_ownership_transfer ()" link="gi-GIPropertyInfo.html#g-property-info-get-ownership-transfer"/>
+ <keyword type="function" name="g_property_info_get_type ()" link="gi-GIPropertyInfo.html#g-property-info-get-type"/>
<keyword type="typedef" name="GIPropertyInfo" link="gi-GIPropertyInfo.html#GIPropertyInfo"/>
- <keyword type="function" name="g_property_info_get_flags ()" link="gi-GIPropertyInfo.html#g-property-info-get-flags"/>
- <keyword type="function" name="g_property_info_get_ownership_transfer ()" link="gi-GIPropertyInfo.html#g-property-info-get-ownership-transfer"/>
- <keyword type="function" name="g_property_info_get_type ()" link="gi-GIPropertyInfo.html#g-property-info-get-type"/>
<keyword type="macro" name="GI_IS_TYPE_INFO()" link="gi-GITypeInfo.html#GI-IS-TYPE-INFO:CAPS"/>
+ <keyword type="function" name="g_type_tag_to_string ()" link="gi-GITypeInfo.html#g-type-tag-to-string"/>
+ <keyword type="function" name="g_info_type_to_string ()" link="gi-GITypeInfo.html#g-info-type-to-string"/>
+ <keyword type="function" name="g_type_info_is_pointer ()" link="gi-GITypeInfo.html#g-type-info-is-pointer"/>
+ <keyword type="function" name="g_type_info_get_tag ()" link="gi-GITypeInfo.html#g-type-info-get-tag"/>
+ <keyword type="function" name="g_type_info_get_param_type ()" link="gi-GITypeInfo.html#g-type-info-get-param-type"/>
+ <keyword type="function" name="g_type_info_get_interface ()" link="gi-GITypeInfo.html#g-type-info-get-interface"/>
+ <keyword type="function" name="g_type_info_get_array_length ()" link="gi-GITypeInfo.html#g-type-info-get-array-length"/>
+ <keyword type="function" name="g_type_info_get_array_fixed_size ()" link="gi-GITypeInfo.html#g-type-info-get-array-fixed-size"/>
+ <keyword type="function" name="g_type_info_is_zero_terminated ()" link="gi-GITypeInfo.html#g-type-info-is-zero-terminated"/>
+ <keyword type="function" name="g_type_info_get_array_type ()" link="gi-GITypeInfo.html#g-type-info-get-array-type"/>
<keyword type="typedef" name="GITypeInfo" link="gi-GITypeInfo.html#GITypeInfo"/>
- <keyword type="function" name="g_type_tag_to_string ()" link="gi-GITypeInfo.html#g-type-tag-to-string"/>
- <keyword type="function" name="g_info_type_to_string ()" link="gi-GITypeInfo.html#g-info-type-to-string"/>
- <keyword type="function" name="g_type_info_is_pointer ()" link="gi-GITypeInfo.html#g-type-info-is-pointer"/>
- <keyword type="function" name="g_type_info_get_tag ()" link="gi-GITypeInfo.html#g-type-info-get-tag"/>
- <keyword type="function" name="g_type_info_get_param_type ()" link="gi-GITypeInfo.html#g-type-info-get-param-type"/>
- <keyword type="function" name="g_type_info_get_interface ()" link="gi-GITypeInfo.html#g-type-info-get-interface"/>
- <keyword type="function" name="g_type_info_get_array_length ()" link="gi-GITypeInfo.html#g-type-info-get-array-length"/>
- <keyword type="function" name="g_type_info_get_array_fixed_size ()" link="gi-GITypeInfo.html#g-type-info-get-array-fixed-size"/>
- <keyword type="function" name="g_type_info_is_zero_terminated ()" link="gi-GITypeInfo.html#g-type-info-is-zero-terminated"/>
- <keyword type="function" name="g_type_info_get_array_type ()" link="gi-GITypeInfo.html#g-type-info-get-array-type"/>
<keyword type="typedef" name="GIValueInfo" link="gi-GIValueInfo.html#GIValueInfo"/>
- <keyword type="function" name="g_typelib_new_from_memory ()" link="gi-gitypelib.html#g-typelib-new-from-memory"/>
- <keyword type="function" name="g_typelib_new_from_const_memory ()" link="gi-gitypelib.html#g-typelib-new-from-const-memory"/>
- <keyword type="function" name="g_typelib_new_from_mapped_file ()" link="gi-gitypelib.html#g-typelib-new-from-mapped-file"/>
- <keyword type="function" name="g_typelib_free ()" link="gi-gitypelib.html#g-typelib-free"/>
- <keyword type="function" name="g_typelib_symbol ()" link="gi-gitypelib.html#g-typelib-symbol"/>
- <keyword type="function" name="g_typelib_get_namespace ()" link="gi-gitypelib.html#g-typelib-get-namespace"/>
+ <keyword type="function" name="g_typelib_new_from_memory ()" link="gi-gitypelib.html#g-typelib-new-from-memory"/>
+ <keyword type="function" name="g_typelib_new_from_const_memory ()" link="gi-gitypelib.html#g-typelib-new-from-const-memory"/>
+ <keyword type="function" name="g_typelib_new_from_mapped_file ()" link="gi-gitypelib.html#g-typelib-new-from-mapped-file"/>
+ <keyword type="function" name="g_typelib_free ()" link="gi-gitypelib.html#g-typelib-free"/>
+ <keyword type="function" name="g_typelib_symbol ()" link="gi-gitypelib.html#g-typelib-symbol"/>
+ <keyword type="function" name="g_typelib_get_namespace ()" link="gi-gitypelib.html#g-typelib-get-namespace"/>
<keyword type="struct" name="GITypelib" link="gi-gitypelib.html#GITypelib"/>
+ <keyword type="function" name="g_typelib_get_dir_entry ()" link="gi-GITypelib.html#g-typelib-get-dir-entry"/>
+ <keyword type="function" name="g_typelib_get_dir_entry_by_name ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-name"/>
+ <keyword type="function" name="g_typelib_get_dir_entry_by_gtype_name ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name"/>
+ <keyword type="function" name="g_typelib_get_dir_entry_by_error_domain ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain"/>
+ <keyword type="function" name="g_typelib_matches_gtype_name_prefix ()" link="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix"/>
+ <keyword type="function" name="g_typelib_check_sanity ()" link="gi-GITypelib.html#g-typelib-check-sanity"/>
+ <keyword type="macro" name="g_typelib_get_string()" link="gi-GITypelib.html#g-typelib-get-string"/>
+ <keyword type="function" name="g_typelib_error_quark ()" link="gi-GITypelib.html#g-typelib-error-quark"/>
+ <keyword type="function" name="g_typelib_validate ()" link="gi-GITypelib.html#g-typelib-validate"/>
<keyword type="macro" name="G_IR_MAGIC" link="gi-GITypelib.html#G-IR-MAGIC:CAPS"/>
<keyword type="enum" name="enum GTypelibBlobType" link="gi-GITypelib.html#GTypelibBlobType"/>
<keyword type="struct" name="Header" link="gi-GITypelib.html#Header"/>
@@ -295,7 +303,7 @@
<keyword type="struct" name="Section" link="gi-GITypelib.html#Section"/>
<keyword type="struct" name="DirEntry" link="gi-GITypelib.html#DirEntry"/>
<keyword type="struct" name="SimpleTypeBlobFlags" link="gi-GITypelib.html#SimpleTypeBlobFlags"/>
- <keyword type="union" name="union SimpleTypeBlob" link="gi-GITypelib.html#SimpleTypeBlob"/>
+ <keyword type="union" name="SimpleTypeBlob" link="gi-GITypelib.html#SimpleTypeBlob"/>
<keyword type="struct" name="ArgBlob" link="gi-GITypelib.html#ArgBlob"/>
<keyword type="struct" name="SignatureBlob" link="gi-GITypelib.html#SignatureBlob"/>
<keyword type="struct" name="CommonBlob" link="gi-GITypelib.html#CommonBlob"/>
@@ -319,34 +327,20 @@
<keyword type="struct" name="InterfaceBlob" link="gi-GITypelib.html#InterfaceBlob"/>
<keyword type="struct" name="ConstantBlob" link="gi-GITypelib.html#ConstantBlob"/>
<keyword type="struct" name="AttributeBlob" link="gi-GITypelib.html#AttributeBlob"/>
- <keyword type="function" name="g_typelib_get_dir_entry ()" link="gi-GITypelib.html#g-typelib-get-dir-entry"/>
- <keyword type="function" name="g_typelib_get_dir_entry_by_name ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-name"/>
- <keyword type="function" name="g_typelib_get_dir_entry_by_gtype_name ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name"/>
- <keyword type="function" name="g_typelib_get_dir_entry_by_error_domain ()" link="gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain"/>
- <keyword type="function" name="g_typelib_matches_gtype_name_prefix ()" link="gi-GITypelib.html#g-typelib-matches-gtype-name-prefix"/>
- <keyword type="function" name="g_typelib_check_sanity ()" link="gi-GITypelib.html#g-typelib-check-sanity"/>
- <keyword type="macro" name="g_typelib_get_string()" link="gi-GITypelib.html#g-typelib-get-string"/>
<keyword type="enum" name="enum GITypelibError" link="gi-GITypelib.html#GITypelibError"/>
<keyword type="macro" name="G_TYPELIB_ERROR" link="gi-GITypelib.html#G-TYPELIB-ERROR:CAPS"/>
- <keyword type="function" name="g_typelib_error_quark ()" link="gi-GITypelib.html#g-typelib-error-quark"/>
- <keyword type="function" name="g_typelib_validate ()" link="gi-GITypelib.html#g-typelib-validate"/>
<keyword type="struct" name="GITypelibHashBuilder" link="gi-GITypelib.html#GITypelibHashBuilder"/>
- <keyword type="function" name="GIFFIClosureCallback ()" link="gi-girffi.html#GIFFIClosureCallback"/>
+ <keyword type="function" name="GIFFIClosureCallback ()" link="gi-girffi.html#GIFFIClosureCallback"/>
+ <keyword type="function" name="gi_type_tag_get_ffi_type ()" link="gi-girffi.html#gi-type-tag-get-ffi-type"/>
+ <keyword type="function" name="g_type_info_get_ffi_type ()" link="gi-girffi.html#g-type-info-get-ffi-type"/>
+ <keyword type="function" name="gi_type_info_extract_ffi_return_value ()" link="gi-girffi.html#gi-type-info-extract-ffi-return-value"/>
+ <keyword type="function" name="g_function_info_prep_invoker ()" link="gi-girffi.html#g-function-info-prep-invoker"/>
+ <keyword type="function" name="g_function_invoker_new_for_address ()" link="gi-girffi.html#g-function-invoker-new-for-address"/>
+ <keyword type="function" name="g_function_invoker_destroy ()" link="gi-girffi.html#g-function-invoker-destroy"/>
+ <keyword type="function" name="g_callable_info_prepare_closure ()" link="gi-girffi.html#g-callable-info-prepare-closure"/>
+ <keyword type="function" name="g_callable_info_free_closure ()" link="gi-girffi.html#g-callable-info-free-closure"/>
<keyword type="struct" name="struct GIFunctionInvoker" link="gi-girffi.html#GIFunctionInvoker"/>
<keyword type="typedef" name="GIFFIReturnValue" link="gi-girffi.html#GIFFIReturnValue"/>
- <keyword type="function" name="gi_type_tag_get_ffi_type ()" link="gi-girffi.html#gi-type-tag-get-ffi-type"/>
- <keyword type="function" name="g_type_info_get_ffi_type ()" link="gi-girffi.html#g-type-info-get-ffi-type"/>
- <keyword type="function" name="gi_type_info_extract_ffi_return_value ()" link="gi-girffi.html#gi-type-info-extract-ffi-return-value"/>
- <keyword type="function" name="g_function_info_prep_invoker ()" link="gi-girffi.html#g-function-info-prep-invoker"/>
- <keyword type="function" name="g_function_invoker_new_for_address ()" link="gi-girffi.html#g-function-invoker-new-for-address"/>
- <keyword type="function" name="g_function_invoker_destroy ()" link="gi-girffi.html#g-function-invoker-destroy"/>
- <keyword type="function" name="g_callable_info_prepare_closure ()" link="gi-girffi.html#g-callable-info-prepare-closure"/>
- <keyword type="function" name="g_callable_info_free_closure ()" link="gi-girffi.html#g-callable-info-free-closure"/>
- <keyword type="" name="api node" link="gi-gir-reference.html#gi-gir-api-node"/>
- <keyword type="" name="namespace node" link="gi-gir-reference.html#gi-gir-namespace"/>
- <keyword type="" name="class node" link="gi-gir-reference.html#gi-gir-class"/>
- <keyword type="" name="interface node" link="gi-gir-reference.html#gi-gir-interface"/>
- <keyword type="" name="function node" link="gi-gir-reference.html#gi-gir-function"/>
<keyword type="constant" name="G_IREPOSITORY_LOAD_FLAG_LAZY" link="GIRepository.html#G-IREPOSITORY-LOAD-FLAG-LAZY:CAPS"/>
<keyword type="constant" name="G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND" link="GIRepository.html#G-IREPOSITORY-ERROR-TYPELIB-NOT-FOUND:CAPS"/>
<keyword type="constant" name="G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH" link="GIRepository.html#G-IREPOSITORY-ERROR-NAMESPACE-MISMATCH:CAPS"/>
@@ -442,5 +436,286 @@
<keyword type="constant" name="G_TYPELIB_ERROR_INVALID_DIRECTORY" link="gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS"/>
<keyword type="constant" name="G_TYPELIB_ERROR_INVALID_ENTRY" link="gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-ENTRY:CAPS"/>
<keyword type="constant" name="G_TYPELIB_ERROR_INVALID_BLOB" link="gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-BLOB:CAPS"/>
+ <keyword type="member" name="Header.magic" link="gi-GITypelib.html#Header.magic"/>
+ <keyword type="member" name="Header.major-version" link="gi-GITypelib.html#Header.major-version"/>
+ <keyword type="member" name="Header.minor-version" link="gi-GITypelib.html#Header.minor-version"/>
+ <keyword type="member" name="Header.reserved" link="gi-GITypelib.html#Header.reserved"/>
+ <keyword type="member" name="Header.n-entries" link="gi-GITypelib.html#Header.n-entries"/>
+ <keyword type="member" name="Header.n-local-entries" link="gi-GITypelib.html#Header.n-local-entries"/>
+ <keyword type="member" name="Header.directory" link="gi-GITypelib.html#Header.directory"/>
+ <keyword type="member" name="Header.n-attributes" link="gi-GITypelib.html#Header.n-attributes"/>
+ <keyword type="member" name="Header.attributes" link="gi-GITypelib.html#Header.attributes"/>
+ <keyword type="member" name="Header.dependencies" link="gi-GITypelib.html#Header.dependencies"/>
+ <keyword type="member" name="Header.size" link="gi-GITypelib.html#Header.size"/>
+ <keyword type="member" name="Header.namespace" link="gi-GITypelib.html#Header.namespace"/>
+ <keyword type="member" name="Header.nsversion" link="gi-GITypelib.html#Header.nsversion"/>
+ <keyword type="member" name="Header.shared-library" link="gi-GITypelib.html#Header.shared-library"/>
+ <keyword type="member" name="Header.c-prefix" link="gi-GITypelib.html#Header.c-prefix"/>
+ <keyword type="member" name="Header.entry-blob-size" link="gi-GITypelib.html#Header.entry-blob-size"/>
+ <keyword type="member" name="Header.function-blob-size" link="gi-GITypelib.html#Header.function-blob-size"/>
+ <keyword type="member" name="Header.callback-blob-size" link="gi-GITypelib.html#Header.callback-blob-size"/>
+ <keyword type="member" name="Header.signal-blob-size" link="gi-GITypelib.html#Header.signal-blob-size"/>
+ <keyword type="member" name="Header.vfunc-blob-size" link="gi-GITypelib.html#Header.vfunc-blob-size"/>
+ <keyword type="member" name="Header.arg-blob-size" link="gi-GITypelib.html#Header.arg-blob-size"/>
+ <keyword type="member" name="Header.property-blob-size" link="gi-GITypelib.html#Header.property-blob-size"/>
+ <keyword type="member" name="Header.field-blob-size" link="gi-GITypelib.html#Header.field-blob-size"/>
+ <keyword type="member" name="Header.value-blob-size" link="gi-GITypelib.html#Header.value-blob-size"/>
+ <keyword type="member" name="Header.attribute-blob-size" link="gi-GITypelib.html#Header.attribute-blob-size"/>
+ <keyword type="member" name="Header.constant-blob-size" link="gi-GITypelib.html#Header.constant-blob-size"/>
+ <keyword type="member" name="Header.error-domain-blob-size" link="gi-GITypelib.html#Header.error-domain-blob-size"/>
+ <keyword type="member" name="Header.signature-blob-size" link="gi-GITypelib.html#Header.signature-blob-size"/>
+ <keyword type="member" name="Header.enum-blob-size" link="gi-GITypelib.html#Header.enum-blob-size"/>
+ <keyword type="member" name="Header.struct-blob-size" link="gi-GITypelib.html#Header.struct-blob-size"/>
+ <keyword type="member" name="Header.object-blob-size" link="gi-GITypelib.html#Header.object-blob-size"/>
+ <keyword type="member" name="Header.interface-blob-size" link="gi-GITypelib.html#Header.interface-blob-size"/>
+ <keyword type="member" name="Header.union-blob-size" link="gi-GITypelib.html#Header.union-blob-size"/>
+ <keyword type="member" name="Header.sections" link="gi-GITypelib.html#Header.sections"/>
+ <keyword type="member" name="Header.padding" link="gi-GITypelib.html#Header.padding"/>
+ <keyword type="member" name="Section.id" link="gi-GITypelib.html#Section.id"/>
+ <keyword type="member" name="Section.offset" link="gi-GITypelib.html#Section.offset"/>
+ <keyword type="member" name="DirEntry.blob-type" link="gi-GITypelib.html#DirEntry.blob-type"/>
+ <keyword type="member" name="DirEntry.local" link="gi-GITypelib.html#DirEntry.local"/>
+ <keyword type="member" name="DirEntry.reserved" link="gi-GITypelib.html#DirEntry.reserved"/>
+ <keyword type="member" name="DirEntry.name" link="gi-GITypelib.html#DirEntry.name"/>
+ <keyword type="member" name="DirEntry.offset" link="gi-GITypelib.html#DirEntry.offset"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.reserved" link="gi-GITypelib.html#SimpleTypeBlobFlags.reserved"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.reserved2" link="gi-GITypelib.html#SimpleTypeBlobFlags.reserved2"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.pointer" link="gi-GITypelib.html#SimpleTypeBlobFlags.pointer"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.reserved3" link="gi-GITypelib.html#SimpleTypeBlobFlags.reserved3"/>
+ <keyword type="member" name="SimpleTypeBlobFlags.tag" link="gi-GITypelib.html#SimpleTypeBlobFlags.tag"/>
+ <keyword type="member" name="ArgBlob.name" link="gi-GITypelib.html#ArgBlob.name"/>
+ <keyword type="member" name="ArgBlob.in" link="gi-GITypelib.html#ArgBlob.in"/>
+ <keyword type="member" name="ArgBlob.out" link="gi-GITypelib.html#ArgBlob.out"/>
+ <keyword type="member" name="ArgBlob.caller-allocates" link="gi-GITypelib.html#ArgBlob.caller-allocates"/>
+ <keyword type="member" name="ArgBlob.nullable" link="gi-GITypelib.html#ArgBlob.nullable"/>
+ <keyword type="member" name="ArgBlob.optional" link="gi-GITypelib.html#ArgBlob.optional"/>
+ <keyword type="member" name="ArgBlob.transfer-ownership" link="gi-GITypelib.html#ArgBlob.transfer-ownership"/>
+ <keyword type="member" name="ArgBlob.transfer-container-ownership" link="gi-GITypelib.html#ArgBlob.transfer-container-ownership"/>
+ <keyword type="member" name="ArgBlob.return-value" link="gi-GITypelib.html#ArgBlob.return-value"/>
+ <keyword type="member" name="ArgBlob.scope" link="gi-GITypelib.html#ArgBlob.scope"/>
+ <keyword type="member" name="ArgBlob.skip" link="gi-GITypelib.html#ArgBlob.skip"/>
+ <keyword type="member" name="ArgBlob.reserved" link="gi-GITypelib.html#ArgBlob.reserved"/>
+ <keyword type="member" name="ArgBlob.closure" link="gi-GITypelib.html#ArgBlob.closure"/>
+ <keyword type="member" name="ArgBlob.destroy" link="gi-GITypelib.html#ArgBlob.destroy"/>
+ <keyword type="member" name="ArgBlob.padding" link="gi-GITypelib.html#ArgBlob.padding"/>
+ <keyword type="member" name="ArgBlob.arg-type" link="gi-GITypelib.html#ArgBlob.arg-type"/>
+ <keyword type="member" name="SignatureBlob.return-type" link="gi-GITypelib.html#SignatureBlob.return-type"/>
+ <keyword type="member" name="SignatureBlob.may-return-null" link="gi-GITypelib.html#SignatureBlob.may-return-null"/>
+ <keyword type="member" name="SignatureBlob.caller-owns-return-value" link="gi-GITypelib.html#SignatureBlob.caller-owns-return-value"/>
+ <keyword type="member" name="SignatureBlob.caller-owns-return-container" link="gi-GITypelib.html#SignatureBlob.caller-owns-return-container"/>
+ <keyword type="member" name="SignatureBlob.skip-return" link="gi-GITypelib.html#SignatureBlob.skip-return"/>
+ <keyword type="member" name="SignatureBlob.instance-transfer-ownership" link="gi-GITypelib.html#SignatureBlob.instance-transfer-ownership"/>
+ <keyword type="member" name="SignatureBlob.throws" link="gi-GITypelib.html#SignatureBlob.throws"/>
+ <keyword type="member" name="SignatureBlob.reserved" link="gi-GITypelib.html#SignatureBlob.reserved"/>
+ <keyword type="member" name="SignatureBlob.n-arguments" link="gi-GITypelib.html#SignatureBlob.n-arguments"/>
+ <keyword type="member" name="SignatureBlob.arguments" link="gi-GITypelib.html#SignatureBlob.arguments"/>
+ <keyword type="member" name="CommonBlob.blob-type" link="gi-GITypelib.html#CommonBlob.blob-type"/>
+ <keyword type="member" name="CommonBlob.deprecated" link="gi-GITypelib.html#CommonBlob.deprecated"/>
+ <keyword type="member" name="CommonBlob.reserved" link="gi-GITypelib.html#CommonBlob.reserved"/>
+ <keyword type="member" name="CommonBlob.name" link="gi-GITypelib.html#CommonBlob.name"/>
+ <keyword type="member" name="FunctionBlob.blob-type" link="gi-GITypelib.html#FunctionBlob.blob-type"/>
+ <keyword type="member" name="FunctionBlob.deprecated" link="gi-GITypelib.html#FunctionBlob.deprecated"/>
+ <keyword type="member" name="FunctionBlob.setter" link="gi-GITypelib.html#FunctionBlob.setter"/>
+ <keyword type="member" name="FunctionBlob.getter" link="gi-GITypelib.html#FunctionBlob.getter"/>
+ <keyword type="member" name="FunctionBlob.constructor" link="gi-GITypelib.html#FunctionBlob.constructor"/>
+ <keyword type="member" name="FunctionBlob.wraps-vfunc" link="gi-GITypelib.html#FunctionBlob.wraps-vfunc"/>
+ <keyword type="member" name="FunctionBlob.throws" link="gi-GITypelib.html#FunctionBlob.throws"/>
+ <keyword type="member" name="FunctionBlob.index" link="gi-GITypelib.html#FunctionBlob.index"/>
+ <keyword type="member" name="FunctionBlob.name" link="gi-GITypelib.html#FunctionBlob.name"/>
+ <keyword type="member" name="FunctionBlob.symbol" link="gi-GITypelib.html#FunctionBlob.symbol"/>
+ <keyword type="member" name="FunctionBlob.signature" link="gi-GITypelib.html#FunctionBlob.signature"/>
+ <keyword type="member" name="FunctionBlob.is-static" link="gi-GITypelib.html#FunctionBlob.is-static"/>
+ <keyword type="member" name="FunctionBlob.reserved" link="gi-GITypelib.html#FunctionBlob.reserved"/>
+ <keyword type="member" name="FunctionBlob.reserved2" link="gi-GITypelib.html#FunctionBlob.reserved2"/>
+ <keyword type="member" name="CallbackBlob.blob-type" link="gi-GITypelib.html#CallbackBlob.blob-type"/>
+ <keyword type="member" name="CallbackBlob.deprecated" link="gi-GITypelib.html#CallbackBlob.deprecated"/>
+ <keyword type="member" name="CallbackBlob.reserved" link="gi-GITypelib.html#CallbackBlob.reserved"/>
+ <keyword type="member" name="CallbackBlob.name" link="gi-GITypelib.html#CallbackBlob.name"/>
+ <keyword type="member" name="CallbackBlob.signature" link="gi-GITypelib.html#CallbackBlob.signature"/>
+ <keyword type="member" name="InterfaceTypeBlob.pointer" link="gi-GITypelib.html#InterfaceTypeBlob.pointer"/>
+ <keyword type="member" name="InterfaceTypeBlob.reserved" link="gi-GITypelib.html#InterfaceTypeBlob.reserved"/>
+ <keyword type="member" name="InterfaceTypeBlob.tag" link="gi-GITypelib.html#InterfaceTypeBlob.tag"/>
+ <keyword type="member" name="InterfaceTypeBlob.reserved2" link="gi-GITypelib.html#InterfaceTypeBlob.reserved2"/>
+ <keyword type="member" name="InterfaceTypeBlob.interface" link="gi-GITypelib.html#InterfaceTypeBlob.interface"/>
+ <keyword type="member" name="ArrayTypeBlob.pointer" link="gi-GITypelib.html#ArrayTypeBlob.pointer"/>
+ <keyword type="member" name="ArrayTypeBlob.reserved" link="gi-GITypelib.html#ArrayTypeBlob.reserved"/>
+ <keyword type="member" name="ArrayTypeBlob.tag" link="gi-GITypelib.html#ArrayTypeBlob.tag"/>
+ <keyword type="member" name="ArrayTypeBlob.zero-terminated" link="gi-GITypelib.html#ArrayTypeBlob.zero-terminated"/>
+ <keyword type="member" name="ArrayTypeBlob.has-length" link="gi-GITypelib.html#ArrayTypeBlob.has-length"/>
+ <keyword type="member" name="ArrayTypeBlob.has-size" link="gi-GITypelib.html#ArrayTypeBlob.has-size"/>
+ <keyword type="member" name="ArrayTypeBlob.array-type" link="gi-GITypelib.html#ArrayTypeBlob.array-type"/>
+ <keyword type="member" name="ArrayTypeBlob.reserved2" link="gi-GITypelib.html#ArrayTypeBlob.reserved2"/>
+ <keyword type="member" name="ArrayTypeBlob.dimensions" link="gi-GITypelib.html#ArrayTypeBlob.dimensions"/>
+ <keyword type="member" name="ArrayTypeBlob.type" link="gi-GITypelib.html#ArrayTypeBlob.type"/>
+ <keyword type="member" name="ParamTypeBlob.pointer" link="gi-GITypelib.html#ParamTypeBlob.pointer"/>
+ <keyword type="member" name="ParamTypeBlob.reserved" link="gi-GITypelib.html#ParamTypeBlob.reserved"/>
+ <keyword type="member" name="ParamTypeBlob.tag" link="gi-GITypelib.html#ParamTypeBlob.tag"/>
+ <keyword type="member" name="ParamTypeBlob.reserved2" link="gi-GITypelib.html#ParamTypeBlob.reserved2"/>
+ <keyword type="member" name="ParamTypeBlob.n-types" link="gi-GITypelib.html#ParamTypeBlob.n-types"/>
+ <keyword type="member" name="ParamTypeBlob.type" link="gi-GITypelib.html#ParamTypeBlob.type"/>
+ <keyword type="member" name="ErrorTypeBlob.pointer" link="gi-GITypelib.html#ErrorTypeBlob.pointer"/>
+ <keyword type="member" name="ErrorTypeBlob.reserved" link="gi-GITypelib.html#ErrorTypeBlob.reserved"/>
+ <keyword type="member" name="ErrorTypeBlob.tag" link="gi-GITypelib.html#ErrorTypeBlob.tag"/>
+ <keyword type="member" name="ErrorTypeBlob.reserved2" link="gi-GITypelib.html#ErrorTypeBlob.reserved2"/>
+ <keyword type="member" name="ErrorTypeBlob.n-domains" link="gi-GITypelib.html#ErrorTypeBlob.n-domains"/>
+ <keyword type="member" name="ErrorTypeBlob.domains" link="gi-GITypelib.html#ErrorTypeBlob.domains"/>
+ <keyword type="member" name="ValueBlob.deprecated" link="gi-GITypelib.html#ValueBlob.deprecated"/>
+ <keyword type="member" name="ValueBlob.unsigned-value" link="gi-GITypelib.html#ValueBlob.unsigned-value"/>
+ <keyword type="member" name="ValueBlob.reserved" link="gi-GITypelib.html#ValueBlob.reserved"/>
+ <keyword type="member" name="ValueBlob.name" link="gi-GITypelib.html#ValueBlob.name"/>
+ <keyword type="member" name="ValueBlob.value" link="gi-GITypelib.html#ValueBlob.value"/>
+ <keyword type="member" name="FieldBlob.name" link="gi-GITypelib.html#FieldBlob.name"/>
+ <keyword type="member" name="FieldBlob.readable" link="gi-GITypelib.html#FieldBlob.readable"/>
+ <keyword type="member" name="FieldBlob.writable" link="gi-GITypelib.html#FieldBlob.writable"/>
+ <keyword type="member" name="FieldBlob.has-embedded-type" link="gi-GITypelib.html#FieldBlob.has-embedded-type"/>
+ <keyword type="member" name="FieldBlob.reserved" link="gi-GITypelib.html#FieldBlob.reserved"/>
+ <keyword type="member" name="FieldBlob.bits" link="gi-GITypelib.html#FieldBlob.bits"/>
+ <keyword type="member" name="FieldBlob.struct-offset" link="gi-GITypelib.html#FieldBlob.struct-offset"/>
+ <keyword type="member" name="FieldBlob.reserved2" link="gi-GITypelib.html#FieldBlob.reserved2"/>
+ <keyword type="member" name="FieldBlob.type" link="gi-GITypelib.html#FieldBlob.type"/>
+ <keyword type="member" name="RegisteredTypeBlob.blob-type" link="gi-GITypelib.html#RegisteredTypeBlob.blob-type"/>
+ <keyword type="member" name="RegisteredTypeBlob.deprecated" link="gi-GITypelib.html#RegisteredTypeBlob.deprecated"/>
+ <keyword type="member" name="RegisteredTypeBlob.unregistered" link="gi-GITypelib.html#RegisteredTypeBlob.unregistered"/>
+ <keyword type="member" name="RegisteredTypeBlob.reserved" link="gi-GITypelib.html#RegisteredTypeBlob.reserved"/>
+ <keyword type="member" name="RegisteredTypeBlob.name" link="gi-GITypelib.html#RegisteredTypeBlob.name"/>
+ <keyword type="member" name="RegisteredTypeBlob.gtype-name" link="gi-GITypelib.html#RegisteredTypeBlob.gtype-name"/>
+ <keyword type="member" name="RegisteredTypeBlob.gtype-init" link="gi-GITypelib.html#RegisteredTypeBlob.gtype-init"/>
+ <keyword type="member" name="StructBlob.blob-type" link="gi-GITypelib.html#StructBlob.blob-type"/>
+ <keyword type="member" name="StructBlob.deprecated" link="gi-GITypelib.html#StructBlob.deprecated"/>
+ <keyword type="member" name="StructBlob.unregistered" link="gi-GITypelib.html#StructBlob.unregistered"/>
+ <keyword type="member" name="StructBlob.is-gtype-struct" link="gi-GITypelib.html#StructBlob.is-gtype-struct"/>
+ <keyword type="member" name="StructBlob.alignment" link="gi-GITypelib.html#StructBlob.alignment"/>
+ <keyword type="member" name="StructBlob.foreign" link="gi-GITypelib.html#StructBlob.foreign"/>
+ <keyword type="member" name="StructBlob.reserved" link="gi-GITypelib.html#StructBlob.reserved"/>
+ <keyword type="member" name="StructBlob.name" link="gi-GITypelib.html#StructBlob.name"/>
+ <keyword type="member" name="StructBlob.gtype-name" link="gi-GITypelib.html#StructBlob.gtype-name"/>
+ <keyword type="member" name="StructBlob.gtype-init" link="gi-GITypelib.html#StructBlob.gtype-init"/>
+ <keyword type="member" name="StructBlob.size" link="gi-GITypelib.html#StructBlob.size"/>
+ <keyword type="member" name="StructBlob.n-fields" link="gi-GITypelib.html#StructBlob.n-fields"/>
+ <keyword type="member" name="StructBlob.n-methods" link="gi-GITypelib.html#StructBlob.n-methods"/>
+ <keyword type="member" name="StructBlob.reserved2" link="gi-GITypelib.html#StructBlob.reserved2"/>
+ <keyword type="member" name="StructBlob.reserved3" link="gi-GITypelib.html#StructBlob.reserved3"/>
+ <keyword type="member" name="UnionBlob.blob-type" link="gi-GITypelib.html#UnionBlob.blob-type"/>
+ <keyword type="member" name="UnionBlob.deprecated" link="gi-GITypelib.html#UnionBlob.deprecated"/>
+ <keyword type="member" name="UnionBlob.unregistered" link="gi-GITypelib.html#UnionBlob.unregistered"/>
+ <keyword type="member" name="UnionBlob.discriminated" link="gi-GITypelib.html#UnionBlob.discriminated"/>
+ <keyword type="member" name="UnionBlob.alignment" link="gi-GITypelib.html#UnionBlob.alignment"/>
+ <keyword type="member" name="UnionBlob.reserved" link="gi-GITypelib.html#UnionBlob.reserved"/>
+ <keyword type="member" name="UnionBlob.name" link="gi-GITypelib.html#UnionBlob.name"/>
+ <keyword type="member" name="UnionBlob.gtype-name" link="gi-GITypelib.html#UnionBlob.gtype-name"/>
+ <keyword type="member" name="UnionBlob.gtype-init" link="gi-GITypelib.html#UnionBlob.gtype-init"/>
+ <keyword type="member" name="UnionBlob.size" link="gi-GITypelib.html#UnionBlob.size"/>
+ <keyword type="member" name="UnionBlob.n-fields" link="gi-GITypelib.html#UnionBlob.n-fields"/>
+ <keyword type="member" name="UnionBlob.n-functions" link="gi-GITypelib.html#UnionBlob.n-functions"/>
+ <keyword type="member" name="UnionBlob.reserved2" link="gi-GITypelib.html#UnionBlob.reserved2"/>
+ <keyword type="member" name="UnionBlob.reserved3" link="gi-GITypelib.html#UnionBlob.reserved3"/>
+ <keyword type="member" name="UnionBlob.discriminator-offset" link="gi-GITypelib.html#UnionBlob.discriminator-offset"/>
+ <keyword type="member" name="UnionBlob.discriminator-type" link="gi-GITypelib.html#UnionBlob.discriminator-type"/>
+ <keyword type="member" name="EnumBlob.blob-type" link="gi-GITypelib.html#EnumBlob.blob-type"/>
+ <keyword type="member" name="EnumBlob.deprecated" link="gi-GITypelib.html#EnumBlob.deprecated"/>
+ <keyword type="member" name="EnumBlob.unregistered" link="gi-GITypelib.html#EnumBlob.unregistered"/>
+ <keyword type="member" name="EnumBlob.storage-type" link="gi-GITypelib.html#EnumBlob.storage-type"/>
+ <keyword type="member" name="EnumBlob.reserved" link="gi-GITypelib.html#EnumBlob.reserved"/>
+ <keyword type="member" name="EnumBlob.name" link="gi-GITypelib.html#EnumBlob.name"/>
+ <keyword type="member" name="EnumBlob.gtype-name" link="gi-GITypelib.html#EnumBlob.gtype-name"/>
+ <keyword type="member" name="EnumBlob.gtype-init" link="gi-GITypelib.html#EnumBlob.gtype-init"/>
+ <keyword type="member" name="EnumBlob.n-values" link="gi-GITypelib.html#EnumBlob.n-values"/>
+ <keyword type="member" name="EnumBlob.n-methods" link="gi-GITypelib.html#EnumBlob.n-methods"/>
+ <keyword type="member" name="EnumBlob.error-domain" link="gi-GITypelib.html#EnumBlob.error-domain"/>
+ <keyword type="member" name="EnumBlob.values" link="gi-GITypelib.html#EnumBlob.values"/>
+ <keyword type="member" name="PropertyBlob.name" link="gi-GITypelib.html#PropertyBlob.name"/>
+ <keyword type="member" name="PropertyBlob.deprecated" link="gi-GITypelib.html#PropertyBlob.deprecated"/>
+ <keyword type="member" name="PropertyBlob.readable" link="gi-GITypelib.html#PropertyBlob.readable"/>
+ <keyword type="member" name="PropertyBlob.writable" link="gi-GITypelib.html#PropertyBlob.writable"/>
+ <keyword type="member" name="PropertyBlob.construct" link="gi-GITypelib.html#PropertyBlob.construct"/>
+ <keyword type="member" name="PropertyBlob.construct-only" link="gi-GITypelib.html#PropertyBlob.construct-only"/>
+ <keyword type="member" name="PropertyBlob.transfer-ownership" link="gi-GITypelib.html#PropertyBlob.transfer-ownership"/>
+ <keyword type="member" name="PropertyBlob.transfer-container-ownership" link="gi-GITypelib.html#PropertyBlob.transfer-container-ownership"/>
+ <keyword type="member" name="PropertyBlob.reserved" link="gi-GITypelib.html#PropertyBlob.reserved"/>
+ <keyword type="member" name="PropertyBlob.reserved2" link="gi-GITypelib.html#PropertyBlob.reserved2"/>
+ <keyword type="member" name="PropertyBlob.type" link="gi-GITypelib.html#PropertyBlob.type"/>
+ <keyword type="member" name="SignalBlob.deprecated" link="gi-GITypelib.html#SignalBlob.deprecated"/>
+ <keyword type="member" name="SignalBlob.run-first" link="gi-GITypelib.html#SignalBlob.run-first"/>
+ <keyword type="member" name="SignalBlob.run-last" link="gi-GITypelib.html#SignalBlob.run-last"/>
+ <keyword type="member" name="SignalBlob.run-cleanup" link="gi-GITypelib.html#SignalBlob.run-cleanup"/>
+ <keyword type="member" name="SignalBlob.no-recurse" link="gi-GITypelib.html#SignalBlob.no-recurse"/>
+ <keyword type="member" name="SignalBlob.detailed" link="gi-GITypelib.html#SignalBlob.detailed"/>
+ <keyword type="member" name="SignalBlob.action" link="gi-GITypelib.html#SignalBlob.action"/>
+ <keyword type="member" name="SignalBlob.no-hooks" link="gi-GITypelib.html#SignalBlob.no-hooks"/>
+ <keyword type="member" name="SignalBlob.has-class-closure" link="gi-GITypelib.html#SignalBlob.has-class-closure"/>
+ <keyword type="member" name="SignalBlob.true-stops-emit" link="gi-GITypelib.html#SignalBlob.true-stops-emit"/>
+ <keyword type="member" name="SignalBlob.reserved" link="gi-GITypelib.html#SignalBlob.reserved"/>
+ <keyword type="member" name="SignalBlob.class-closure" link="gi-GITypelib.html#SignalBlob.class-closure"/>
+ <keyword type="member" name="SignalBlob.name" link="gi-GITypelib.html#SignalBlob.name"/>
+ <keyword type="member" name="SignalBlob.reserved2" link="gi-GITypelib.html#SignalBlob.reserved2"/>
+ <keyword type="member" name="SignalBlob.signature" link="gi-GITypelib.html#SignalBlob.signature"/>
+ <keyword type="member" name="VFuncBlob.name" link="gi-GITypelib.html#VFuncBlob.name"/>
+ <keyword type="member" name="VFuncBlob.must-chain-up" link="gi-GITypelib.html#VFuncBlob.must-chain-up"/>
+ <keyword type="member" name="VFuncBlob.must-be-implemented" link="gi-GITypelib.html#VFuncBlob.must-be-implemented"/>
+ <keyword type="member" name="VFuncBlob.must-not-be-implemented" link="gi-GITypelib.html#VFuncBlob.must-not-be-implemented"/>
+ <keyword type="member" name="VFuncBlob.class-closure" link="gi-GITypelib.html#VFuncBlob.class-closure"/>
+ <keyword type="member" name="VFuncBlob.throws" link="gi-GITypelib.html#VFuncBlob.throws"/>
+ <keyword type="member" name="VFuncBlob.reserved" link="gi-GITypelib.html#VFuncBlob.reserved"/>
+ <keyword type="member" name="VFuncBlob.signal" link="gi-GITypelib.html#VFuncBlob.signal"/>
+ <keyword type="member" name="VFuncBlob.struct-offset" link="gi-GITypelib.html#VFuncBlob.struct-offset"/>
+ <keyword type="member" name="VFuncBlob.invoker" link="gi-GITypelib.html#VFuncBlob.invoker"/>
+ <keyword type="member" name="VFuncBlob.reserved2" link="gi-GITypelib.html#VFuncBlob.reserved2"/>
+ <keyword type="member" name="VFuncBlob.reserved3" link="gi-GITypelib.html#VFuncBlob.reserved3"/>
+ <keyword type="member" name="VFuncBlob.signature" link="gi-GITypelib.html#VFuncBlob.signature"/>
+ <keyword type="member" name="ObjectBlob.blob-type" link="gi-GITypelib.html#ObjectBlob.blob-type"/>
+ <keyword type="member" name="ObjectBlob.deprecated" link="gi-GITypelib.html#ObjectBlob.deprecated"/>
+ <keyword type="member" name="ObjectBlob.abstract" link="gi-GITypelib.html#ObjectBlob.abstract"/>
+ <keyword type="member" name="ObjectBlob.fundamental" link="gi-GITypelib.html#ObjectBlob.fundamental"/>
+ <keyword type="member" name="ObjectBlob.reserved" link="gi-GITypelib.html#ObjectBlob.reserved"/>
+ <keyword type="member" name="ObjectBlob.name" link="gi-GITypelib.html#ObjectBlob.name"/>
+ <keyword type="member" name="ObjectBlob.gtype-name" link="gi-GITypelib.html#ObjectBlob.gtype-name"/>
+ <keyword type="member" name="ObjectBlob.gtype-init" link="gi-GITypelib.html#ObjectBlob.gtype-init"/>
+ <keyword type="member" name="ObjectBlob.parent" link="gi-GITypelib.html#ObjectBlob.parent"/>
+ <keyword type="member" name="ObjectBlob.gtype-struct" link="gi-GITypelib.html#ObjectBlob.gtype-struct"/>
+ <keyword type="member" name="ObjectBlob.n-interfaces" link="gi-GITypelib.html#ObjectBlob.n-interfaces"/>
+ <keyword type="member" name="ObjectBlob.n-fields" link="gi-GITypelib.html#ObjectBlob.n-fields"/>
+ <keyword type="member" name="ObjectBlob.n-properties" link="gi-GITypelib.html#ObjectBlob.n-properties"/>
+ <keyword type="member" name="ObjectBlob.n-methods" link="gi-GITypelib.html#ObjectBlob.n-methods"/>
+ <keyword type="member" name="ObjectBlob.n-signals" link="gi-GITypelib.html#ObjectBlob.n-signals"/>
+ <keyword type="member" name="ObjectBlob.n-vfuncs" link="gi-GITypelib.html#ObjectBlob.n-vfuncs"/>
+ <keyword type="member" name="ObjectBlob.n-constants" link="gi-GITypelib.html#ObjectBlob.n-constants"/>
+ <keyword type="member" name="ObjectBlob.n-field-callbacks" link="gi-GITypelib.html#ObjectBlob.n-field-callbacks"/>
+ <keyword type="member" name="ObjectBlob.ref-func" link="gi-GITypelib.html#ObjectBlob.ref-func"/>
+ <keyword type="member" name="ObjectBlob.unref-func" link="gi-GITypelib.html#ObjectBlob.unref-func"/>
+ <keyword type="member" name="ObjectBlob.set-value-func" link="gi-GITypelib.html#ObjectBlob.set-value-func"/>
+ <keyword type="member" name="ObjectBlob.get-value-func" link="gi-GITypelib.html#ObjectBlob.get-value-func"/>
+ <keyword type="member" name="ObjectBlob.reserved3" link="gi-GITypelib.html#ObjectBlob.reserved3"/>
+ <keyword type="member" name="ObjectBlob.reserved4" link="gi-GITypelib.html#ObjectBlob.reserved4"/>
+ <keyword type="member" name="ObjectBlob.interfaces" link="gi-GITypelib.html#ObjectBlob.interfaces"/>
+ <keyword type="member" name="InterfaceBlob.blob-type" link="gi-GITypelib.html#InterfaceBlob.blob-type"/>
+ <keyword type="member" name="InterfaceBlob.deprecated" link="gi-GITypelib.html#InterfaceBlob.deprecated"/>
+ <keyword type="member" name="InterfaceBlob.reserved" link="gi-GITypelib.html#InterfaceBlob.reserved"/>
+ <keyword type="member" name="InterfaceBlob.name" link="gi-GITypelib.html#InterfaceBlob.name"/>
+ <keyword type="member" name="InterfaceBlob.gtype-name" link="gi-GITypelib.html#InterfaceBlob.gtype-name"/>
+ <keyword type="member" name="InterfaceBlob.gtype-init" link="gi-GITypelib.html#InterfaceBlob.gtype-init"/>
+ <keyword type="member" name="InterfaceBlob.gtype-struct" link="gi-GITypelib.html#InterfaceBlob.gtype-struct"/>
+ <keyword type="member" name="InterfaceBlob.n-prerequisites" link="gi-GITypelib.html#InterfaceBlob.n-prerequisites"/>
+ <keyword type="member" name="InterfaceBlob.n-properties" link="gi-GITypelib.html#InterfaceBlob.n-properties"/>
+ <keyword type="member" name="InterfaceBlob.n-methods" link="gi-GITypelib.html#InterfaceBlob.n-methods"/>
+ <keyword type="member" name="InterfaceBlob.n-signals" link="gi-GITypelib.html#InterfaceBlob.n-signals"/>
+ <keyword type="member" name="InterfaceBlob.n-vfuncs" link="gi-GITypelib.html#InterfaceBlob.n-vfuncs"/>
+ <keyword type="member" name="InterfaceBlob.n-constants" link="gi-GITypelib.html#InterfaceBlob.n-constants"/>
+ <keyword type="member" name="InterfaceBlob.padding" link="gi-GITypelib.html#InterfaceBlob.padding"/>
+ <keyword type="member" name="InterfaceBlob.reserved2" link="gi-GITypelib.html#InterfaceBlob.reserved2"/>
+ <keyword type="member" name="InterfaceBlob.reserved3" link="gi-GITypelib.html#InterfaceBlob.reserved3"/>
+ <keyword type="member" name="InterfaceBlob.prerequisites" link="gi-GITypelib.html#InterfaceBlob.prerequisites"/>
+ <keyword type="member" name="ConstantBlob.blob-type" link="gi-GITypelib.html#ConstantBlob.blob-type"/>
+ <keyword type="member" name="ConstantBlob.deprecated" link="gi-GITypelib.html#ConstantBlob.deprecated"/>
+ <keyword type="member" name="ConstantBlob.reserved" link="gi-GITypelib.html#ConstantBlob.reserved"/>
+ <keyword type="member" name="ConstantBlob.name" link="gi-GITypelib.html#ConstantBlob.name"/>
+ <keyword type="member" name="ConstantBlob.type" link="gi-GITypelib.html#ConstantBlob.type"/>
+ <keyword type="member" name="ConstantBlob.size" link="gi-GITypelib.html#ConstantBlob.size"/>
+ <keyword type="member" name="ConstantBlob.offset" link="gi-GITypelib.html#ConstantBlob.offset"/>
+ <keyword type="member" name="ConstantBlob.reserved2" link="gi-GITypelib.html#ConstantBlob.reserved2"/>
+ <keyword type="member" name="AttributeBlob.offset" link="gi-GITypelib.html#AttributeBlob.offset"/>
+ <keyword type="member" name="AttributeBlob.name" link="gi-GITypelib.html#AttributeBlob.name"/>
+ <keyword type="member" name="AttributeBlob.value" link="gi-GITypelib.html#AttributeBlob.value"/>
+ <keyword type="member" name="GIFunctionInvoker.cif" link="gi-girffi.html#GIFunctionInvoker.cif"/>
+ <keyword type="member" name="GIFunctionInvoker.native-address" link="gi-girffi.html#GIFunctionInvoker.native-address"/>
</functions>
</book>
diff --git a/docs/reference/html/gi.html b/docs/reference/html/gi.html
index 9de93fc1..d7a6463e 100644
--- a/docs/reference/html/gi.html
+++ b/docs/reference/html/gi.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Part II. API Reference</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Part II. API Reference: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="gi-programming.html" title="Writing introspected libraries">
<link rel="next" href="ch01.html" title="GIRepository">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="gi-programming.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="ch01.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="gi-programming.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch01.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="part">
<div class="titlepage"><div><div><h1 class="title">
@@ -113,7 +113,6 @@
</div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/home.png b/docs/reference/html/home.png
index 17003611..9346b336 100644
--- a/docs/reference/html/home.png
+++ b/docs/reference/html/home.png
Binary files differ
diff --git a/docs/reference/html/index.html b/docs/reference/html/index.html
index 19b0b0c3..c9aebe45 100644
--- a/docs/reference/html/index.html
+++ b/docs/reference/html/index.html
@@ -2,11 +2,11 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GObject Introspection Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>GObject Introspection Reference Manual: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="next" href="overview.html" title="Part I. GObject-Introspection Overview">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -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 Introspection Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- This document is for GObject Introspection version 1.47.1
+ This document is for GObject Introspection version 1.47.92
.
The latest version of this documentation can be found on-line at
<a class="ulink" href="http://developer.gnome.org/gi/unstable/" target="_top">http://developer.gnome.org/gi/unstable/</a>.
@@ -131,7 +131,6 @@
</dl></div>
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/index.sgml b/docs/reference/html/index.sgml
deleted file mode 100644
index 6776450d..00000000
--- a/docs/reference/html/index.sgml
+++ /dev/null
@@ -1,520 +0,0 @@
-<ANCHOR id="gi-building" href="gi/gi-building.html">
-<ANCHOR id="gi-buildtools" href="gi/gi-building.html#gi-buildtools">
-<ANCHOR id="dependencies" href="gi/gi-building.html#dependencies">
-<ANCHOR id="extra-configuration-options" href="gi/gi-building.html#extra-configuration-options">
-<ANCHOR id="gi-programming" href="gi/gi-programming.html">
-<ANCHOR id="GIRepository" href="gi/GIRepository.html">
-<ANCHOR id="GIRepository.synopsis" href="gi/GIRepository.html#GIRepository.synopsis">
-<ANCHOR id="GIRepository.object-hierarchy" href="gi/GIRepository.html#GIRepository.object-hierarchy">
-<ANCHOR id="GIRepository.description" href="gi/GIRepository.html#GIRepository.description">
-<ANCHOR id="GIRepository.details" href="gi/GIRepository.html#GIRepository.details">
-<ANCHOR id="GIRepository-struct" href="gi/GIRepository.html#GIRepository-struct">
-<ANCHOR id="GIRepositoryLoadFlags" href="gi/GIRepository.html#GIRepositoryLoadFlags">
-<ANCHOR id="G-IREPOSITORY-LOAD-FLAG-LAZY:CAPS" href="gi/GIRepository.html#G-IREPOSITORY-LOAD-FLAG-LAZY:CAPS">
-<ANCHOR id="g-irepository-get-default" href="gi/GIRepository.html#g-irepository-get-default">
-<ANCHOR id="g-irepository-get-dependencies" href="gi/GIRepository.html#g-irepository-get-dependencies">
-<ANCHOR id="g-irepository-get-immediate-dependencies" href="gi/GIRepository.html#g-irepository-get-immediate-dependencies">
-<ANCHOR id="g-irepository-get-loaded-namespaces" href="gi/GIRepository.html#g-irepository-get-loaded-namespaces">
-<ANCHOR id="g-irepository-get-n-infos" href="gi/GIRepository.html#g-irepository-get-n-infos">
-<ANCHOR id="g-irepository-get-info" href="gi/GIRepository.html#g-irepository-get-info">
-<ANCHOR id="g-irepository-get-option-group" href="gi/GIRepository.html#g-irepository-get-option-group">
-<ANCHOR id="g-irepository-enumerate-versions" href="gi/GIRepository.html#g-irepository-enumerate-versions">
-<ANCHOR id="g-irepository-prepend-library-path" href="gi/GIRepository.html#g-irepository-prepend-library-path">
-<ANCHOR id="g-irepository-prepend-search-path" href="gi/GIRepository.html#g-irepository-prepend-search-path">
-<ANCHOR id="g-irepository-get-search-path" href="gi/GIRepository.html#g-irepository-get-search-path">
-<ANCHOR id="g-irepository-load-typelib" href="gi/GIRepository.html#g-irepository-load-typelib">
-<ANCHOR id="g-irepository-get-typelib-path" href="gi/GIRepository.html#g-irepository-get-typelib-path">
-<ANCHOR id="g-irepository-is-registered" href="gi/GIRepository.html#g-irepository-is-registered">
-<ANCHOR id="g-irepository-require" href="gi/GIRepository.html#g-irepository-require">
-<ANCHOR id="g-irepository-require-private" href="gi/GIRepository.html#g-irepository-require-private">
-<ANCHOR id="g-irepository-get-c-prefix" href="gi/GIRepository.html#g-irepository-get-c-prefix">
-<ANCHOR id="g-irepository-get-shared-library" href="gi/GIRepository.html#g-irepository-get-shared-library">
-<ANCHOR id="g-irepository-get-version" href="gi/GIRepository.html#g-irepository-get-version">
-<ANCHOR id="g-irepository-find-by-gtype" href="gi/GIRepository.html#g-irepository-find-by-gtype">
-<ANCHOR id="g-irepository-find-by-error-domain" href="gi/GIRepository.html#g-irepository-find-by-error-domain">
-<ANCHOR id="g-irepository-find-by-name" href="gi/GIRepository.html#g-irepository-find-by-name">
-<ANCHOR id="g-irepository-dump" href="gi/GIRepository.html#g-irepository-dump">
-<ANCHOR id="gi-cclosure-marshal-generic" href="gi/GIRepository.html#gi-cclosure-marshal-generic">
-<ANCHOR id="G-IREPOSITORY-ERROR:CAPS" href="gi/GIRepository.html#G-IREPOSITORY-ERROR:CAPS">
-<ANCHOR id="GIRepositoryError" href="gi/GIRepository.html#GIRepositoryError">
-<ANCHOR id="G-IREPOSITORY-ERROR-TYPELIB-NOT-FOUND:CAPS" href="gi/GIRepository.html#G-IREPOSITORY-ERROR-TYPELIB-NOT-FOUND:CAPS">
-<ANCHOR id="G-IREPOSITORY-ERROR-NAMESPACE-MISMATCH:CAPS" href="gi/GIRepository.html#G-IREPOSITORY-ERROR-NAMESPACE-MISMATCH:CAPS">
-<ANCHOR id="G-IREPOSITORY-ERROR-NAMESPACE-VERSION-CONFLICT:CAPS" href="gi/GIRepository.html#G-IREPOSITORY-ERROR-NAMESPACE-VERSION-CONFLICT:CAPS">
-<ANCHOR id="G-IREPOSITORY-ERROR-LIBRARY-NOT-FOUND:CAPS" href="gi/GIRepository.html#G-IREPOSITORY-ERROR-LIBRARY-NOT-FOUND:CAPS">
-<ANCHOR id="gi-struct-hierarchy" href="gi/gi-struct-hierarchy.html">
-<ANCHOR id="gi-struct-hierarchy.synopsis" href="gi/gi-struct-hierarchy.html#gi-struct-hierarchy.synopsis">
-<ANCHOR id="gi-common-types" href="gi/gi-common-types.html">
-<ANCHOR id="gi-common-types.synopsis" href="gi/gi-common-types.html#gi-common-types.synopsis">
-<ANCHOR id="gi-common-types.description" href="gi/gi-common-types.html#gi-common-types.description">
-<ANCHOR id="gi-common-types.details" href="gi/gi-common-types.html#gi-common-types.details">
-<ANCHOR id="GIArgument" href="gi/gi-common-types.html#GIArgument">
-<ANCHOR id="GIUnresolvedInfo" href="gi/gi-common-types.html#GIUnresolvedInfo">
-<ANCHOR id="GITypeTag" href="gi/gi-common-types.html#GITypeTag">
-<ANCHOR id="GI-TYPE-TAG-VOID:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-VOID:CAPS">
-<ANCHOR id="GI-TYPE-TAG-BOOLEAN:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-BOOLEAN:CAPS">
-<ANCHOR id="GI-TYPE-TAG-INT8:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-INT8:CAPS">
-<ANCHOR id="GI-TYPE-TAG-UINT8:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-UINT8:CAPS">
-<ANCHOR id="GI-TYPE-TAG-INT16:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-INT16:CAPS">
-<ANCHOR id="GI-TYPE-TAG-UINT16:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-UINT16:CAPS">
-<ANCHOR id="GI-TYPE-TAG-INT32:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-INT32:CAPS">
-<ANCHOR id="GI-TYPE-TAG-UINT32:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-UINT32:CAPS">
-<ANCHOR id="GI-TYPE-TAG-INT64:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-INT64:CAPS">
-<ANCHOR id="GI-TYPE-TAG-UINT64:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-UINT64:CAPS">
-<ANCHOR id="GI-TYPE-TAG-FLOAT:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-FLOAT:CAPS">
-<ANCHOR id="GI-TYPE-TAG-DOUBLE:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-DOUBLE:CAPS">
-<ANCHOR id="GI-TYPE-TAG-GTYPE:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-GTYPE:CAPS">
-<ANCHOR id="GI-TYPE-TAG-UTF8:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-UTF8:CAPS">
-<ANCHOR id="GI-TYPE-TAG-FILENAME:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-FILENAME:CAPS">
-<ANCHOR id="GI-TYPE-TAG-ARRAY:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-ARRAY:CAPS">
-<ANCHOR id="GI-TYPE-TAG-INTERFACE:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-INTERFACE:CAPS">
-<ANCHOR id="GI-TYPE-TAG-GLIST:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-GLIST:CAPS">
-<ANCHOR id="GI-TYPE-TAG-GSLIST:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-GSLIST:CAPS">
-<ANCHOR id="GI-TYPE-TAG-GHASH:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-GHASH:CAPS">
-<ANCHOR id="GI-TYPE-TAG-ERROR:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-ERROR:CAPS">
-<ANCHOR id="GI-TYPE-TAG-UNICHAR:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-UNICHAR:CAPS">
-<ANCHOR id="GIArrayType" href="gi/gi-common-types.html#GIArrayType">
-<ANCHOR id="GI-ARRAY-TYPE-C:CAPS" href="gi/gi-common-types.html#GI-ARRAY-TYPE-C:CAPS">
-<ANCHOR id="GI-ARRAY-TYPE-ARRAY:CAPS" href="gi/gi-common-types.html#GI-ARRAY-TYPE-ARRAY:CAPS">
-<ANCHOR id="GI-ARRAY-TYPE-PTR-ARRAY:CAPS" href="gi/gi-common-types.html#GI-ARRAY-TYPE-PTR-ARRAY:CAPS">
-<ANCHOR id="GI-ARRAY-TYPE-BYTE-ARRAY:CAPS" href="gi/gi-common-types.html#GI-ARRAY-TYPE-BYTE-ARRAY:CAPS">
-<ANCHOR id="GI-TYPE-TAG-N-TYPES:CAPS" href="gi/gi-common-types.html#GI-TYPE-TAG-N-TYPES:CAPS">
-<ANCHOR id="G-TYPE-TAG-IS-BASIC:CAPS" href="gi/gi-common-types.html#G-TYPE-TAG-IS-BASIC:CAPS">
-<ANCHOR id="gi-GIBaseInfo" href="gi/gi-GIBaseInfo.html">
-<ANCHOR id="gi-GIBaseInfo.synopsis" href="gi/gi-GIBaseInfo.html#gi-GIBaseInfo.synopsis">
-<ANCHOR id="gi-GIBaseInfo.description" href="gi/gi-GIBaseInfo.html#gi-GIBaseInfo.description">
-<ANCHOR id="gi-gibaseinfo.struct-hierarchy" href="gi/gi-GIBaseInfo.html#gi-gibaseinfo.struct-hierarchy">
-<ANCHOR id="gi-GIBaseInfo.details" href="gi/gi-GIBaseInfo.html#gi-GIBaseInfo.details">
-<ANCHOR id="GIInfoType" href="gi/gi-GIBaseInfo.html#GIInfoType">
-<ANCHOR id="GI-INFO-TYPE-INVALID:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-INVALID:CAPS">
-<ANCHOR id="GI-INFO-TYPE-FUNCTION:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-FUNCTION:CAPS">
-<ANCHOR id="GI-INFO-TYPE-CALLBACK:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-CALLBACK:CAPS">
-<ANCHOR id="GI-INFO-TYPE-STRUCT:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-STRUCT:CAPS">
-<ANCHOR id="GI-INFO-TYPE-BOXED:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-BOXED:CAPS">
-<ANCHOR id="GI-INFO-TYPE-ENUM:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-ENUM:CAPS">
-<ANCHOR id="GI-INFO-TYPE-FLAGS:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-FLAGS:CAPS">
-<ANCHOR id="GI-INFO-TYPE-OBJECT:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-OBJECT:CAPS">
-<ANCHOR id="GI-INFO-TYPE-INTERFACE:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-INTERFACE:CAPS">
-<ANCHOR id="GI-INFO-TYPE-CONSTANT:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-CONSTANT:CAPS">
-<ANCHOR id="GI-INFO-TYPE-INVALID-0:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-INVALID-0:CAPS">
-<ANCHOR id="GI-INFO-TYPE-UNION:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-UNION:CAPS">
-<ANCHOR id="GI-INFO-TYPE-VALUE:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-VALUE:CAPS">
-<ANCHOR id="GI-INFO-TYPE-SIGNAL:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-SIGNAL:CAPS">
-<ANCHOR id="GI-INFO-TYPE-VFUNC:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-VFUNC:CAPS">
-<ANCHOR id="GI-INFO-TYPE-PROPERTY:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-PROPERTY:CAPS">
-<ANCHOR id="GI-INFO-TYPE-FIELD:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-FIELD:CAPS">
-<ANCHOR id="GI-INFO-TYPE-ARG:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-ARG:CAPS">
-<ANCHOR id="GI-INFO-TYPE-TYPE:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-TYPE:CAPS">
-<ANCHOR id="GI-INFO-TYPE-UNRESOLVED:CAPS" href="gi/gi-GIBaseInfo.html#GI-INFO-TYPE-UNRESOLVED:CAPS">
-<ANCHOR id="GIAttributeIter" href="gi/gi-GIBaseInfo.html#GIAttributeIter">
-<ANCHOR id="g-info-new" href="gi/gi-GIBaseInfo.html#g-info-new">
-<ANCHOR id="g-base-info-ref" href="gi/gi-GIBaseInfo.html#g-base-info-ref">
-<ANCHOR id="g-base-info-unref" href="gi/gi-GIBaseInfo.html#g-base-info-unref">
-<ANCHOR id="g-base-info-equal" href="gi/gi-GIBaseInfo.html#g-base-info-equal">
-<ANCHOR id="g-base-info-get-type" href="gi/gi-GIBaseInfo.html#g-base-info-get-type">
-<ANCHOR id="g-base-info-get-typelib" href="gi/gi-GIBaseInfo.html#g-base-info-get-typelib">
-<ANCHOR id="g-base-info-get-namespace" href="gi/gi-GIBaseInfo.html#g-base-info-get-namespace">
-<ANCHOR id="g-base-info-get-name" href="gi/gi-GIBaseInfo.html#g-base-info-get-name">
-<ANCHOR id="g-base-info-get-attribute" href="gi/gi-GIBaseInfo.html#g-base-info-get-attribute">
-<ANCHOR id="g-base-info-iterate-attributes" href="gi/gi-GIBaseInfo.html#g-base-info-iterate-attributes">
-<ANCHOR id="g-base-info-get-container" href="gi/gi-GIBaseInfo.html#g-base-info-get-container">
-<ANCHOR id="g-base-info-is-deprecated" href="gi/gi-GIBaseInfo.html#g-base-info-is-deprecated">
-<ANCHOR id="gi-GICallableInfo" href="gi/gi-GICallableInfo.html">
-<ANCHOR id="gi-GICallableInfo.synopsis" href="gi/gi-GICallableInfo.html#gi-GICallableInfo.synopsis">
-<ANCHOR id="gi-GICallableInfo.description" href="gi/gi-GICallableInfo.html#gi-GICallableInfo.description">
-<ANCHOR id="gi-gicallableinfo.struct-hierarchy" href="gi/gi-GICallableInfo.html#gi-gicallableinfo.struct-hierarchy">
-<ANCHOR id="gi-GICallableInfo.details" href="gi/gi-GICallableInfo.html#gi-GICallableInfo.details">
-<ANCHOR id="GI-IS-CALLABLE-INFO:CAPS" href="gi/gi-GICallableInfo.html#GI-IS-CALLABLE-INFO:CAPS">
-<ANCHOR id="GICallableInfo" href="gi/gi-GICallableInfo.html#GICallableInfo">
-<ANCHOR id="g-callable-info-can-throw-gerror" href="gi/gi-GICallableInfo.html#g-callable-info-can-throw-gerror">
-<ANCHOR id="g-callable-info-get-n-args" href="gi/gi-GICallableInfo.html#g-callable-info-get-n-args">
-<ANCHOR id="g-callable-info-get-arg" href="gi/gi-GICallableInfo.html#g-callable-info-get-arg">
-<ANCHOR id="g-callable-info-get-caller-owns" href="gi/gi-GICallableInfo.html#g-callable-info-get-caller-owns">
-<ANCHOR id="g-callable-info-get-return-attribute" href="gi/gi-GICallableInfo.html#g-callable-info-get-return-attribute">
-<ANCHOR id="g-callable-info-get-return-type" href="gi/gi-GICallableInfo.html#g-callable-info-get-return-type">
-<ANCHOR id="g-callable-info-invoke" href="gi/gi-GICallableInfo.html#g-callable-info-invoke">
-<ANCHOR id="g-callable-info-is-method" href="gi/gi-GICallableInfo.html#g-callable-info-is-method">
-<ANCHOR id="g-callable-info-iterate-return-attributes" href="gi/gi-GICallableInfo.html#g-callable-info-iterate-return-attributes">
-<ANCHOR id="g-callable-info-load-arg" href="gi/gi-GICallableInfo.html#g-callable-info-load-arg">
-<ANCHOR id="g-callable-info-load-return-type" href="gi/gi-GICallableInfo.html#g-callable-info-load-return-type">
-<ANCHOR id="g-callable-info-may-return-null" href="gi/gi-GICallableInfo.html#g-callable-info-may-return-null">
-<ANCHOR id="g-callable-info-skip-return" href="gi/gi-GICallableInfo.html#g-callable-info-skip-return">
-<ANCHOR id="gi-GIFunctionInfo" href="gi/gi-GIFunctionInfo.html">
-<ANCHOR id="gi-GIFunctionInfo.synopsis" href="gi/gi-GIFunctionInfo.html#gi-GIFunctionInfo.synopsis">
-<ANCHOR id="gi-GIFunctionInfo.description" href="gi/gi-GIFunctionInfo.html#gi-GIFunctionInfo.description">
-<ANCHOR id="gi-gifunctioninfo.struct-hierarchy" href="gi/gi-GIFunctionInfo.html#gi-gifunctioninfo.struct-hierarchy">
-<ANCHOR id="gi-GIFunctionInfo.details" href="gi/gi-GIFunctionInfo.html#gi-GIFunctionInfo.details">
-<ANCHOR id="GI-IS-FUNCTION-INFO:CAPS" href="gi/gi-GIFunctionInfo.html#GI-IS-FUNCTION-INFO:CAPS">
-<ANCHOR id="GIFunctionInfo" href="gi/gi-GIFunctionInfo.html#GIFunctionInfo">
-<ANCHOR id="GIFunctionInfoFlags" href="gi/gi-GIFunctionInfo.html#GIFunctionInfoFlags">
-<ANCHOR id="GI-FUNCTION-IS-METHOD:CAPS" href="gi/gi-GIFunctionInfo.html#GI-FUNCTION-IS-METHOD:CAPS">
-<ANCHOR id="GI-FUNCTION-IS-CONSTRUCTOR:CAPS" href="gi/gi-GIFunctionInfo.html#GI-FUNCTION-IS-CONSTRUCTOR:CAPS">
-<ANCHOR id="GI-FUNCTION-IS-GETTER:CAPS" href="gi/gi-GIFunctionInfo.html#GI-FUNCTION-IS-GETTER:CAPS">
-<ANCHOR id="GI-FUNCTION-IS-SETTER:CAPS" href="gi/gi-GIFunctionInfo.html#GI-FUNCTION-IS-SETTER:CAPS">
-<ANCHOR id="GI-FUNCTION-WRAPS-VFUNC:CAPS" href="gi/gi-GIFunctionInfo.html#GI-FUNCTION-WRAPS-VFUNC:CAPS">
-<ANCHOR id="GI-FUNCTION-THROWS:CAPS" href="gi/gi-GIFunctionInfo.html#GI-FUNCTION-THROWS:CAPS">
-<ANCHOR id="g-function-info-get-flags" href="gi/gi-GIFunctionInfo.html#g-function-info-get-flags">
-<ANCHOR id="g-function-info-get-property" href="gi/gi-GIFunctionInfo.html#g-function-info-get-property">
-<ANCHOR id="g-function-info-get-symbol" href="gi/gi-GIFunctionInfo.html#g-function-info-get-symbol">
-<ANCHOR id="g-function-info-get-vfunc" href="gi/gi-GIFunctionInfo.html#g-function-info-get-vfunc">
-<ANCHOR id="g-function-info-invoke" href="gi/gi-GIFunctionInfo.html#g-function-info-invoke">
-<ANCHOR id="G-INVOKE-ERROR:CAPS" href="gi/gi-GIFunctionInfo.html#G-INVOKE-ERROR:CAPS">
-<ANCHOR id="g-invoke-error-quark" href="gi/gi-GIFunctionInfo.html#g-invoke-error-quark">
-<ANCHOR id="GInvokeError" href="gi/gi-GIFunctionInfo.html#GInvokeError">
-<ANCHOR id="G-INVOKE-ERROR-FAILED:CAPS" href="gi/gi-GIFunctionInfo.html#G-INVOKE-ERROR-FAILED:CAPS">
-<ANCHOR id="G-INVOKE-ERROR-SYMBOL-NOT-FOUND:CAPS" href="gi/gi-GIFunctionInfo.html#G-INVOKE-ERROR-SYMBOL-NOT-FOUND:CAPS">
-<ANCHOR id="G-INVOKE-ERROR-ARGUMENT-MISMATCH:CAPS" href="gi/gi-GIFunctionInfo.html#G-INVOKE-ERROR-ARGUMENT-MISMATCH:CAPS">
-<ANCHOR id="gi-GICallbackInfo" href="gi/gi-GICallbackInfo.html">
-<ANCHOR id="gi-GICallbackInfo.synopsis" href="gi/gi-GICallbackInfo.html#gi-GICallbackInfo.synopsis">
-<ANCHOR id="gi-GICallbackInfo.description" href="gi/gi-GICallbackInfo.html#gi-GICallbackInfo.description">
-<ANCHOR id="gi-gicallbackinfo.struct-hierarchy" href="gi/gi-GICallbackInfo.html#gi-gicallbackinfo.struct-hierarchy">
-<ANCHOR id="gi-GICallbackInfo.details" href="gi/gi-GICallbackInfo.html#gi-GICallbackInfo.details">
-<ANCHOR id="GICallbackInfo" href="gi/gi-GICallbackInfo.html#GICallbackInfo">
-<ANCHOR id="gi-GISignalInfo" href="gi/gi-GISignalInfo.html">
-<ANCHOR id="gi-GISignalInfo.synopsis" href="gi/gi-GISignalInfo.html#gi-GISignalInfo.synopsis">
-<ANCHOR id="gi-GISignalInfo.description" href="gi/gi-GISignalInfo.html#gi-GISignalInfo.description">
-<ANCHOR id="gi-gisignalinfo.struct-hierarchy" href="gi/gi-GISignalInfo.html#gi-gisignalinfo.struct-hierarchy">
-<ANCHOR id="gi-GISignalInfo.details" href="gi/gi-GISignalInfo.html#gi-GISignalInfo.details">
-<ANCHOR id="GI-IS-SIGNAL-INFO:CAPS" href="gi/gi-GISignalInfo.html#GI-IS-SIGNAL-INFO:CAPS">
-<ANCHOR id="GISignalInfo" href="gi/gi-GISignalInfo.html#GISignalInfo">
-<ANCHOR id="g-signal-info-get-flags" href="gi/gi-GISignalInfo.html#g-signal-info-get-flags">
-<ANCHOR id="g-signal-info-get-class-closure" href="gi/gi-GISignalInfo.html#g-signal-info-get-class-closure">
-<ANCHOR id="g-signal-info-true-stops-emit" href="gi/gi-GISignalInfo.html#g-signal-info-true-stops-emit">
-<ANCHOR id="gi-GIVFuncInfo" href="gi/gi-GIVFuncInfo.html">
-<ANCHOR id="gi-GIVFuncInfo.synopsis" href="gi/gi-GIVFuncInfo.html#gi-GIVFuncInfo.synopsis">
-<ANCHOR id="gi-GIVFuncInfo.description" href="gi/gi-GIVFuncInfo.html#gi-GIVFuncInfo.description">
-<ANCHOR id="gi-givfuncinfo.struct-hierarchy" href="gi/gi-GIVFuncInfo.html#gi-givfuncinfo.struct-hierarchy">
-<ANCHOR id="gi-GIVFuncInfo.details" href="gi/gi-GIVFuncInfo.html#gi-GIVFuncInfo.details">
-<ANCHOR id="GIVFuncInfo" href="gi/gi-GIVFuncInfo.html#GIVFuncInfo">
-<ANCHOR id="GIVFuncInfoFlags" href="gi/gi-GIVFuncInfo.html#GIVFuncInfoFlags">
-<ANCHOR id="GI-VFUNC-MUST-CHAIN-UP:CAPS" href="gi/gi-GIVFuncInfo.html#GI-VFUNC-MUST-CHAIN-UP:CAPS">
-<ANCHOR id="GI-VFUNC-MUST-OVERRIDE:CAPS" href="gi/gi-GIVFuncInfo.html#GI-VFUNC-MUST-OVERRIDE:CAPS">
-<ANCHOR id="GI-VFUNC-MUST-NOT-OVERRIDE:CAPS" href="gi/gi-GIVFuncInfo.html#GI-VFUNC-MUST-NOT-OVERRIDE:CAPS">
-<ANCHOR id="GI-VFUNC-THROWS:CAPS" href="gi/gi-GIVFuncInfo.html#GI-VFUNC-THROWS:CAPS">
-<ANCHOR id="g-vfunc-info-get-flags" href="gi/gi-GIVFuncInfo.html#g-vfunc-info-get-flags">
-<ANCHOR id="g-vfunc-info-get-offset" href="gi/gi-GIVFuncInfo.html#g-vfunc-info-get-offset">
-<ANCHOR id="g-vfunc-info-get-signal" href="gi/gi-GIVFuncInfo.html#g-vfunc-info-get-signal">
-<ANCHOR id="g-vfunc-info-get-invoker" href="gi/gi-GIVFuncInfo.html#g-vfunc-info-get-invoker">
-<ANCHOR id="g-vfunc-info-get-address" href="gi/gi-GIVFuncInfo.html#g-vfunc-info-get-address">
-<ANCHOR id="g-vfunc-info-invoke" href="gi/gi-GIVFuncInfo.html#g-vfunc-info-invoke">
-<ANCHOR id="gi-GIRegisteredTypeInfo" href="gi/gi-GIRegisteredTypeInfo.html">
-<ANCHOR id="gi-GIRegisteredTypeInfo.synopsis" href="gi/gi-GIRegisteredTypeInfo.html#gi-GIRegisteredTypeInfo.synopsis">
-<ANCHOR id="gi-GIRegisteredTypeInfo.description" href="gi/gi-GIRegisteredTypeInfo.html#gi-GIRegisteredTypeInfo.description">
-<ANCHOR id="gi-giregisteredtypeinfo.struct-hierarchy" href="gi/gi-GIRegisteredTypeInfo.html#gi-giregisteredtypeinfo.struct-hierarchy">
-<ANCHOR id="gi-GIRegisteredTypeInfo.details" href="gi/gi-GIRegisteredTypeInfo.html#gi-GIRegisteredTypeInfo.details">
-<ANCHOR id="GI-IS-REGISTERED-TYPE-INFO:CAPS" href="gi/gi-GIRegisteredTypeInfo.html#GI-IS-REGISTERED-TYPE-INFO:CAPS">
-<ANCHOR id="GIRegisteredTypeInfo" href="gi/gi-GIRegisteredTypeInfo.html#GIRegisteredTypeInfo">
-<ANCHOR id="g-registered-type-info-get-type-name" href="gi/gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-name">
-<ANCHOR id="g-registered-type-info-get-type-init" href="gi/gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-type-init">
-<ANCHOR id="g-registered-type-info-get-g-type" href="gi/gi-GIRegisteredTypeInfo.html#g-registered-type-info-get-g-type">
-<ANCHOR id="gi-GIEnumInfo" href="gi/gi-GIEnumInfo.html">
-<ANCHOR id="gi-GIEnumInfo.synopsis" href="gi/gi-GIEnumInfo.html#gi-GIEnumInfo.synopsis">
-<ANCHOR id="gi-GIEnumInfo.description" href="gi/gi-GIEnumInfo.html#gi-GIEnumInfo.description">
-<ANCHOR id="gi-gienuminfo.struct-hierarchy" href="gi/gi-GIEnumInfo.html#gi-gienuminfo.struct-hierarchy">
-<ANCHOR id="gi-GIEnumInfo.details" href="gi/gi-GIEnumInfo.html#gi-GIEnumInfo.details">
-<ANCHOR id="GI-IS-ENUM-INFO:CAPS" href="gi/gi-GIEnumInfo.html#GI-IS-ENUM-INFO:CAPS">
-<ANCHOR id="GI-IS-VALUE-INFO:CAPS" href="gi/gi-GIEnumInfo.html#GI-IS-VALUE-INFO:CAPS">
-<ANCHOR id="GIEnumInfo" href="gi/gi-GIEnumInfo.html#GIEnumInfo">
-<ANCHOR id="g-enum-info-get-n-values" href="gi/gi-GIEnumInfo.html#g-enum-info-get-n-values">
-<ANCHOR id="g-enum-info-get-value" href="gi/gi-GIEnumInfo.html#g-enum-info-get-value">
-<ANCHOR id="g-enum-info-get-n-methods" href="gi/gi-GIEnumInfo.html#g-enum-info-get-n-methods">
-<ANCHOR id="g-enum-info-get-method" href="gi/gi-GIEnumInfo.html#g-enum-info-get-method">
-<ANCHOR id="g-enum-info-get-storage-type" href="gi/gi-GIEnumInfo.html#g-enum-info-get-storage-type">
-<ANCHOR id="g-enum-info-get-error-domain" href="gi/gi-GIEnumInfo.html#g-enum-info-get-error-domain">
-<ANCHOR id="g-value-info-get-value" href="gi/gi-GIEnumInfo.html#g-value-info-get-value">
-<ANCHOR id="gi-GIStructInfo" href="gi/gi-GIStructInfo.html">
-<ANCHOR id="gi-GIStructInfo.synopsis" href="gi/gi-GIStructInfo.html#gi-GIStructInfo.synopsis">
-<ANCHOR id="gi-GIStructInfo.description" href="gi/gi-GIStructInfo.html#gi-GIStructInfo.description">
-<ANCHOR id="gi-giobjectinfo.struct-hierarchy" href="gi/gi-GIStructInfo.html#gi-giobjectinfo.struct-hierarchy">
-<ANCHOR id="gi-GIStructInfo.details" href="gi/gi-GIStructInfo.html#gi-GIStructInfo.details">
-<ANCHOR id="GI-IS-STRUCT-INFO:CAPS" href="gi/gi-GIStructInfo.html#GI-IS-STRUCT-INFO:CAPS">
-<ANCHOR id="GIStructInfo" href="gi/gi-GIStructInfo.html#GIStructInfo">
-<ANCHOR id="g-struct-info-get-alignment" href="gi/gi-GIStructInfo.html#g-struct-info-get-alignment">
-<ANCHOR id="g-struct-info-get-size" href="gi/gi-GIStructInfo.html#g-struct-info-get-size">
-<ANCHOR id="g-struct-info-is-gtype-struct" href="gi/gi-GIStructInfo.html#g-struct-info-is-gtype-struct">
-<ANCHOR id="g-struct-info-is-foreign" href="gi/gi-GIStructInfo.html#g-struct-info-is-foreign">
-<ANCHOR id="g-struct-info-get-n-fields" href="gi/gi-GIStructInfo.html#g-struct-info-get-n-fields">
-<ANCHOR id="g-struct-info-get-field" href="gi/gi-GIStructInfo.html#g-struct-info-get-field">
-<ANCHOR id="g-struct-info-get-n-methods" href="gi/gi-GIStructInfo.html#g-struct-info-get-n-methods">
-<ANCHOR id="g-struct-info-get-method" href="gi/gi-GIStructInfo.html#g-struct-info-get-method">
-<ANCHOR id="g-struct-info-find-method" href="gi/gi-GIStructInfo.html#g-struct-info-find-method">
-<ANCHOR id="gi-GIUnionInfo" href="gi/gi-GIUnionInfo.html">
-<ANCHOR id="gi-GIUnionInfo.synopsis" href="gi/gi-GIUnionInfo.html#gi-GIUnionInfo.synopsis">
-<ANCHOR id="gi-GIUnionInfo.description" href="gi/gi-GIUnionInfo.html#gi-GIUnionInfo.description">
-<ANCHOR id="gi-giobjectinfo.struct-hierarchy" href="gi/gi-GIUnionInfo.html#gi-giobjectinfo.struct-hierarchy">
-<ANCHOR id="gi-GIUnionInfo.details" href="gi/gi-GIUnionInfo.html#gi-GIUnionInfo.details">
-<ANCHOR id="GIUnionInfo" href="gi/gi-GIUnionInfo.html#GIUnionInfo">
-<ANCHOR id="g-union-info-get-n-fields" href="gi/gi-GIUnionInfo.html#g-union-info-get-n-fields">
-<ANCHOR id="g-union-info-get-field" href="gi/gi-GIUnionInfo.html#g-union-info-get-field">
-<ANCHOR id="g-union-info-get-n-methods" href="gi/gi-GIUnionInfo.html#g-union-info-get-n-methods">
-<ANCHOR id="g-union-info-get-method" href="gi/gi-GIUnionInfo.html#g-union-info-get-method">
-<ANCHOR id="g-union-info-is-discriminated" href="gi/gi-GIUnionInfo.html#g-union-info-is-discriminated">
-<ANCHOR id="g-union-info-get-discriminator-offset" href="gi/gi-GIUnionInfo.html#g-union-info-get-discriminator-offset">
-<ANCHOR id="g-union-info-get-discriminator-type" href="gi/gi-GIUnionInfo.html#g-union-info-get-discriminator-type">
-<ANCHOR id="g-union-info-get-discriminator" href="gi/gi-GIUnionInfo.html#g-union-info-get-discriminator">
-<ANCHOR id="g-union-info-find-method" href="gi/gi-GIUnionInfo.html#g-union-info-find-method">
-<ANCHOR id="g-union-info-get-size" href="gi/gi-GIUnionInfo.html#g-union-info-get-size">
-<ANCHOR id="g-union-info-get-alignment" href="gi/gi-GIUnionInfo.html#g-union-info-get-alignment">
-<ANCHOR id="gi-GIObjectInfo" href="gi/gi-GIObjectInfo.html">
-<ANCHOR id="gi-GIObjectInfo.synopsis" href="gi/gi-GIObjectInfo.html#gi-GIObjectInfo.synopsis">
-<ANCHOR id="gi-GIObjectInfo.description" href="gi/gi-GIObjectInfo.html#gi-GIObjectInfo.description">
-<ANCHOR id="gi-giobjectinfo.struct-hierarchy" href="gi/gi-GIObjectInfo.html#gi-giobjectinfo.struct-hierarchy">
-<ANCHOR id="gi-GIObjectInfo.details" href="gi/gi-GIObjectInfo.html#gi-GIObjectInfo.details">
-<ANCHOR id="GI-IS-OBJECT-INFO:CAPS" href="gi/gi-GIObjectInfo.html#GI-IS-OBJECT-INFO:CAPS">
-<ANCHOR id="GIObjectInfo" href="gi/gi-GIObjectInfo.html#GIObjectInfo">
-<ANCHOR id="g-object-info-get-abstract" href="gi/gi-GIObjectInfo.html#g-object-info-get-abstract">
-<ANCHOR id="g-object-info-get-fundamental" href="gi/gi-GIObjectInfo.html#g-object-info-get-fundamental">
-<ANCHOR id="g-object-info-get-parent" href="gi/gi-GIObjectInfo.html#g-object-info-get-parent">
-<ANCHOR id="g-object-info-get-type-name" href="gi/gi-GIObjectInfo.html#g-object-info-get-type-name">
-<ANCHOR id="g-object-info-get-type-init" href="gi/gi-GIObjectInfo.html#g-object-info-get-type-init">
-<ANCHOR id="g-object-info-get-n-constants" href="gi/gi-GIObjectInfo.html#g-object-info-get-n-constants">
-<ANCHOR id="g-object-info-get-constant" href="gi/gi-GIObjectInfo.html#g-object-info-get-constant">
-<ANCHOR id="g-object-info-get-n-fields" href="gi/gi-GIObjectInfo.html#g-object-info-get-n-fields">
-<ANCHOR id="g-object-info-get-field" href="gi/gi-GIObjectInfo.html#g-object-info-get-field">
-<ANCHOR id="g-object-info-get-n-interfaces" href="gi/gi-GIObjectInfo.html#g-object-info-get-n-interfaces">
-<ANCHOR id="g-object-info-get-interface" href="gi/gi-GIObjectInfo.html#g-object-info-get-interface">
-<ANCHOR id="g-object-info-get-n-methods" href="gi/gi-GIObjectInfo.html#g-object-info-get-n-methods">
-<ANCHOR id="g-object-info-get-method" href="gi/gi-GIObjectInfo.html#g-object-info-get-method">
-<ANCHOR id="g-object-info-find-method" href="gi/gi-GIObjectInfo.html#g-object-info-find-method">
-<ANCHOR id="g-object-info-find-method-using-interfaces" href="gi/gi-GIObjectInfo.html#g-object-info-find-method-using-interfaces">
-<ANCHOR id="g-object-info-get-n-properties" href="gi/gi-GIObjectInfo.html#g-object-info-get-n-properties">
-<ANCHOR id="g-object-info-get-property" href="gi/gi-GIObjectInfo.html#g-object-info-get-property">
-<ANCHOR id="g-object-info-get-n-signals" href="gi/gi-GIObjectInfo.html#g-object-info-get-n-signals">
-<ANCHOR id="g-object-info-get-signal" href="gi/gi-GIObjectInfo.html#g-object-info-get-signal">
-<ANCHOR id="g-object-info-find-signal" href="gi/gi-GIObjectInfo.html#g-object-info-find-signal">
-<ANCHOR id="g-object-info-get-n-vfuncs" href="gi/gi-GIObjectInfo.html#g-object-info-get-n-vfuncs">
-<ANCHOR id="g-object-info-get-vfunc" href="gi/gi-GIObjectInfo.html#g-object-info-get-vfunc">
-<ANCHOR id="g-object-info-find-vfunc" href="gi/gi-GIObjectInfo.html#g-object-info-find-vfunc">
-<ANCHOR id="g-object-info-find-vfunc-using-interfaces" href="gi/gi-GIObjectInfo.html#g-object-info-find-vfunc-using-interfaces">
-<ANCHOR id="g-object-info-get-class-struct" href="gi/gi-GIObjectInfo.html#g-object-info-get-class-struct">
-<ANCHOR id="g-object-info-get-ref-function" href="gi/gi-GIObjectInfo.html#g-object-info-get-ref-function">
-<ANCHOR id="g-object-info-get-ref-function-pointer" href="gi/gi-GIObjectInfo.html#g-object-info-get-ref-function-pointer">
-<ANCHOR id="g-object-info-get-unref-function" href="gi/gi-GIObjectInfo.html#g-object-info-get-unref-function">
-<ANCHOR id="g-object-info-get-unref-function-pointer" href="gi/gi-GIObjectInfo.html#g-object-info-get-unref-function-pointer">
-<ANCHOR id="g-object-info-get-set-value-function" href="gi/gi-GIObjectInfo.html#g-object-info-get-set-value-function">
-<ANCHOR id="g-object-info-get-set-value-function-pointer" href="gi/gi-GIObjectInfo.html#g-object-info-get-set-value-function-pointer">
-<ANCHOR id="g-object-info-get-get-value-function" href="gi/gi-GIObjectInfo.html#g-object-info-get-get-value-function">
-<ANCHOR id="g-object-info-get-get-value-function-pointer" href="gi/gi-GIObjectInfo.html#g-object-info-get-get-value-function-pointer">
-<ANCHOR id="GIObjectInfoRefFunction" href="gi/gi-GIObjectInfo.html#GIObjectInfoRefFunction">
-<ANCHOR id="GIObjectInfoUnrefFunction" href="gi/gi-GIObjectInfo.html#GIObjectInfoUnrefFunction">
-<ANCHOR id="GIObjectInfoSetValueFunction" href="gi/gi-GIObjectInfo.html#GIObjectInfoSetValueFunction">
-<ANCHOR id="GIObjectInfoGetValueFunction" href="gi/gi-GIObjectInfo.html#GIObjectInfoGetValueFunction">
-<ANCHOR id="gi-GIInterfaceInfo" href="gi/gi-GIInterfaceInfo.html">
-<ANCHOR id="gi-GIInterfaceInfo.synopsis" href="gi/gi-GIInterfaceInfo.html#gi-GIInterfaceInfo.synopsis">
-<ANCHOR id="gi-GIInterfaceInfo.description" href="gi/gi-GIInterfaceInfo.html#gi-GIInterfaceInfo.description">
-<ANCHOR id="gi-giinterfaceinfo.struct-hierarchy" href="gi/gi-GIInterfaceInfo.html#gi-giinterfaceinfo.struct-hierarchy">
-<ANCHOR id="gi-GIInterfaceInfo.details" href="gi/gi-GIInterfaceInfo.html#gi-GIInterfaceInfo.details">
-<ANCHOR id="GI-IS-INTERFACE-INFO:CAPS" href="gi/gi-GIInterfaceInfo.html#GI-IS-INTERFACE-INFO:CAPS">
-<ANCHOR id="GIInterfaceInfo" href="gi/gi-GIInterfaceInfo.html#GIInterfaceInfo">
-<ANCHOR id="g-interface-info-get-n-prerequisites" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-n-prerequisites">
-<ANCHOR id="g-interface-info-get-prerequisite" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-prerequisite">
-<ANCHOR id="g-interface-info-get-n-properties" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-n-properties">
-<ANCHOR id="g-interface-info-get-property" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-property">
-<ANCHOR id="g-interface-info-get-n-methods" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-n-methods">
-<ANCHOR id="g-interface-info-get-method" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-method">
-<ANCHOR id="g-interface-info-find-method" href="gi/gi-GIInterfaceInfo.html#g-interface-info-find-method">
-<ANCHOR id="g-interface-info-get-n-signals" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-n-signals">
-<ANCHOR id="g-interface-info-get-signal" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-signal">
-<ANCHOR id="g-interface-info-find-signal" href="gi/gi-GIInterfaceInfo.html#g-interface-info-find-signal">
-<ANCHOR id="g-interface-info-get-n-vfuncs" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-n-vfuncs">
-<ANCHOR id="g-interface-info-get-vfunc" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-vfunc">
-<ANCHOR id="g-interface-info-find-vfunc" href="gi/gi-GIInterfaceInfo.html#g-interface-info-find-vfunc">
-<ANCHOR id="g-interface-info-get-n-constants" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-n-constants">
-<ANCHOR id="g-interface-info-get-constant" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-constant">
-<ANCHOR id="g-interface-info-get-iface-struct" href="gi/gi-GIInterfaceInfo.html#g-interface-info-get-iface-struct">
-<ANCHOR id="gi-GIArgInfo" href="gi/gi-GIArgInfo.html">
-<ANCHOR id="gi-GIArgInfo.synopsis" href="gi/gi-GIArgInfo.html#gi-GIArgInfo.synopsis">
-<ANCHOR id="gi-GIArgInfo.description" href="gi/gi-GIArgInfo.html#gi-GIArgInfo.description">
-<ANCHOR id="gi-giarginfo.struct-hierarchy" href="gi/gi-GIArgInfo.html#gi-giarginfo.struct-hierarchy">
-<ANCHOR id="gi-GIArgInfo.details" href="gi/gi-GIArgInfo.html#gi-GIArgInfo.details">
-<ANCHOR id="GI-IS-ARG-INFO:CAPS" href="gi/gi-GIArgInfo.html#GI-IS-ARG-INFO:CAPS">
-<ANCHOR id="GIArgInfo" href="gi/gi-GIArgInfo.html#GIArgInfo">
-<ANCHOR id="GIDirection" href="gi/gi-GIArgInfo.html#GIDirection">
-<ANCHOR id="GI-DIRECTION-IN:CAPS" href="gi/gi-GIArgInfo.html#GI-DIRECTION-IN:CAPS">
-<ANCHOR id="GI-DIRECTION-OUT:CAPS" href="gi/gi-GIArgInfo.html#GI-DIRECTION-OUT:CAPS">
-<ANCHOR id="GI-DIRECTION-INOUT:CAPS" href="gi/gi-GIArgInfo.html#GI-DIRECTION-INOUT:CAPS">
-<ANCHOR id="GIScopeType" href="gi/gi-GIArgInfo.html#GIScopeType">
-<ANCHOR id="GI-SCOPE-TYPE-INVALID:CAPS" href="gi/gi-GIArgInfo.html#GI-SCOPE-TYPE-INVALID:CAPS">
-<ANCHOR id="GI-SCOPE-TYPE-CALL:CAPS" href="gi/gi-GIArgInfo.html#GI-SCOPE-TYPE-CALL:CAPS">
-<ANCHOR id="GI-SCOPE-TYPE-ASYNC:CAPS" href="gi/gi-GIArgInfo.html#GI-SCOPE-TYPE-ASYNC:CAPS">
-<ANCHOR id="GI-SCOPE-TYPE-NOTIFIED:CAPS" href="gi/gi-GIArgInfo.html#GI-SCOPE-TYPE-NOTIFIED:CAPS">
-<ANCHOR id="GITransfer" href="gi/gi-GIArgInfo.html#GITransfer">
-<ANCHOR id="GI-TRANSFER-NOTHING:CAPS" href="gi/gi-GIArgInfo.html#GI-TRANSFER-NOTHING:CAPS">
-<ANCHOR id="GI-TRANSFER-CONTAINER:CAPS" href="gi/gi-GIArgInfo.html#GI-TRANSFER-CONTAINER:CAPS">
-<ANCHOR id="GI-TRANSFER-EVERYTHING:CAPS" href="gi/gi-GIArgInfo.html#GI-TRANSFER-EVERYTHING:CAPS">
-<ANCHOR id="g-arg-info-get-closure" href="gi/gi-GIArgInfo.html#g-arg-info-get-closure">
-<ANCHOR id="g-arg-info-get-destroy" href="gi/gi-GIArgInfo.html#g-arg-info-get-destroy">
-<ANCHOR id="g-arg-info-get-direction" href="gi/gi-GIArgInfo.html#g-arg-info-get-direction">
-<ANCHOR id="g-arg-info-get-ownership-transfer" href="gi/gi-GIArgInfo.html#g-arg-info-get-ownership-transfer">
-<ANCHOR id="g-arg-info-get-scope" href="gi/gi-GIArgInfo.html#g-arg-info-get-scope">
-<ANCHOR id="g-arg-info-get-type" href="gi/gi-GIArgInfo.html#g-arg-info-get-type">
-<ANCHOR id="g-arg-info-load-type" href="gi/gi-GIArgInfo.html#g-arg-info-load-type">
-<ANCHOR id="g-arg-info-may-be-null" href="gi/gi-GIArgInfo.html#g-arg-info-may-be-null">
-<ANCHOR id="g-arg-info-is-caller-allocates" href="gi/gi-GIArgInfo.html#g-arg-info-is-caller-allocates">
-<ANCHOR id="g-arg-info-is-optional" href="gi/gi-GIArgInfo.html#g-arg-info-is-optional">
-<ANCHOR id="g-arg-info-is-return-value" href="gi/gi-GIArgInfo.html#g-arg-info-is-return-value">
-<ANCHOR id="g-arg-info-is-skip" href="gi/gi-GIArgInfo.html#g-arg-info-is-skip">
-<ANCHOR id="gi-GIConstantInfo" href="gi/gi-GIConstantInfo.html">
-<ANCHOR id="gi-GIConstantInfo.synopsis" href="gi/gi-GIConstantInfo.html#gi-GIConstantInfo.synopsis">
-<ANCHOR id="gi-GIConstantInfo.description" href="gi/gi-GIConstantInfo.html#gi-GIConstantInfo.description">
-<ANCHOR id="gi-giconstantinfo.struct-hierarchy" href="gi/gi-GIConstantInfo.html#gi-giconstantinfo.struct-hierarchy">
-<ANCHOR id="gi-GIConstantInfo.details" href="gi/gi-GIConstantInfo.html#gi-GIConstantInfo.details">
-<ANCHOR id="GI-IS-CONSTANT-INFO:CAPS" href="gi/gi-GIConstantInfo.html#GI-IS-CONSTANT-INFO:CAPS">
-<ANCHOR id="GIConstantInfo" href="gi/gi-GIConstantInfo.html#GIConstantInfo">
-<ANCHOR id="g-constant-info-free-value" href="gi/gi-GIConstantInfo.html#g-constant-info-free-value">
-<ANCHOR id="g-constant-info-get-type" href="gi/gi-GIConstantInfo.html#g-constant-info-get-type">
-<ANCHOR id="g-constant-info-get-value" href="gi/gi-GIConstantInfo.html#g-constant-info-get-value">
-<ANCHOR id="gi-GIFieldInfo" href="gi/gi-GIFieldInfo.html">
-<ANCHOR id="gi-GIFieldInfo.synopsis" href="gi/gi-GIFieldInfo.html#gi-GIFieldInfo.synopsis">
-<ANCHOR id="gi-GIFieldInfo.description" href="gi/gi-GIFieldInfo.html#gi-GIFieldInfo.description">
-<ANCHOR id="gi-gifieldinfo.struct-hierarchy" href="gi/gi-GIFieldInfo.html#gi-gifieldinfo.struct-hierarchy">
-<ANCHOR id="gi-GIFieldInfo.details" href="gi/gi-GIFieldInfo.html#gi-GIFieldInfo.details">
-<ANCHOR id="GI-IS-FIELD-INFO:CAPS" href="gi/gi-GIFieldInfo.html#GI-IS-FIELD-INFO:CAPS">
-<ANCHOR id="GIFieldInfo" href="gi/gi-GIFieldInfo.html#GIFieldInfo">
-<ANCHOR id="GIFieldInfoFlags" href="gi/gi-GIFieldInfo.html#GIFieldInfoFlags">
-<ANCHOR id="GI-FIELD-IS-READABLE:CAPS" href="gi/gi-GIFieldInfo.html#GI-FIELD-IS-READABLE:CAPS">
-<ANCHOR id="GI-FIELD-IS-WRITABLE:CAPS" href="gi/gi-GIFieldInfo.html#GI-FIELD-IS-WRITABLE:CAPS">
-<ANCHOR id="g-field-info-get-field" href="gi/gi-GIFieldInfo.html#g-field-info-get-field">
-<ANCHOR id="g-field-info-set-field" href="gi/gi-GIFieldInfo.html#g-field-info-set-field">
-<ANCHOR id="g-field-info-get-flags" href="gi/gi-GIFieldInfo.html#g-field-info-get-flags">
-<ANCHOR id="g-field-info-get-offset" href="gi/gi-GIFieldInfo.html#g-field-info-get-offset">
-<ANCHOR id="g-field-info-get-size" href="gi/gi-GIFieldInfo.html#g-field-info-get-size">
-<ANCHOR id="g-field-info-get-type" href="gi/gi-GIFieldInfo.html#g-field-info-get-type">
-<ANCHOR id="gi-GIPropertyInfo" href="gi/gi-GIPropertyInfo.html">
-<ANCHOR id="gi-GIPropertyInfo.synopsis" href="gi/gi-GIPropertyInfo.html#gi-GIPropertyInfo.synopsis">
-<ANCHOR id="gi-GIPropertyInfo.description" href="gi/gi-GIPropertyInfo.html#gi-GIPropertyInfo.description">
-<ANCHOR id="gi-gipropertyinfo.struct-hierarchy" href="gi/gi-GIPropertyInfo.html#gi-gipropertyinfo.struct-hierarchy">
-<ANCHOR id="gi-GIPropertyInfo.details" href="gi/gi-GIPropertyInfo.html#gi-GIPropertyInfo.details">
-<ANCHOR id="GI-IS-PROPERTY-INFO:CAPS" href="gi/gi-GIPropertyInfo.html#GI-IS-PROPERTY-INFO:CAPS">
-<ANCHOR id="GIPropertyInfo" href="gi/gi-GIPropertyInfo.html#GIPropertyInfo">
-<ANCHOR id="g-property-info-get-flags" href="gi/gi-GIPropertyInfo.html#g-property-info-get-flags">
-<ANCHOR id="g-property-info-get-ownership-transfer" href="gi/gi-GIPropertyInfo.html#g-property-info-get-ownership-transfer">
-<ANCHOR id="g-property-info-get-type" href="gi/gi-GIPropertyInfo.html#g-property-info-get-type">
-<ANCHOR id="gi-GITypeInfo" href="gi/gi-GITypeInfo.html">
-<ANCHOR id="gi-GITypeInfo.synopsis" href="gi/gi-GITypeInfo.html#gi-GITypeInfo.synopsis">
-<ANCHOR id="gi-GITypeInfo.description" href="gi/gi-GITypeInfo.html#gi-GITypeInfo.description">
-<ANCHOR id="gi-gitypeinfo.struct-hierarchy" href="gi/gi-GITypeInfo.html#gi-gitypeinfo.struct-hierarchy">
-<ANCHOR id="gi-GITypeInfo.details" href="gi/gi-GITypeInfo.html#gi-GITypeInfo.details">
-<ANCHOR id="GI-IS-TYPE-INFO:CAPS" href="gi/gi-GITypeInfo.html#GI-IS-TYPE-INFO:CAPS">
-<ANCHOR id="GITypeInfo" href="gi/gi-GITypeInfo.html#GITypeInfo">
-<ANCHOR id="g-type-tag-to-string" href="gi/gi-GITypeInfo.html#g-type-tag-to-string">
-<ANCHOR id="g-info-type-to-string" href="gi/gi-GITypeInfo.html#g-info-type-to-string">
-<ANCHOR id="g-type-info-is-pointer" href="gi/gi-GITypeInfo.html#g-type-info-is-pointer">
-<ANCHOR id="g-type-info-get-tag" href="gi/gi-GITypeInfo.html#g-type-info-get-tag">
-<ANCHOR id="g-type-info-get-param-type" href="gi/gi-GITypeInfo.html#g-type-info-get-param-type">
-<ANCHOR id="g-type-info-get-interface" href="gi/gi-GITypeInfo.html#g-type-info-get-interface">
-<ANCHOR id="g-type-info-get-array-length" href="gi/gi-GITypeInfo.html#g-type-info-get-array-length">
-<ANCHOR id="g-type-info-get-array-fixed-size" href="gi/gi-GITypeInfo.html#g-type-info-get-array-fixed-size">
-<ANCHOR id="g-type-info-is-zero-terminated" href="gi/gi-GITypeInfo.html#g-type-info-is-zero-terminated">
-<ANCHOR id="g-type-info-get-array-type" href="gi/gi-GITypeInfo.html#g-type-info-get-array-type">
-<ANCHOR id="gi-GIValueInfo" href="gi/gi-GIValueInfo.html">
-<ANCHOR id="gi-GIValueInfo.synopsis" href="gi/gi-GIValueInfo.html#gi-GIValueInfo.synopsis">
-<ANCHOR id="gi-GIValueInfo.description" href="gi/gi-GIValueInfo.html#gi-GIValueInfo.description">
-<ANCHOR id="gi-givalueinfo.struct-hierarchy" href="gi/gi-GIValueInfo.html#gi-givalueinfo.struct-hierarchy">
-<ANCHOR id="gi-GIValueInfo.details" href="gi/gi-GIValueInfo.html#gi-GIValueInfo.details">
-<ANCHOR id="GIValueInfo" href="gi/gi-GIValueInfo.html#GIValueInfo">
-<ANCHOR id="gi-gitypelib" href="gi/gi-gitypelib.html">
-<ANCHOR id="gi-gitypelib.synopsis" href="gi/gi-gitypelib.html#gi-gitypelib.synopsis">
-<ANCHOR id="gi-gitypelib.description" href="gi/gi-gitypelib.html#gi-gitypelib.description">
-<ANCHOR id="gi-gitypelib.details" href="gi/gi-gitypelib.html#gi-gitypelib.details">
-<ANCHOR id="g-typelib-new-from-memory" href="gi/gi-gitypelib.html#g-typelib-new-from-memory">
-<ANCHOR id="g-typelib-new-from-const-memory" href="gi/gi-gitypelib.html#g-typelib-new-from-const-memory">
-<ANCHOR id="g-typelib-new-from-mapped-file" href="gi/gi-gitypelib.html#g-typelib-new-from-mapped-file">
-<ANCHOR id="g-typelib-free" href="gi/gi-gitypelib.html#g-typelib-free">
-<ANCHOR id="g-typelib-symbol" href="gi/gi-gitypelib.html#g-typelib-symbol">
-<ANCHOR id="g-typelib-get-namespace" href="gi/gi-gitypelib.html#g-typelib-get-namespace">
-<ANCHOR id="GITypelib" href="gi/gi-gitypelib.html#GITypelib">
-<ANCHOR id="gi-GITypelib" href="gi/gi-GITypelib.html">
-<ANCHOR id="gi-GITypelib.stability-level" href="gi/gi-GITypelib.html#gi-GITypelib.stability-level">
-<ANCHOR id="gi-GITypelib.synopsis" href="gi/gi-GITypelib.html#gi-GITypelib.synopsis">
-<ANCHOR id="gi-GITypelib.description" href="gi/gi-GITypelib.html#gi-GITypelib.description">
-<ANCHOR id="gi-GITypelib.details" href="gi/gi-GITypelib.html#gi-GITypelib.details">
-<ANCHOR id="G-IR-MAGIC:CAPS" href="gi/gi-GITypelib.html#G-IR-MAGIC:CAPS">
-<ANCHOR id="GTypelibBlobType" href="gi/gi-GITypelib.html#GTypelibBlobType">
-<ANCHOR id="BLOB-TYPE-INVALID:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-INVALID:CAPS">
-<ANCHOR id="BLOB-TYPE-FUNCTION:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-FUNCTION:CAPS">
-<ANCHOR id="BLOB-TYPE-CALLBACK:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-CALLBACK:CAPS">
-<ANCHOR id="BLOB-TYPE-STRUCT:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-STRUCT:CAPS">
-<ANCHOR id="BLOB-TYPE-BOXED:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-BOXED:CAPS">
-<ANCHOR id="BLOB-TYPE-ENUM:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-ENUM:CAPS">
-<ANCHOR id="BLOB-TYPE-FLAGS:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-FLAGS:CAPS">
-<ANCHOR id="BLOB-TYPE-OBJECT:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-OBJECT:CAPS">
-<ANCHOR id="BLOB-TYPE-INTERFACE:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-INTERFACE:CAPS">
-<ANCHOR id="BLOB-TYPE-CONSTANT:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-CONSTANT:CAPS">
-<ANCHOR id="BLOB-TYPE-INVALID-0:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-INVALID-0:CAPS">
-<ANCHOR id="BLOB-TYPE-UNION:CAPS" href="gi/gi-GITypelib.html#BLOB-TYPE-UNION:CAPS">
-<ANCHOR id="Header" href="gi/gi-GITypelib.html#Header">
-<ANCHOR id="SectionType" href="gi/gi-GITypelib.html#SectionType">
-<ANCHOR id="GI-SECTION-END:CAPS" href="gi/gi-GITypelib.html#GI-SECTION-END:CAPS">
-<ANCHOR id="GI-SECTION-DIRECTORY-INDEX:CAPS" href="gi/gi-GITypelib.html#GI-SECTION-DIRECTORY-INDEX:CAPS">
-<ANCHOR id="Section" href="gi/gi-GITypelib.html#Section">
-<ANCHOR id="DirEntry" href="gi/gi-GITypelib.html#DirEntry">
-<ANCHOR id="SimpleTypeBlobFlags" href="gi/gi-GITypelib.html#SimpleTypeBlobFlags">
-<ANCHOR id="SimpleTypeBlob" href="gi/gi-GITypelib.html#SimpleTypeBlob">
-<ANCHOR id="ArgBlob" href="gi/gi-GITypelib.html#ArgBlob">
-<ANCHOR id="SignatureBlob" href="gi/gi-GITypelib.html#SignatureBlob">
-<ANCHOR id="CommonBlob" href="gi/gi-GITypelib.html#CommonBlob">
-<ANCHOR id="FunctionBlob" href="gi/gi-GITypelib.html#FunctionBlob">
-<ANCHOR id="CallbackBlob" href="gi/gi-GITypelib.html#CallbackBlob">
-<ANCHOR id="InterfaceTypeBlob" href="gi/gi-GITypelib.html#InterfaceTypeBlob">
-<ANCHOR id="ArrayTypeDimension" href="gi/gi-GITypelib.html#ArrayTypeDimension">
-<ANCHOR id="ArrayTypeBlob" href="gi/gi-GITypelib.html#ArrayTypeBlob">
-<ANCHOR id="ParamTypeBlob" href="gi/gi-GITypelib.html#ParamTypeBlob">
-<ANCHOR id="ErrorTypeBlob" href="gi/gi-GITypelib.html#ErrorTypeBlob">
-<ANCHOR id="ValueBlob" href="gi/gi-GITypelib.html#ValueBlob">
-<ANCHOR id="FieldBlob" href="gi/gi-GITypelib.html#FieldBlob">
-<ANCHOR id="RegisteredTypeBlob" href="gi/gi-GITypelib.html#RegisteredTypeBlob">
-<ANCHOR id="StructBlob" href="gi/gi-GITypelib.html#StructBlob">
-<ANCHOR id="UnionBlob" href="gi/gi-GITypelib.html#UnionBlob">
-<ANCHOR id="EnumBlob" href="gi/gi-GITypelib.html#EnumBlob">
-<ANCHOR id="PropertyBlob" href="gi/gi-GITypelib.html#PropertyBlob">
-<ANCHOR id="SignalBlob" href="gi/gi-GITypelib.html#SignalBlob">
-<ANCHOR id="VFuncBlob" href="gi/gi-GITypelib.html#VFuncBlob">
-<ANCHOR id="ObjectBlob" href="gi/gi-GITypelib.html#ObjectBlob">
-<ANCHOR id="InterfaceBlob" href="gi/gi-GITypelib.html#InterfaceBlob">
-<ANCHOR id="ConstantBlob" href="gi/gi-GITypelib.html#ConstantBlob">
-<ANCHOR id="AttributeBlob" href="gi/gi-GITypelib.html#AttributeBlob">
-<ANCHOR id="g-typelib-get-dir-entry" href="gi/gi-GITypelib.html#g-typelib-get-dir-entry">
-<ANCHOR id="g-typelib-get-dir-entry-by-name" href="gi/gi-GITypelib.html#g-typelib-get-dir-entry-by-name">
-<ANCHOR id="g-typelib-get-dir-entry-by-gtype-name" href="gi/gi-GITypelib.html#g-typelib-get-dir-entry-by-gtype-name">
-<ANCHOR id="g-typelib-get-dir-entry-by-error-domain" href="gi/gi-GITypelib.html#g-typelib-get-dir-entry-by-error-domain">
-<ANCHOR id="g-typelib-matches-gtype-name-prefix" href="gi/gi-GITypelib.html#g-typelib-matches-gtype-name-prefix">
-<ANCHOR id="g-typelib-check-sanity" href="gi/gi-GITypelib.html#g-typelib-check-sanity">
-<ANCHOR id="g-typelib-get-string" href="gi/gi-GITypelib.html#g-typelib-get-string">
-<ANCHOR id="GITypelibError" href="gi/gi-GITypelib.html#GITypelibError">
-<ANCHOR id="G-TYPELIB-ERROR-INVALID:CAPS" href="gi/gi-GITypelib.html#G-TYPELIB-ERROR-INVALID:CAPS">
-<ANCHOR id="G-TYPELIB-ERROR-INVALID-HEADER:CAPS" href="gi/gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-HEADER:CAPS">
-<ANCHOR id="G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS" href="gi/gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-DIRECTORY:CAPS">
-<ANCHOR id="G-TYPELIB-ERROR-INVALID-ENTRY:CAPS" href="gi/gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-ENTRY:CAPS">
-<ANCHOR id="G-TYPELIB-ERROR-INVALID-BLOB:CAPS" href="gi/gi-GITypelib.html#G-TYPELIB-ERROR-INVALID-BLOB:CAPS">
-<ANCHOR id="G-TYPELIB-ERROR:CAPS" href="gi/gi-GITypelib.html#G-TYPELIB-ERROR:CAPS">
-<ANCHOR id="g-typelib-error-quark" href="gi/gi-GITypelib.html#g-typelib-error-quark">
-<ANCHOR id="g-typelib-validate" href="gi/gi-GITypelib.html#g-typelib-validate">
-<ANCHOR id="GITypelibHashBuilder" href="gi/gi-GITypelib.html#GITypelibHashBuilder">
-<ANCHOR id="gi-girffi" href="gi/gi-girffi.html">
-<ANCHOR id="gi-girffi.synopsis" href="gi/gi-girffi.html#gi-girffi.synopsis">
-<ANCHOR id="gi-girffi.description" href="gi/gi-girffi.html#gi-girffi.description">
-<ANCHOR id="gi-girffi.details" href="gi/gi-girffi.html#gi-girffi.details">
-<ANCHOR id="GIFFIClosureCallback" href="gi/gi-girffi.html#GIFFIClosureCallback">
-<ANCHOR id="GIFunctionInvoker" href="gi/gi-girffi.html#GIFunctionInvoker">
-<ANCHOR id="GIFFIReturnValue" href="gi/gi-girffi.html#GIFFIReturnValue">
-<ANCHOR id="gi-type-tag-get-ffi-type" href="gi/gi-girffi.html#gi-type-tag-get-ffi-type">
-<ANCHOR id="g-type-info-get-ffi-type" href="gi/gi-girffi.html#g-type-info-get-ffi-type">
-<ANCHOR id="gi-type-info-extract-ffi-return-value" href="gi/gi-girffi.html#gi-type-info-extract-ffi-return-value">
-<ANCHOR id="g-function-info-prep-invoker" href="gi/gi-girffi.html#g-function-info-prep-invoker">
-<ANCHOR id="g-function-invoker-new-for-address" href="gi/gi-girffi.html#g-function-invoker-new-for-address">
-<ANCHOR id="g-function-invoker-destroy" href="gi/gi-girffi.html#g-function-invoker-destroy">
-<ANCHOR id="g-callable-info-prepare-closure" href="gi/gi-girffi.html#g-callable-info-prepare-closure">
-<ANCHOR id="g-callable-info-free-closure" href="gi/gi-girffi.html#g-callable-info-free-closure">
-<ANCHOR id="gi-gir-reference" href="gi/gi-gir-reference.html">
-<ANCHOR id="gi-gir-api-node" href="gi/gi-gir-reference.html#gi-gir-api-node">
-<ANCHOR id="gi-gir-namespace" href="gi/gi-gir-reference.html#gi-gir-namespace">
-<ANCHOR id="gi-gir-class" href="gi/gi-gir-reference.html#gi-gir-class">
-<ANCHOR id="gi-gir-interface" href="gi/gi-gir-reference.html#gi-gir-interface">
-<ANCHOR id="gi-gir-function" href="gi/gi-gir-reference.html#gi-gir-function">
-<ANCHOR id="annotation-glossterm-allow-none" href="gi/annotation-glossary.html#annotation-glossterm-allow-none">
-<ANCHOR id="annotation-glossterm-element-type" href="gi/annotation-glossary.html#annotation-glossterm-element-type">
-<ANCHOR id="annotation-glossterm-out" href="gi/annotation-glossary.html#annotation-glossterm-out">
-<ANCHOR id="annotation-glossterm-out caller-allocates" href="gi/annotation-glossary.html#annotation-glossterm-out caller-allocates">
-<ANCHOR id="annotation-glossterm-transfer full" href="gi/annotation-glossary.html#annotation-glossterm-transfer full">
-<ANCHOR id="annotation-glossterm-transfer none" href="gi/annotation-glossary.html#annotation-glossterm-transfer none">
-<ANCHOR id="annotation-glossterm-type" href="gi/annotation-glossary.html#annotation-glossterm-type">
diff --git a/docs/reference/html/left-insensitive.png b/docs/reference/html/left-insensitive.png
new file mode 100644
index 00000000..3269393a
--- /dev/null
+++ b/docs/reference/html/left-insensitive.png
Binary files differ
diff --git a/docs/reference/html/left.png b/docs/reference/html/left.png
index 2d05b3d5..2abde032 100644
--- a/docs/reference/html/left.png
+++ b/docs/reference/html/left.png
Binary files differ
diff --git a/docs/reference/html/overview.html b/docs/reference/html/overview.html
index c2ec2230..fee96346 100644
--- a/docs/reference/html/overview.html
+++ b/docs/reference/html/overview.html
@@ -2,22 +2,22 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Part I. GObject-Introspection Overview</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<title>Part I. GObject-Introspection Overview: GObject Introspection Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GObject Introspection Reference Manual">
<link rel="up" href="index.html" title="GObject Introspection Reference Manual">
<link rel="prev" href="index.html" title="GObject Introspection Reference Manual">
<link rel="next" href="gi-building.html" title="Compiling the GObject Introspection package">
-<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GObject Introspection Reference Manual</th>
-<td><a accesskey="n" href="gi-building.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gi-building.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="part">
<div class="titlepage"><div><div><h1 class="title">
@@ -57,7 +57,6 @@
<img src="overview.png">
</div>
<div class="footer">
-<hr>
- Generated by GTK-Doc V1.19</div>
+<hr>Generated by GTK-Doc V1.24.1</div>
</body>
</html> \ No newline at end of file
diff --git a/docs/reference/html/right-insensitive.png b/docs/reference/html/right-insensitive.png
new file mode 100644
index 00000000..4c95785b
--- /dev/null
+++ b/docs/reference/html/right-insensitive.png
Binary files differ
diff --git a/docs/reference/html/right.png b/docs/reference/html/right.png
index 92832e3a..76260ec8 100644
--- a/docs/reference/html/right.png
+++ b/docs/reference/html/right.png
Binary files differ
diff --git a/docs/reference/html/style.css b/docs/reference/html/style.css
index d6f6c26e..36754209 100644
--- a/docs/reference/html/style.css
+++ b/docs/reference/html/style.css
@@ -1,15 +1,23 @@
+body
+{
+ font-family: cantarell, sans-serif;
+}
.synopsis, .classsynopsis
{
/* tango:aluminium 1/2 */
background: #eeeeec;
- border: solid 1px #d3d7cf;
+ background: rgba(238, 238, 236, 0.5);
+ border: solid 1px rgb(238, 238, 236);
padding: 0.5em;
}
.programlisting
{
/* tango:sky blue 0/1 */
+ /* fallback for no rgba support */
background: #e6f3ff;
border: solid 1px #729fcf;
+ background: rgba(114, 159, 207, 0.1);
+ border: solid 1px rgba(114, 159, 207, 0.2);
padding: 0.5em;
}
.variablelist
@@ -22,89 +30,6 @@
vertical-align: top;
}
-@media screen {
- sup a.footnote
- {
- position: relative;
- top: 0em ! important;
-
- }
- /* this is needed so that the local anchors are displayed below the naviagtion */
- div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
- {
- display: inline-block;
- position: relative;
- top:-5em;
- }
- /* this seems to be a bug in the xsl style sheets when generating indexes */
- div.index div.index
- {
- top: 0em;
- }
- /* make space for the fixed navigation bar and add space at the bottom so that
- * link targets appear somewhat close to top
- */
- body
- {
- padding-top: 3.2em;
- padding-bottom: 20em;
- }
- /* style and size the navigation bar */
- table.navigation#top
- {
- position: fixed;
- /* tango:scarlet red 0/1 */
- background: #ffe6e6;
- border: solid 1px #ef2929;
- margin-top: 0;
- margin-bottom: 0;
- top: 0;
- left: 0;
- height: 3em;
- z-index: 10;
- }
- .navigation a, .navigation a:visited
- {
- /* tango:scarlet red 3 */
- color: #a40000;
- }
- .navigation a:hover
- {
- /* tango:scarlet red 1 */
- color: #ef2929;
- }
- td.shortcuts
- {
- /* tango:scarlet red 1 */
- color: #ef2929;
- font-size: 80%;
- white-space: nowrap;
- }
-}
-@media print {
- table.navigation {
- visibility: collapse;
- display: none;
- }
- div.titlepage table.navigation {
- visibility: visible;
- display: table;
- /* tango:scarlet red 0/1 */
- background: #ffe6e6;
- border: solid 1px #ef2929;
- margin-top: 0;
- margin-bottom: 0;
- top: 0;
- left: 0;
- height: 3em;
- }
-}
-
-.navigation .title
-{
- font-size: 200%;
-}
-
div.gallery-float
{
float: left;
@@ -132,6 +57,72 @@ a:hover
color: #729fcf;
}
+div.informaltable table
+{
+ border-collapse: separate;
+ border-spacing: 1em 0.3em;
+ border: none;
+}
+
+div.informaltable table td, div.informaltable table th
+{
+ vertical-align: top;
+}
+
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.parameter_name,
+.struct_member_name,
+.union_member_name,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword
+{
+ text-align: right;
+}
+
+/* dim non-primary columns */
+.c_punctuation,
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword,
+.property_flags,
+.signal_flags,
+.parameter_annotations,
+.enum_member_annotations,
+.struct_member_annotations,
+.union_member_annotations
+{
+ color: #888a85;
+}
+
+.function_type a,
+.function_type a:visited,
+.function_type a:hover,
+.property_type a,
+.property_type a:visited,
+.property_type a:hover,
+.signal_type a,
+.signal_type a:visited,
+.signal_type a:hover,
+.signal_flags a,
+.signal_flags a:visited,
+.signal_flags a:hover
+{
+ color: #729fcf;
+}
+
+td p
+{
+ margin: 0.25em;
+}
+
div.table table
{
border-collapse: collapse;
@@ -154,14 +145,44 @@ div.table table th
background-color: #d3d7cf;
}
+h4
+{
+ color: #555753;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
hr
{
- /* tango:aluminium 3 */
- color: #babdb6;
- background: #babdb6;
+ /* tango:aluminium 1 */
+ color: #d3d7cf;
+ background: #d3d7cf;
border: none 0px;
height: 1px;
clear: both;
+ margin: 2.0em 0em 2.0em 0em;
+}
+
+dl.toc dt
+{
+ padding-bottom: 0.25em;
+}
+
+dl.toc > dt
+{
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
+ font-weight: bold;
+}
+
+dl.toc > dl
+{
+ padding-bottom: 0.5em;
+}
+
+.parameter
+{
+ font-style: normal;
}
.footer
@@ -173,31 +194,70 @@ hr
font-size: 80%;
}
+.informalfigure,
+.figure
+{
+ margin: 1em;
+}
+
+.informalexample,
+.example
+{
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
.warning
{
/* tango:orange 0/1 */
background: #ffeed9;
+ background: rgba(252, 175, 62, 0.1);
border-color: #ffb04f;
+ border-color: rgba(252, 175, 62, 0.2);
}
.note
{
/* tango:chameleon 0/0.5 */
background: #d8ffb2;
+ background: rgba(138, 226, 52, 0.1);
border-color: #abf562;
+ border-color: rgba(138, 226, 52, 0.2);
}
-.note, .warning
+div.blockquote
+{
+ border-color: #eeeeec;
+}
+.note, .warning, div.blockquote
{
padding: 0.5em;
border-width: 1px;
border-style: solid;
+ margin: 2em;
}
-.note h3, .warning h3
+.note p, .warning p
{
- margin-top: 0.0em
+ margin: 0;
}
-.note p, .warning p
+
+div.warning h3.title,
+div.note h3.title
+{
+ display: none;
+}
+
+p + div.section
{
- margin-bottom: 0.0em
+ margin-top: 1em;
+}
+
+div.refnamediv,
+div.refsynopsisdiv,
+div.refsect1,
+div.refsect2,
+div.toc,
+div.section
+{
+ margin-bottom: 1em;
}
/* blob links */
@@ -210,33 +270,52 @@ h2 .extralinks, h3 .extralinks
font-weight: normal;
}
+.lineart
+{
+ color: #d3d7cf;
+ font-weight: normal;
+}
+
.annotation
{
/* tango:aluminium 5 */
color: #555753;
- font-size: 80%;
font-weight: normal;
}
+.structfield
+{
+ font-style: normal;
+ font-weight: normal;
+}
+
+acronym,abbr
+{
+ border-bottom: 1px dotted gray;
+}
+
/* code listings */
-.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
-.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
-.listing_code .programlisting .function { color: #000000; font-weight: bold; }
-.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
-.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .normal,
+.listing_code .programlisting .normal a,
+.listing_code .programlisting .number,
+.listing_code .programlisting .cbracket,
+.listing_code .programlisting .symbol { color: #555753; }
+.listing_code .programlisting .comment,
.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
-.listing_code .programlisting .normal { color: #000000; }
-.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .function,
+.listing_code .programlisting .function a,
.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
-.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
-.listing_code .programlisting .type { color: #000000; }
-.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
-.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */
+.listing_code .programlisting .keyword,
+.listing_code .programlisting .usertype,
+.listing_code .programlisting .type,
+.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */
.listing_frame {
/* tango:sky blue 1 */
border: solid 1px #729fcf;
+ border: solid 1px rgba(114, 159, 207, 0.2);
padding: 0px;
}
@@ -248,19 +327,153 @@ h2 .extralinks, h3 .extralinks
.listing_lines {
/* tango:sky blue 0.5 */
background: #a6c5e3;
+ background: rgba(114, 159, 207, 0.2);
/* tango:aluminium 6 */
color: #2e3436;
}
.listing_code {
/* tango:sky blue 0 */
background: #e6f3ff;
+ background: rgba(114, 159, 207, 0.1);
}
.listing_code .programlisting {
/* override from previous */
border: none 0px;
padding: 0px;
+ background: none;
}
.listing_lines pre, .listing_code pre {
margin: 0px;
}
+@media screen {
+ /* these have a <sup> as a first child, but since there are no parent selectors
+ * we can't use that. */
+ a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 2.5em;
+ padding-bottom: 500px;
+ max-width: 60em;
+ }
+ p
+ {
+ max-width: 60em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ background: #e2e2e2;
+ border-bottom: solid 1px #babdb6;
+ border-spacing: 5px;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ z-index: 10;
+ }
+ table.navigation#top td
+ {
+ padding-left: 6px;
+ padding-right: 6px;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:sky blue 3 */
+ color: #204a87;
+ }
+ .navigation a:hover
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ }
+ td.shortcuts
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+ td.shortcuts .dim
+ {
+ color: #babdb6;
+ }
+ .navigation .title
+ {
+ font-size: 80%;
+ max-width: none;
+ margin: 0px;
+ font-weight: normal;
+ }
+}
+@media screen and (min-width: 60em) {
+ /* screen larger than 60em */
+ body { margin: auto; }
+}
+@media screen and (max-width: 60em) {
+ /* screen less than 60em */
+ #nav_hierarchy { display: none; }
+ #nav_interfaces { display: none; }
+ #nav_prerequisites { display: none; }
+ #nav_derived_interfaces { display: none; }
+ #nav_implementations { display: none; }
+ #nav_child_properties { display: none; }
+ #nav_style_properties { display: none; }
+ #nav_index { display: none; }
+ #nav_glossary { display: none; }
+ .gallery_image { display: none; }
+ .property_flags { display: none; }
+ .signal_flags { display: none; }
+ .parameter_annotations { display: none; }
+ .enum_member_annotations { display: none; }
+ .struct_member_annotations { display: none; }
+ .union_member_annotations { display: none; }
+ /* now that a column is hidden, optimize space */
+ col.parameters_name { width: auto; }
+ col.parameters_description { width: auto; }
+ col.struct_members_name { width: auto; }
+ col.struct_members_description { width: auto; }
+ col.enum_members_name { width: auto; }
+ col.enum_members_description { width: auto; }
+ col.union_members_name { width: auto; }
+ col.union_members_description { width: auto; }
+ .listing_lines { display: none; }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ background: #e2e2e2;
+ border: solid 1px #babdb6;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
diff --git a/docs/reference/html/up-insensitive.png b/docs/reference/html/up-insensitive.png
new file mode 100644
index 00000000..f4049860
--- /dev/null
+++ b/docs/reference/html/up-insensitive.png
Binary files differ
diff --git a/docs/reference/html/up.png b/docs/reference/html/up.png
index 85b3e2a2..80b4b37e 100644
--- a/docs/reference/html/up.png
+++ b/docs/reference/html/up.png
Binary files differ
diff --git a/docs/reference/version.xml b/docs/reference/version.xml
index f805cd6e..3b5f7ecc 100644
--- a/docs/reference/version.xml
+++ b/docs/reference/version.xml
@@ -1 +1 @@
-1.47.1
+1.47.92
diff --git a/gir/gio-2.0.c b/gir/gio-2.0.c
index ffb0161e..e8d740a3 100644
--- a/gir/gio-2.0.c
+++ b/gir/gio-2.0.c
@@ -1512,6 +1512,225 @@
/**
+ * GDtlsClientConnection:
+ *
+ * Abstract base class for the backend-specific client connection
+ * type.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsClientConnection:accepted-cas: (type GLib.List) (element-type GLib.ByteArray)
+ *
+ * A list of the distinguished names of the Certificate Authorities
+ * that the server will accept client certificates signed by. If the
+ * server requests a client certificate during the handshake, then
+ * this property will be set after the handshake completes.
+ *
+ * Each item in the list is a #GByteArray which contains the complete
+ * subject DN of the certificate authority.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsClientConnection:server-identity:
+ *
+ * A #GSocketConnectable describing the identity of the server that
+ * is expected on the other end of the connection.
+ *
+ * If the %G_TLS_CERTIFICATE_BAD_IDENTITY flag is set in
+ * #GDtlsClientConnection:validation-flags, this object will be used
+ * to determine the expected identify of the remote end of the
+ * connection; if #GDtlsClientConnection:server-identity is not set,
+ * or does not match the identity presented by the server, then the
+ * %G_TLS_CERTIFICATE_BAD_IDENTITY validation will fail.
+ *
+ * In addition to its use in verifying the server certificate,
+ * this is also used to give a hint to the server about what
+ * certificate we expect, which is useful for servers that serve
+ * virtual hosts.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsClientConnection:validation-flags:
+ *
+ * What steps to perform when validating a certificate received from
+ * a server. Server certificates that fail to validate in all of the
+ * ways indicated here will be rejected unless the application
+ * overrides the default via #GDtlsConnection::accept-certificate.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:
+ *
+ * Abstract base class for the backend-specific #GDtlsClientConnection
+ * and #GDtlsServerConnection types.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection::accept-certificate:
+ * @conn: a #GDtlsConnection
+ * @peer_cert: the peer's #GTlsCertificate
+ * @errors: the problems with @peer_cert.
+ *
+ * Emitted during the TLS handshake after the peer certificate has
+ * been received. You can examine @peer_cert's certification path by
+ * calling g_tls_certificate_get_issuer() on it.
+ *
+ * For a client-side connection, @peer_cert is the server's
+ * certificate, and the signal will only be emitted if the
+ * certificate was not acceptable according to @conn's
+ * #GDtlsClientConnection:validation_flags. If you would like the
+ * certificate to be accepted despite @errors, return %TRUE from the
+ * signal handler. Otherwise, if no handler accepts the certificate,
+ * the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE.
+ *
+ * For a server-side connection, @peer_cert is the certificate
+ * presented by the client, if this was requested via the server's
+ * #GDtlsServerConnection:authentication_mode. On the server side,
+ * the signal is always emitted when the client presents a
+ * certificate, and the certificate will only be accepted if a
+ * handler returns %TRUE.
+ *
+ * Note that if this signal is emitted as part of asynchronous I/O
+ * in the main thread, then you should not attempt to interact with
+ * the user before returning from the signal handler. If you want to
+ * let the user decide whether or not to accept the certificate, you
+ * would have to return %FALSE from the signal handler on the first
+ * attempt, and then after the connection attempt returns a
+ * %G_TLS_ERROR_HANDSHAKE, you can interact with the user, and if
+ * the user decides to accept the certificate, remember that fact,
+ * create a new connection, and return %TRUE from the signal handler
+ * the next time.
+ *
+ * If you are doing I/O in another thread, you do not
+ * need to worry about this, and can simply block in the signal
+ * handler until the UI thread returns an answer.
+ *
+ * Returns: %TRUE to accept @peer_cert (which will also
+ * immediately end the signal emission). %FALSE to allow the signal
+ * emission to continue, which will cause the handshake to fail if
+ * no one else overrides it.
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:base-socket:
+ *
+ * The #GDatagramBased that the connection wraps. Note that this may be any
+ * implementation of #GDatagramBased, not just a #GSocket.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:certificate:
+ *
+ * The connection's certificate; see
+ * g_dtls_connection_set_certificate().
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:database:
+ *
+ * The certificate database to use when verifying this TLS connection.
+ * If no certificate database is set, then the default database will be
+ * used. See g_dtls_backend_get_default_database().
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:interaction:
+ *
+ * A #GTlsInteraction object to be used when the connection or certificate
+ * database need to interact with the user. This will be used to prompt the
+ * user for passwords where necessary.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:peer-certificate:
+ *
+ * The connection's peer's certificate, after the TLS handshake has
+ * completed and the certificate has been accepted. Note in
+ * particular that this is not yet set during the emission of
+ * #GDtlsConnection::accept-certificate.
+ *
+ * (You can watch for a #GObject::notify signal on this property to
+ * detect when a handshake has occurred.)
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:peer-certificate-errors:
+ *
+ * The errors noticed-and-ignored while verifying
+ * #GDtlsConnection:peer-certificate. Normally this should be 0, but
+ * it may not be if #GDtlsClientConnection:validation-flags is not
+ * %G_TLS_CERTIFICATE_VALIDATE_ALL, or if
+ * #GDtlsConnection::accept-certificate overrode the default
+ * behavior.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:rehandshake-mode:
+ *
+ * The rehandshaking mode. See
+ * g_dtls_connection_set_rehandshake_mode().
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsConnection:require-close-notify:
+ *
+ * Whether or not proper TLS close notification is required.
+ * See g_dtls_connection_set_require_close_notify().
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * GDtlsServerConnection:authentication-mode:
+ *
+ * The #GTlsAuthenticationMode for the server. This can be changed
+ * before calling g_dtls_connection_handshake() if you want to
+ * rehandshake with a different mode from the initial handshake.
+ *
+ * Since: 2.48
+ */
+
+
+/**
* GFileIcon:file:
*
* The file containing the icon.
@@ -3179,7 +3398,7 @@
/**
* GTlsBackend:
*
- * TLS (Transport Layer Security, aka SSL) backend. This is an
+ * TLS (Transport Layer Security, aka SSL) and DTLS backend. This is an
* internal type used to coordinate the different classes implemented
* by a TLS backend.
*
@@ -3403,7 +3622,11 @@
/**
* GTlsConnection:base-io-stream:
*
- * The #GIOStream that the connection wraps
+ * The #GIOStream that the connection wraps. The connection holds a reference
+ * to this stream, and may run operations on the stream from other threads
+ * throughout its lifetime. Consequently, after the #GIOStream has been
+ * constructed, application code may only run its own operations on this
+ * stream when no #GIOStream operations are running.
*
* Since: 2.28
*/
@@ -3423,7 +3646,7 @@
* GTlsConnection:database:
*
* The certificate database to use when verifying this TLS connection.
- * If no cerificate database is set, then the default database will be
+ * If no certificate database is set, then the default database will be
* used. See g_tls_backend_get_default_database().
*
* Since: 2.30
@@ -4115,7 +4338,7 @@
* In all cases, the implementing class is responsible for storing the
* name of the action, the parameter type, the enabled state, the
* optional state type and the state and emitting the appropriate
- * signals when these change. The implementor responsible for filtering
+ * signals when these change. The implementor is responsible for filtering
* calls to g_action_activate() and g_action_change_state() for type
* safety and for the state being enabled.
*
@@ -5463,6 +5686,14 @@
* clients can keep caches up to date by only listening to D-Bus
* signals.
*
+ * The recommended path to export an object manager at is the path form of the
+ * well-known name of a D-Bus service, or below. For example, if a D-Bus service
+ * is available at the well-known name `net.example.ExampleService1`, the object
+ * manager should typically be exported at `/net/example/ExampleService1`, or
+ * below (to allow for multiple object managers in a service).
+ *
+ * It is not supported to export an object manager at the root path, `/`.
+ *
* See #GDBusObjectManagerClient for the client-side code that is
* intended to be used with #GDBusObjectManagerServer or any D-Bus
* object implementing the org.freedesktop.DBus.ObjectManager
@@ -5622,6 +5853,59 @@
/**
+ * SECTION:gdtlsclientconnection
+ * @short_description: DTLS client-side connection
+ * @include: gio/gio.h
+ *
+ * #GDtlsClientConnection is the client-side subclass of
+ * #GDtlsConnection, representing a client-side DTLS connection.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * SECTION:gdtlsconnection
+ * @short_description: DTLS connection type
+ * @include: gio/gio.h
+ *
+ * #GDtlsConnection is the base DTLS connection class type, which wraps
+ * a #GDatagramBased and provides DTLS encryption on top of it. Its
+ * subclasses, #GDtlsClientConnection and #GDtlsServerConnection,
+ * implement client-side and server-side DTLS, respectively.
+ *
+ * For TLS support, see #GTlsConnection.
+ *
+ * As DTLS is datagram based, #GDtlsConnection implements #GDatagramBased,
+ * presenting a datagram-socket-like API for the encrypted connection. This
+ * operates over a base datagram connection, which is also a #GDatagramBased
+ * (#GDtlsConnection:base-socket).
+ *
+ * To close a DTLS connection, use g_dtls_connection_close().
+ *
+ * Neither #GDtlsServerConnection or #GDtlsClientConnection set the peer address
+ * on their base #GDatagramBased if it is a #GSocket — it is up to the caller to
+ * do that if they wish. If they do not, and g_socket_close() is called on the
+ * base socket, the #GDtlsConnection will not raise a %G_IO_ERROR_NOT_CONNECTED
+ * error on further I/O.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * SECTION:gdtlsserverconnection
+ * @short_description: DTLS server-side connection
+ * @include: gio/gio.h
+ *
+ * #GDtlsServerConnection is the server-side subclass of #GDtlsConnection,
+ * representing a server-side DTLS connection.
+ *
+ * Since: 2.48
+ */
+
+
+/**
* SECTION:gemblem
* @short_description: An object for emblems
* @include: gio/gio.h
@@ -6193,6 +6477,9 @@
* To copy the content of an input stream to an output stream without
* manually handling the reads and writes, use g_output_stream_splice().
*
+ * See the documentation for #GIOStream for details of thread safety of
+ * streaming APIs.
+ *
* All of these functions have async variants too.
*/
@@ -6261,6 +6548,28 @@
* #GIOStream may still be open. However, some streams may support
* "half-closed" states where one direction of the stream is actually shut down.
*
+ * Operations on #GIOStreams cannot be started while another operation on the
+ * #GIOStream or its substreams is in progress. Specifically, an application can
+ * read from the #GInputStream and write to the #GOutputStream simultaneously
+ * (either in separate threads, or as asynchronous operations in the same
+ * thread), but an application cannot start any #GIOStream operation while there
+ * is a #GIOStream, #GInputStream or #GOutputStream operation in progress, and
+ * an application can’t start any #GInputStream or #GOutputStream operation
+ * while there is a #GIOStream operation in progress.
+ *
+ * This is a product of individual stream operations being associated with a
+ * given #GMainContext (the thread-default context at the time the operation was
+ * started), rather than entire streams being associated with a single
+ * #GMainContext.
+ *
+ * GIO may run operations on #GIOStreams from other (worker) threads, and this
+ * may be exposed to application code in the behaviour of wrapper streams, such
+ * as #GBufferedInputStream or #GTlsConnection. With such wrapper APIs,
+ * application code may only run operations on the base (wrapped) stream when
+ * the wrapper stream is idle. Note that the semantics of such operations may
+ * not be well-defined due to the state the wrapper stream leaves the base
+ * stream in (though they are guaranteed not to crash).
+ *
* Since: 2.22
*/
@@ -6703,6 +7012,9 @@
* To copy the content of an input stream to an output stream without
* manually handling the reads and writes, use g_output_stream_splice().
*
+ * See the documentation for #GIOStream for details of thread safety of
+ * streaming APIs.
+ *
* All of these functions have async variants too.
*/
@@ -8266,11 +8578,11 @@
*
* // baking_data_free() will drop its ref on the cake, so we have to
* // take another here to give to the caller.
- * g_task_return_pointer (result, g_object_ref (cake), g_object_unref);
+ * g_task_return_pointer (task, g_object_ref (cake), g_object_unref);
* g_object_unref (task);
* }
*
- * static void
+ * static gboolean
* decorator_ready (gpointer user_data)
* {
* GTask *task = user_data;
@@ -8279,6 +8591,8 @@
* cake_decorate_async (bd->cake, bd->frosting, bd->message,
* g_task_get_cancellable (task),
* decorated_cb, task);
+ *
+ * return G_SOURCE_REMOVE;
* }
*
* static void
@@ -8315,8 +8629,7 @@
* source = cake_decorator_wait_source_new (cake);
* // Attach @source to @task's GMainContext and have it call
* // decorator_ready() when it is ready.
- * g_task_attach_source (task, source,
- * G_CALLBACK (decorator_ready));
+ * g_task_attach_source (task, source, decorator_ready);
* g_source_unref (source);
* }
* }
@@ -8762,7 +9075,12 @@
* Security, previously known as SSL, Secure Sockets Layer) support for
* gio-based network streams.
*
- * In the simplest case, for a client connection, you can just set the
+ * #GDtlsConnection and related classes provide DTLS (Datagram TLS) support for
+ * GIO-based network sockets, using the #GDatagramBased interface. The TLS and
+ * DTLS APIs are almost identical, except TLS is stream-based and DTLS is
+ * datagram-based. They share certificate and backend infrastructure.
+ *
+ * In the simplest case, for a client TLS connection, you can just set the
* #GSocketClient:tls flag on a #GSocketClient, and then any
* connections created by that client will have TLS negotiated
* automatically, using appropriate default settings, and rejecting
@@ -8790,7 +9108,7 @@
* @short_description: TLS backend implementation
* @include: gio/gio.h
*
- * TLS (Transport Layer Security, aka SSL) backend
+ * TLS (Transport Layer Security, aka SSL) and DTLS backend.
*
* Since: 2.28
*/
@@ -8833,6 +9151,8 @@
* subclasses, #GTlsClientConnection and #GTlsServerConnection,
* implement client-side and server-side TLS, respectively.
*
+ * For DTLS (Datagram TLS) support, see #GDtlsConnection.
+ *
* Since: 2.28
*/
@@ -12207,6 +12527,17 @@
* consumed, they will no longer be visible to the default handling
* (which treats them as filenames to be opened).
*
+ * It is important to use the proper GVariant format when retrieving
+ * the options with g_variant_dict_lookup():
+ * - for %G_OPTION_ARG_NONE, use b
+ * - for %G_OPTION_ARG_STRING, use &s
+ * - for %G_OPTION_ARG_INT, use i
+ * - for %G_OPTION_ARG_INT64, use x
+ * - for %G_OPTION_ARG_DOUBLE, use d
+ * - for %G_OPTION_ARG_FILENAME, use ^ay
+ * - for %G_OPTION_ARG_STRING_ARRAY, use &as
+ * - for %G_OPTION_ARG_FILENAME_ARRAY, use ^aay
+ *
* Since: 2.40
*/
@@ -12214,7 +12545,7 @@
/**
* g_application_add_option_group:
* @application: the #GApplication
- * @group: a #GOptionGroup
+ * @group: (transfer full): a #GOptionGroup
*
* Adds a #GOptionGroup to the commandline handling of @application.
*
@@ -12915,6 +13246,9 @@
* This function sets the prgname (g_set_prgname()), if not already set,
* to the basename of argv[0].
*
+ * Much like g_main_loop_run(), this function will acquire the main context
+ * for the duration that the application is running.
+ *
* Since 2.40, applications that are not explicitly flagged as services
* or launchers (ie: neither %G_APPLICATION_IS_SERVICE or
* %G_APPLICATION_IS_LAUNCHER are given as flags) will check (from the
@@ -13089,7 +13423,12 @@
*
* Changing the resource base path once the application is running is
* not recommended. The point at which the resource path is consulted
- * for forming paths for various purposes is unspecified.
+ * for forming paths for various purposes is unspecified. When writing
+ * a sub-class of #GApplication you should either set the
+ * #GApplication:resource-base-path property at construction time, or call
+ * this function during the instance initialization. Alternatively, you
+ * can call this function in the #GApplicationClass.startup virtual function,
+ * before chaining up to the parent implementation.
*
* Since: 2.42
*/
@@ -14418,7 +14757,8 @@
* @inbuf: (array length=inbuf_size) (element-type guint8): the buffer
* containing the data to convert.
* @inbuf_size: the number of bytes in @inbuf
- * @outbuf: a buffer to write converted data in.
+ * @outbuf: (element-type guint8) (array length=outbuf_size): a buffer to write
+ * converted data in.
* @outbuf_size: the number of bytes in @outbuf, must be at least one
* @flags: a #GConverterFlags controlling the conversion details
* @bytes_read: (out): will be set to the number of bytes read from @inbuf on success
@@ -14655,7 +14995,7 @@
* g_credentials_set_native:
* @credentials: A #GCredentials.
* @native_type: The type of native credentials to set.
- * @native: A pointer to native credentials.
+ * @native: (not nullable): A pointer to native credentials.
*
* Copies the native credentials of type @native_type from @native
* into @credentials.
@@ -15586,7 +15926,7 @@
/**
* g_dbus_address_get_stream_finish:
* @res: A #GAsyncResult obtained from the GAsyncReadyCallback passed to g_dbus_address_get_stream().
- * @out_guid: %NULL or return location to store the GUID extracted from @address, if any.
+ * @out_guid: (optional) (out): %NULL or return location to store the GUID extracted from @address, if any.
* @error: Return location for error or %NULL.
*
* Finishes an operation started with g_dbus_address_get_stream().
@@ -15599,7 +15939,7 @@
/**
* g_dbus_address_get_stream_sync:
* @address: A valid D-Bus address.
- * @out_guid: %NULL or return location to store the GUID extracted from @address, if any.
+ * @out_guid: (optional) (out): %NULL or return location to store the GUID extracted from @address, if any.
* @cancellable: (allow-none): A #GCancellable or %NULL.
* @error: Return location for error or %NULL.
*
@@ -18441,6 +18781,10 @@
*
* This method will free @invocation, you cannot use it afterwards.
*
+ * Since 2.48, if the method call requested for a reply not to be sent
+ * then this call will free @invocation but otherwise do nothing (as per
+ * the recommendations of the D-Bus specification).
+ *
* Since: 2.26
*/
@@ -18503,6 +18847,11 @@
*
* This method will free @invocation, you cannot use it afterwards.
*
+ * Since 2.48, if the method call requested for a reply not to be sent
+ * then this call will sink @parameters and free @invocation, but
+ * otherwise do nothing (as per the recommendations of the D-Bus
+ * specification).
+ *
* Since: 2.26
*/
@@ -18946,14 +19295,15 @@
/**
* g_dbus_object_manager_server_new:
- * @object_path: The object path to export the manager object at.
+ * @object_path: The object path to export the manager object at, which should
+ * not be `/`.
*
* Creates a new #GDBusObjectManagerServer object.
*
* The returned server isn't yet exported on any connection. To do so,
* use g_dbus_object_manager_server_set_connection(). Normally you
- * want to export all of your objects before doing so to avoid <ulink
- * url="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager">InterfacesAdded</ulink>
+ * want to export all of your objects before doing so to avoid
+ * [InterfacesAdded](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager)
* signals being emitted.
*
* Returns: A #GDBusObjectManagerServer object. Free with g_object_unref().
@@ -20471,6 +20821,522 @@
/**
+ * g_dtls_client_connection_get_accepted_cas:
+ * @conn: the #GDtlsClientConnection
+ *
+ * Gets the list of distinguished names of the Certificate Authorities
+ * that the server will accept certificates from. This will be set
+ * during the TLS handshake if the server requests a certificate.
+ * Otherwise, it will be %NULL.
+ *
+ * Each item in the list is a #GByteArray which contains the complete
+ * subject DN of the certificate authority.
+ *
+ * Returns: (element-type GByteArray) (transfer full): the list of
+ * CA DNs. You should unref each element with g_byte_array_unref() and then
+ * the free the list with g_list_free().
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_client_connection_get_server_identity:
+ * @conn: the #GDtlsClientConnection
+ *
+ * Gets @conn's expected server identity
+ *
+ * Returns: (transfer none): a #GSocketConnectable describing the
+ * expected server identity, or %NULL if the expected identity is not
+ * known.
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_client_connection_get_validation_flags:
+ * @conn: the #GDtlsClientConnection
+ *
+ * Gets @conn's validation flags
+ *
+ * Returns: the validation flags
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_client_connection_new:
+ * @base_socket: the #GDatagramBased to wrap
+ * @server_identity: (allow-none): the expected identity of the server
+ * @error: #GError for error reporting, or %NULL to ignore.
+ *
+ * Creates a new #GDtlsClientConnection wrapping @base_socket which is
+ * assumed to communicate with the server identified by @server_identity.
+ *
+ * Returns: (transfer full) (type GDtlsClientConnection): the new
+ * #GDtlsClientConnection, or %NULL on error
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_client_connection_set_server_identity:
+ * @conn: the #GDtlsClientConnection
+ * @identity: a #GSocketConnectable describing the expected server identity
+ *
+ * Sets @conn's expected server identity, which is used both to tell
+ * servers on virtual hosts which certificate to present, and also
+ * to let @conn know what name to look for in the certificate when
+ * performing %G_TLS_CERTIFICATE_BAD_IDENTITY validation, if enabled.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_client_connection_set_validation_flags:
+ * @conn: the #GDtlsClientConnection
+ * @flags: the #GTlsCertificateFlags to use
+ *
+ * Sets @conn's validation flags, to override the default set of
+ * checks performed when validating a server certificate. By default,
+ * %G_TLS_CERTIFICATE_VALIDATE_ALL is used.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_close:
+ * @conn: a #GDtlsConnection
+ * @cancellable: (nullable): a #GCancellable, or %NULL
+ * @error: a #GError, or %NULL
+ *
+ * Close the DTLS connection. This is equivalent to calling
+ * g_dtls_connection_shutdown() to shut down both sides of the connection.
+ *
+ * Closing a #GDtlsConnection waits for all buffered but untransmitted data to
+ * be sent before it completes. It then sends a `close_notify` DTLS alert to the
+ * peer and may wait for a `close_notify` to be received from the peer. It does
+ * not close the underlying #GDtlsConnection:base-socket; that must be closed
+ * separately.
+ *
+ * Once @conn is closed, all other operations will return %G_IO_ERROR_CLOSED.
+ * Closing a #GDtlsConnection multiple times will not return an error.
+ *
+ * #GDtlsConnections will be automatically closed when the last reference is
+ * dropped, but you might want to call this function to make sure resources are
+ * released as early as possible.
+ *
+ * If @cancellable is cancelled, the #GDtlsConnection may be left
+ * partially-closed and any pending untransmitted data may be lost. Call
+ * g_dtls_connection_close() again to complete closing the #GDtlsConnection.
+ *
+ * Returns: %TRUE on success, %FALSE otherwise
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_close_async:
+ * @conn: a #GDtlsConnection
+ * @io_priority: the [I/O priority][io-priority] of the request
+ * @cancellable: (nullable): a #GCancellable, or %NULL
+ * @callback: callback to call when the close operation is complete
+ * @user_data: the data to pass to the callback function
+ *
+ * Asynchronously close the DTLS connection. See g_dtls_connection_close() for
+ * more information.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_close_finish:
+ * @conn: a #GDtlsConnection
+ * @result: a #GAsyncResult
+ * @error: a #GError pointer, or %NULL
+ *
+ * Finish an asynchronous TLS close operation. See g_dtls_connection_close()
+ * for more information.
+ *
+ * Returns: %TRUE on success, %FALSE on failure, in which
+ * case @error will be set
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_emit_accept_certificate:
+ * @conn: a #GDtlsConnection
+ * @peer_cert: the peer's #GTlsCertificate
+ * @errors: the problems with @peer_cert
+ *
+ * Used by #GDtlsConnection implementations to emit the
+ * #GDtlsConnection::accept-certificate signal.
+ *
+ * Returns: %TRUE if one of the signal handlers has returned
+ * %TRUE to accept @peer_cert
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_get_certificate:
+ * @conn: a #GDtlsConnection
+ *
+ * Gets @conn's certificate, as set by
+ * g_dtls_connection_set_certificate().
+ *
+ * Returns: (transfer none): @conn's certificate, or %NULL
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_get_database:
+ * @conn: a #GDtlsConnection
+ *
+ * Gets the certificate database that @conn uses to verify
+ * peer certificates. See g_dtls_connection_set_database().
+ *
+ * Returns: (transfer none): the certificate database that @conn uses or %NULL
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_get_interaction:
+ * @conn: a connection
+ *
+ * Get the object that will be used to interact with the user. It will be used
+ * for things like prompting the user for passwords. If %NULL is returned, then
+ * no user interaction will occur for this connection.
+ *
+ * Returns: (transfer none): The interaction object.
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_get_peer_certificate:
+ * @conn: a #GDtlsConnection
+ *
+ * Gets @conn's peer's certificate after the handshake has completed.
+ * (It is not set during the emission of
+ * #GDtlsConnection::accept-certificate.)
+ *
+ * Returns: (transfer none): @conn's peer's certificate, or %NULL
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_get_peer_certificate_errors:
+ * @conn: a #GDtlsConnection
+ *
+ * Gets the errors associated with validating @conn's peer's
+ * certificate, after the handshake has completed. (It is not set
+ * during the emission of #GDtlsConnection::accept-certificate.)
+ *
+ * Returns: @conn's peer's certificate errors
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_get_rehandshake_mode:
+ * @conn: a #GDtlsConnection
+ *
+ * Gets @conn rehandshaking mode. See
+ * g_dtls_connection_set_rehandshake_mode() for details.
+ *
+ * Returns: @conn's rehandshaking mode
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_get_require_close_notify:
+ * @conn: a #GDtlsConnection
+ *
+ * Tests whether or not @conn expects a proper TLS close notification
+ * when the connection is closed. See
+ * g_dtls_connection_set_require_close_notify() for details.
+ *
+ * Returns: %TRUE if @conn requires a proper TLS close notification.
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_handshake:
+ * @conn: a #GDtlsConnection
+ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @error: a #GError, or %NULL
+ *
+ * Attempts a TLS handshake on @conn.
+ *
+ * On the client side, it is never necessary to call this method;
+ * although the connection needs to perform a handshake after
+ * connecting (or after sending a "STARTTLS"-type command) and may
+ * need to rehandshake later if the server requests it,
+ * #GDtlsConnection will handle this for you automatically when you try
+ * to send or receive data on the connection. However, you can call
+ * g_dtls_connection_handshake() manually if you want to know for sure
+ * whether the initial handshake succeeded or failed (as opposed to
+ * just immediately trying to write to @conn, in which
+ * case if it fails, it may not be possible to tell if it failed
+ * before or after completing the handshake).
+ *
+ * Likewise, on the server side, although a handshake is necessary at
+ * the beginning of the communication, you do not need to call this
+ * function explicitly unless you want clearer error reporting.
+ * However, you may call g_dtls_connection_handshake() later on to
+ * renegotiate parameters (encryption methods, etc) with the client.
+ *
+ * #GDtlsConnection::accept_certificate may be emitted during the
+ * handshake.
+ *
+ * Returns: success or failure
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_handshake_async:
+ * @conn: a #GDtlsConnection
+ * @io_priority: the [I/O priority][io-priority] of the request
+ * @cancellable: (allow-none): a #GCancellable, or %NULL
+ * @callback: callback to call when the handshake is complete
+ * @user_data: the data to pass to the callback function
+ *
+ * Asynchronously performs a TLS handshake on @conn. See
+ * g_dtls_connection_handshake() for more information.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_handshake_finish:
+ * @conn: a #GDtlsConnection
+ * @result: a #GAsyncResult.
+ * @error: a #GError pointer, or %NULL
+ *
+ * Finish an asynchronous TLS handshake operation. See
+ * g_dtls_connection_handshake() for more information.
+ *
+ * Returns: %TRUE on success, %FALSE on failure, in which
+ * case @error will be set.
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_set_certificate:
+ * @conn: a #GDtlsConnection
+ * @certificate: the certificate to use for @conn
+ *
+ * This sets the certificate that @conn will present to its peer
+ * during the TLS handshake. For a #GDtlsServerConnection, it is
+ * mandatory to set this, and that will normally be done at construct
+ * time.
+ *
+ * For a #GDtlsClientConnection, this is optional. If a handshake fails
+ * with %G_TLS_ERROR_CERTIFICATE_REQUIRED, that means that the server
+ * requires a certificate, and if you try connecting again, you should
+ * call this method first. You can call
+ * g_dtls_client_connection_get_accepted_cas() on the failed connection
+ * to get a list of Certificate Authorities that the server will
+ * accept certificates from.
+ *
+ * (It is also possible that a server will allow the connection with
+ * or without a certificate; in that case, if you don't provide a
+ * certificate, you can tell that the server requested one by the fact
+ * that g_dtls_client_connection_get_accepted_cas() will return
+ * non-%NULL.)
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_set_database:
+ * @conn: a #GDtlsConnection
+ * @database: a #GTlsDatabase
+ *
+ * Sets the certificate database that is used to verify peer certificates.
+ * This is set to the default database by default. See
+ * g_dtls_backend_get_default_database(). If set to %NULL, then
+ * peer certificate validation will always set the
+ * %G_TLS_CERTIFICATE_UNKNOWN_CA error (meaning
+ * #GDtlsConnection::accept-certificate will always be emitted on
+ * client-side connections, unless that bit is not set in
+ * #GDtlsClientConnection:validation-flags).
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_set_interaction:
+ * @conn: a connection
+ * @interaction: (allow-none): an interaction object, or %NULL
+ *
+ * Set the object that will be used to interact with the user. It will be used
+ * for things like prompting the user for passwords.
+ *
+ * The @interaction argument will normally be a derived subclass of
+ * #GTlsInteraction. %NULL can also be provided if no user interaction
+ * should occur for this connection.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_set_rehandshake_mode:
+ * @conn: a #GDtlsConnection
+ * @mode: the rehandshaking mode
+ *
+ * Sets how @conn behaves with respect to rehandshaking requests.
+ *
+ * %G_TLS_REHANDSHAKE_NEVER means that it will never agree to
+ * rehandshake after the initial handshake is complete. (For a client,
+ * this means it will refuse rehandshake requests from the server, and
+ * for a server, this means it will close the connection with an error
+ * if the client attempts to rehandshake.)
+ *
+ * %G_TLS_REHANDSHAKE_SAFELY means that the connection will allow a
+ * rehandshake only if the other end of the connection supports the
+ * TLS `renegotiation_info` extension. This is the default behavior,
+ * but means that rehandshaking will not work against older
+ * implementations that do not support that extension.
+ *
+ * %G_TLS_REHANDSHAKE_UNSAFELY means that the connection will allow
+ * rehandshaking even without the `renegotiation_info` extension. On
+ * the server side in particular, this is not recommended, since it
+ * leaves the server open to certain attacks. However, this mode is
+ * necessary if you need to allow renegotiation with older client
+ * software.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_set_require_close_notify:
+ * @conn: a #GDtlsConnection
+ * @require_close_notify: whether or not to require close notification
+ *
+ * Sets whether or not @conn expects a proper TLS close notification
+ * before the connection is closed. If this is %TRUE (the default),
+ * then @conn will expect to receive a TLS close notification from its
+ * peer before the connection is closed, and will return a
+ * %G_TLS_ERROR_EOF error if the connection is closed without proper
+ * notification (since this may indicate a network error, or
+ * man-in-the-middle attack).
+ *
+ * In some protocols, the application will know whether or not the
+ * connection was closed cleanly based on application-level data
+ * (because the application-level data includes a length field, or is
+ * somehow self-delimiting); in this case, the close notify is
+ * redundant and may be omitted. You
+ * can use g_dtls_connection_set_require_close_notify() to tell @conn
+ * to allow an "unannounced" connection close, in which case the close
+ * will show up as a 0-length read, as in a non-TLS
+ * #GDatagramBased, and it is up to the application to check that
+ * the data has been fully received.
+ *
+ * Note that this only affects the behavior when the peer closes the
+ * connection; when the application calls g_dtls_connection_close_async() on
+ * @conn itself, this will send a close notification regardless of the
+ * setting of this property. If you explicitly want to do an unclean
+ * close, you can close @conn's #GDtlsConnection:base-socket rather
+ * than closing @conn itself.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_shutdown:
+ * @conn: a #GDtlsConnection
+ * @shutdown_read: %TRUE to stop reception of incoming datagrams
+ * @shutdown_write: %TRUE to stop sending outgoing datagrams
+ * @cancellable: (nullable): a #GCancellable, or %NULL
+ * @error: a #GError, or %NULL
+ *
+ * Shut down part or all of a DTLS connection.
+ *
+ * If @shutdown_read is %TRUE then the receiving side of the connection is shut
+ * down, and further reading is disallowed. Subsequent calls to
+ * g_datagram_based_receive_messages() will return %G_IO_ERROR_CLOSED.
+ *
+ * If @shutdown_write is %TRUE then the sending side of the connection is shut
+ * down, and further writing is disallowed. Subsequent calls to
+ * g_datagram_based_send_messages() will return %G_IO_ERROR_CLOSED.
+ *
+ * It is allowed for both @shutdown_read and @shutdown_write to be TRUE — this
+ * is equivalent to calling g_dtls_connection_close().
+ *
+ * If @cancellable is cancelled, the #GDtlsConnection may be left
+ * partially-closed and any pending untransmitted data may be lost. Call
+ * g_dtls_connection_shutdown() again to complete closing the #GDtlsConnection.
+ *
+ * Returns: %TRUE on success, %FALSE otherwise
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_shutdown_async:
+ * @conn: a #GDtlsConnection
+ * @shutdown_read: %TRUE to stop reception of incoming datagrams
+ * @shutdown_write: %TRUE to stop sending outgoing datagrams
+ * @io_priority: the [I/O priority][io-priority] of the request
+ * @cancellable: (nullable): a #GCancellable, or %NULL
+ * @callback: callback to call when the shutdown operation is complete
+ * @user_data: the data to pass to the callback function
+ *
+ * Asynchronously shut down part or all of the DTLS connection. See
+ * g_dtls_connection_shutdown() for more information.
+ *
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_connection_shutdown_finish:
+ * @conn: a #GDtlsConnection
+ * @result: a #GAsyncResult
+ * @error: a #GError pointer, or %NULL
+ *
+ * Finish an asynchronous TLS shutdown operation. See
+ * g_dtls_connection_shutdown() for more information.
+ *
+ * Returns: %TRUE on success, %FALSE on failure, in which
+ * case @error will be set
+ * Since: 2.48
+ */
+
+
+/**
+ * g_dtls_server_connection_new:
+ * @base_socket: the #GDatagramBased to wrap
+ * @certificate: (allow-none): the default server certificate, or %NULL
+ * @error: #GError for error reporting, or %NULL to ignore
+ *
+ * Creates a new #GDtlsServerConnection wrapping @base_socket.
+ *
+ * Returns: (transfer full) (type GDtlsServerConnection): the new
+ * #GDtlsServerConnection, or %NULL on error
+ * Since: 2.48
+ */
+
+
+/**
* g_emblem_get_icon:
* @emblem: a #GEmblem from which the icon should be extracted.
*
@@ -21940,8 +22806,8 @@
* @src_info: source to copy attributes from.
* @dest_info: destination to copy attributes to.
*
- * Copies all of the [GFileAttribute][gio-GFileAttribute]
- * from @src_info to @dest_info.
+ * First clears all of the [GFileAttribute][gio-GFileAttribute] of @dest_info,
+ * and then copies all of the file attributes from @src_info to @dest_info.
*/
@@ -21998,9 +22864,10 @@
* g_file_info_get_attribute_data:
* @info: a #GFileInfo
* @attribute: a file attribute key
- * @type: (out) (allow-none): return location for the attribute type, or %NULL
- * @value_pp: (out) (allow-none): return location for the attribute value, or %NULL
- * @status: (out) (allow-none): return location for the attribute status, or %NULL
+ * @type: (out) (optional): return location for the attribute type, or %NULL
+ * @value_pp: (out) (optional) (not nullable): return location for the
+ * attribute value, or %NULL; the attribute value will not be %NULL
+ * @status: (out) (optional): return location for the attribute status, or %NULL
*
* Gets the attribute type, value and status for an attribute key.
*
@@ -22321,7 +23188,8 @@
/**
* g_file_info_list_attributes:
* @info: a #GFileInfo.
- * @name_space: a file attribute key's namespace.
+ * @name_space: (nullable): a file attribute key's namespace, or %NULL to list
+ * all attributes.
*
* Lists the file info structure's attributes.
*
@@ -22354,7 +23222,7 @@
* @info: a #GFileInfo.
* @attribute: a file attribute key.
* @type: a #GFileAttributeType
- * @value_p: pointer to the value
+ * @value_p: (not nullable): pointer to the value
*
* Sets the @attribute to contain the given value, if possible. To unset the
* attribute, use %G_ATTRIBUTE_TYPE_INVALID for @type.
@@ -23134,6 +24002,23 @@
/**
+ * g_file_monitor_emit_event:
+ * @monitor: a #GFileMonitor.
+ * @child: a #GFile.
+ * @other_file: a #GFile.
+ * @event_type: a set of #GFileMonitorEvent flags.
+ *
+ * Emits the #GFileMonitor::changed signal if a change
+ * has taken place. Should be called from file monitor
+ * implementations only.
+ *
+ * Implementations are responsible to call this method from the
+ * [thread-default main context][g-main-context-push-thread-default] of the
+ * thread that the monitor was created in.
+ */
+
+
+/**
* g_file_monitor_file:
* @file: input #GFile
* @flags: a set of #GFileMonitorFlags
@@ -24889,7 +25774,7 @@
/**
* g_icon_hash: (virtual hash)
- * @icon: #gconstpointer to an icon object.
+ * @icon: (not nullable): #gconstpointer to an icon object.
*
* Gets a hash for an icon.
*
@@ -25216,6 +26101,7 @@
*
* Returns: a new #GInetAddress corresponding to the "any" address
* for @family.
+ * Free the returned object with g_object_unref().
* Since: 2.22
*/
@@ -25230,6 +26116,7 @@
* %G_SOCKET_FAMILY_IPV6.
*
* Returns: a new #GInetAddress corresponding to @family and @bytes.
+ * Free the returned object with g_object_unref().
* Since: 2.22
*/
@@ -25242,6 +26129,7 @@
*
* Returns: a new #GInetAddress corresponding to @string, or %NULL if
* @string could not be parsed.
+ * Free the returned object with g_object_unref().
* Since: 2.22
*/
@@ -25254,6 +26142,7 @@
*
* Returns: a new #GInetAddress corresponding to the loopback address
* for @family.
+ * Free the returned object with g_object_unref().
* Since: 2.22
*/
@@ -26858,7 +27747,8 @@
* Note that the returned pointer may become invalid on the next
* write or truncate operation on the stream.
*
- * Returns: (transfer none): pointer to the stream's data
+ * Returns: (transfer none): pointer to the stream's data, or %NULL if the data
+ * has been stolen
*/
@@ -26986,7 +27876,8 @@
*
* @ostream must be closed before calling this function.
*
- * Returns: (transfer full): the stream's data
+ * Returns: (transfer full): the stream's data, or %NULL if it has previously
+ * been stolen
* Since: 2.26
*/
@@ -33396,7 +34287,7 @@
/**
* g_socket_address_new_from_native:
- * @native: a pointer to a struct sockaddr
+ * @native: (not nullable): a pointer to a struct sockaddr
* @len: the size of the memory location pointed to by @native
*
* Creates a #GSocketAddress subclass corresponding to the native
@@ -34455,7 +35346,7 @@
/**
* g_socket_control_message_serialize:
* @message: a #GSocketControlMessage
- * @data: A buffer to write data to
+ * @data: (not nullable): A buffer to write data to
*
* Converts the data in the message to bytes placed in the
* message.
@@ -35218,16 +36109,16 @@
/**
* g_socket_receive_message:
* @socket: a #GSocket
- * @address: (out) (allow-none): a pointer to a #GSocketAddress
+ * @address: (out) (nullable): a pointer to a #GSocketAddress
* pointer, or %NULL
* @vectors: (array length=num_vectors): an array of #GInputVector structs
* @num_vectors: the number of elements in @vectors, or -1
- * @messages: (array length=num_messages) (allow-none): a pointer which
+ * @messages: (array length=num_messages) (out) (nullable): a pointer which
* may be filled with an array of #GSocketControlMessages, or %NULL
- * @num_messages: a pointer which will be filled with the number of
+ * @num_messages: (out): a pointer which will be filled with the number of
* elements in @messages, or %NULL
- * @flags: a pointer to an int containing #GSocketMsgFlags flags
- * @cancellable: (allow-none): a %GCancellable or %NULL
+ * @flags: (inout): a pointer to an int containing #GSocketMsgFlags flags
+ * @cancellable: a %GCancellable or %NULL
* @error: a #GError pointer, or %NULL
*
* Receive data from a socket. For receiving multiple messages, see
@@ -37611,6 +38502,30 @@
/**
+ * g_tls_backend_get_dtls_client_connection_type:
+ * @backend: the #GTlsBackend
+ *
+ * Gets the #GType of @backend’s #GDtlsClientConnection implementation.
+ *
+ * Returns: the #GType of @backend’s #GDtlsClientConnection
+ * implementation.
+ * Since: 2.48
+ */
+
+
+/**
+ * g_tls_backend_get_dtls_server_connection_type:
+ * @backend: the #GTlsBackend
+ *
+ * Gets the #GType of @backend’s #GDtlsServerConnection implementation.
+ *
+ * Returns: the #GType of @backend’s #GDtlsServerConnection
+ * implementation.
+ * Since: 2.48
+ */
+
+
+/**
* g_tls_backend_get_file_database_type:
* @backend: the #GTlsBackend
*
@@ -37634,6 +38549,18 @@
/**
+ * g_tls_backend_supports_dtls:
+ * @backend: the #GTlsBackend
+ *
+ * Checks if DTLS is supported. DTLS support may not be available even if TLS
+ * support is available, and vice-versa.
+ *
+ * Returns: whether DTLS is supported
+ * Since: 2.48
+ */
+
+
+/**
* g_tls_backend_supports_tls:
* @backend: the #GTlsBackend
*
@@ -37882,6 +38809,10 @@
* must have pollable input and output streams) which is assumed to
* communicate with the server identified by @server_identity.
*
+ * See the documentation for #GTlsConnection:base-io-stream for restrictions
+ * on when application code can run operations on the @base_io_stream after
+ * this function has returned.
+ *
* Returns: (transfer full) (type GTlsClientConnection): the new
* #GTlsClientConnection, or %NULL on error
* Since: 2.28
@@ -38232,7 +39163,8 @@
* on @conn, this will send a close notification regardless of the
* setting of this property. If you explicitly want to do an unclean
* close, you can close @conn's #GTlsConnection:base-io-stream rather
- * than closing @conn itself.
+ * than closing @conn itself, but note that this may only be done when no other
+ * operations are pending on @conn or the base I/O stream.
*
* Since: 2.28
*/
@@ -38913,6 +39845,10 @@
* Creates a new #GTlsServerConnection wrapping @base_io_stream (which
* must have pollable input and output streams).
*
+ * See the documentation for #GTlsConnection:base-io-stream for restrictions
+ * on when application code can run operations on the @base_io_stream after
+ * this function has returned.
+ *
* Returns: (transfer full) (type GTlsServerConnection): the new
* #GTlsServerConnection, or %NULL on error
* Since: 2.28
diff --git a/gir/glib-2.0.c b/gir/glib-2.0.c
index be8b1811..b423ccfb 100644
--- a/gir/glib-2.0.c
+++ b/gir/glib-2.0.c
@@ -1937,7 +1937,7 @@
/**
* GTestFixtureFunc:
- * @fixture: the test fixture
+ * @fixture: (not nullable): the test fixture
* @user_data: the data provided when registering the test
*
* The type used for functions that operate on test fixtures. This is
@@ -2180,6 +2180,8 @@
*
* Each piece of memory that is pushed onto the stack
* is cast to a GTrashStack*.
+ *
+ * Deprecated: 2.48: #GTrashStack is deprecated without replacement
*/
@@ -3199,6 +3201,22 @@
/**
+ * G_GNUC_CHECK_VERSION:
+ *
+ * Expands to a a check for a compiler with __GNUC__ defined and a version
+ * greater than or equal to the major and minor numbers provided. For example,
+ * the following would only match on compilers such as GCC 4.8 or newer.
+ *
+ * |[<!-- language="C" -->
+ * #if G_GNUC_CHECK_VERSION(4, 8)
+ * #endif
+ * ]|
+ *
+ * Since: 2.42
+ */
+
+
+/**
* G_GNUC_CONST:
*
* Expands to the GNU C const function attribute if the compiler is gcc.
@@ -3732,16 +3750,15 @@
/**
* G_INLINE_FUNC:
*
- * This macro is used to export function prototypes so they can be linked
- * with an external version when no inlining is performed. The file which
- * implements the functions should define %G_IMPLEMENTS_INLINES
- * before including the headers which contain %G_INLINE_FUNC declarations.
- * Since inlining is very compiler-dependent using these macros correctly
- * is very difficult. Their use is strongly discouraged.
+ * This macro used to be used to conditionally define inline functions
+ * in a compatible way before this feature was supported in all
+ * compilers. These days, GLib requires inlining support from the
+ * compiler, so your GLib-using programs can safely assume that the
+ * "inline" keywork works properly.
+ *
+ * Never use this macro anymore. Just say "static inline".
*
- * This macro is often mistaken for a replacement for the inline keyword;
- * inline is already declared in a portable manner in the GLib headers
- * and can be used normally.
+ * Deprecated: 2.48: Use "static inline" instead
*/
@@ -5336,6 +5353,29 @@
/**
+ * SECTION:checkedmath
+ * @title: Bounds-checking integer arithmetic
+ * @short_description: a set of helpers for performing checked integer arithmetic
+ *
+ * GLib offers a set of macros for doing additions and multiplications
+ * of unsigned integers, with checks for overflows.
+ *
+ * The helpers all have three arguments. A pointer to the destination
+ * is always the first argument and the operands to the operation are
+ * the other two.
+ *
+ * Following standard GLib convention, the helpers return %TRUE in case
+ * of success (ie: no overflow).
+ *
+ * The helpers may be macros, normal functions or inlines. They may be
+ * implemented with inline assembly or compiler intrinsics where
+ * available.
+ *
+ * Since: 2.48
+ */
+
+
+/**
* SECTION:checksum
* @title: Data Checksums
* @short_description: computes the checksum for data
@@ -5934,22 +5974,19 @@
* g_set_error() will complain if you pile up errors.
*
* - By convention, if you return a boolean value indicating success
- * then %TRUE means success and %FALSE means failure.
- * <footnote><para>Avoid creating functions which have a boolean
- * return value and a GError parameter, but where the boolean does
- * something other than signal whether the GError is set. Among other
- * problems, it requires C callers to allocate a temporary error. Instead,
- * provide a "gboolean *" out parameter. There are functions in GLib
- * itself such as g_key_file_has_key() that are deprecated because of this.
- * </para></footnote>
- * If %FALSE is
- * returned, the error must be set to a non-%NULL value.
- * <footnote><para>One exception to this is that in situations that are
- * already considered to be undefined behaviour (such as when a
+ * then %TRUE means success and %FALSE means failure. Avoid creating
+ * functions which have a boolean return value and a GError parameter,
+ * but where the boolean does something other than signal whether the
+ * GError is set. Among other problems, it requires C callers to allocate
+ * a temporary error. Instead, provide a "gboolean *" out parameter.
+ * There are functions in GLib itself such as g_key_file_has_key() that
+ * are deprecated because of this. If %FALSE is returned, the error must
+ * be set to a non-%NULL value. One exception to this is that in situations
+ * that are already considered to be undefined behaviour (such as when a
* g_return_val_if_fail() check fails), the error need not be set.
* Instead of checking separately whether the error is set, callers
* should ensure that they do not provoke undefined behaviour, then
- * assume that the error will be set on failure.</para></footnote>
+ * assume that the error will be set on failure.
*
* - A %NULL return value is also frequently used to mean that an error
* occurred. You should make clear in your documentation whether %NULL
@@ -7976,6 +8013,11 @@
*
* There is no function to create a #GTrashStack. A %NULL #GTrashStack*
* is a perfectly valid empty stack.
+ *
+ * There is no longer any good reason to use #GTrashStack. If you have
+ * extra pieces of memory, free() them and allocate them again later.
+ *
+ * Deprecated: 2.48: #GTrashStack is deprecated without replacement
*/
@@ -8265,7 +8307,7 @@
/**
* g_array_append_vals:
* @array: a #GArray
- * @data: a pointer to the elements to append to the end of the array
+ * @data: (not nullable): a pointer to the elements to append to the end of the array
* @len: the number of elements to append
*
* Adds @len elements onto the end of the array.
@@ -8347,7 +8389,7 @@
* g_array_insert_vals:
* @array: a #GArray
* @index_: the index to place the elements at
- * @data: a pointer to the elements to insert
+ * @data: (not nullable): a pointer to the elements to insert
* @len: the number of elements to insert
*
* Inserts @len elements into a #GArray at the given index.
@@ -8393,7 +8435,7 @@
/**
* g_array_prepend_vals:
* @array: a #GArray
- * @data: a pointer to the elements to prepend to the start of the array
+ * @data: (not nullable): a pointer to the elements to prepend to the start of the array
* @len: the number of elements to prepend
*
* Adds @len elements onto the start of the array.
@@ -9256,6 +9298,16 @@
/**
+ * g_assertion_message_expr: (skip)
+ * @domain: (nullable):
+ * @file:
+ * @line:
+ * @func:
+ * @expr: (nullable):
+ */
+
+
+/**
* g_async_queue_length:
* @queue: a #GAsyncQueue.
*
@@ -9901,7 +9953,7 @@
/**
* g_atomic_pointer_add:
- * @atomic: a pointer to a #gpointer-sized value
+ * @atomic: (not nullable): a pointer to a #gpointer-sized value
* @val: the value to add
*
* Atomically adds @val to the value of @atomic.
@@ -9918,7 +9970,7 @@
/**
* g_atomic_pointer_and:
- * @atomic: a pointer to a #gpointer-sized value
+ * @atomic: (not nullable): a pointer to a #gpointer-sized value
* @val: the value to 'and'
*
* Performs an atomic bitwise 'and' of the value of @atomic and @val,
@@ -9936,7 +9988,7 @@
/**
* g_atomic_pointer_compare_and_exchange:
- * @atomic: a pointer to a #gpointer-sized value
+ * @atomic: (not nullable): a pointer to a #gpointer-sized value
* @oldval: the value to compare with
* @newval: the value to conditionally replace with
*
@@ -9957,7 +10009,7 @@
/**
* g_atomic_pointer_get:
- * @atomic: a pointer to a #gpointer-sized value
+ * @atomic: (not nullable): a pointer to a #gpointer-sized value
*
* Gets the current value of @atomic.
*
@@ -9971,7 +10023,7 @@
/**
* g_atomic_pointer_or:
- * @atomic: a pointer to a #gpointer-sized value
+ * @atomic: (not nullable): a pointer to a #gpointer-sized value
* @val: the value to 'or'
*
* Performs an atomic bitwise 'or' of the value of @atomic and @val,
@@ -9989,7 +10041,7 @@
/**
* g_atomic_pointer_set:
- * @atomic: a pointer to a #gpointer-sized value
+ * @atomic: (not nullable): a pointer to a #gpointer-sized value
* @newval: a new value to store
*
* Sets the value of @atomic to @newval.
@@ -10003,7 +10055,7 @@
/**
* g_atomic_pointer_xor:
- * @atomic: a pointer to a #gpointer-sized value
+ * @atomic: (not nullable): a pointer to a #gpointer-sized value
* @val: the value to 'xor'
*
* Performs an atomic bitwise 'xor' of the value of @atomic and @val,
@@ -11618,8 +11670,8 @@
* g_bytes_new_take() or g_byte_array_free_to_bytes(). In all other cases the
* data is copied.
*
- * Returns: (transfer full) (array length=size) (element-type guint8):
- * a pointer to the same byte data, which should be freed with g_free()
+ * Returns: (transfer full) (array length=size) (element-type guint8) (not nullable): a pointer to the same byte data, which should be
+ * freed with g_free()
* Since: 2.32
*/
@@ -11885,14 +11937,15 @@
* g_clear_error:
* @err: a #GError return location
*
- * If @err is %NULL, does nothing. If @err is non-%NULL,
+ * If @err or *@err is %NULL, does nothing. Otherwise,
* calls g_error_free() on *@err and sets *@err to %NULL.
*/
/**
* g_clear_pointer: (skip)
- * @pp: a pointer to a variable, struct member etc. holding a pointer
+ * @pp: (not nullable): a pointer to a variable, struct member etc. holding a
+ * pointer
* @destroy: a function to which a gpointer can be passed, to destroy *@pp
*
* Clears a reference to a variable.
@@ -12604,7 +12657,7 @@
/**
* g_dataset_destroy:
- * @dataset_location: the location identifying the dataset.
+ * @dataset_location: (not nullable): the location identifying the dataset.
*
* Destroys the dataset, freeing all memory allocated, and calling any
* destroy functions set for data elements.
@@ -12613,7 +12666,7 @@
/**
* g_dataset_foreach:
- * @dataset_location: the location identifying the dataset.
+ * @dataset_location: (not nullable): the location identifying the dataset.
* @func: the function to call for each data element.
* @user_data: user data to pass to the function.
*
@@ -12638,7 +12691,7 @@
/**
* g_dataset_id_get_data:
- * @dataset_location: the location identifying the dataset.
+ * @dataset_location: (not nullable): the location identifying the dataset.
* @key_id: the #GQuark id to identify the data element.
*
* Gets the data element corresponding to a #GQuark.
@@ -12660,7 +12713,7 @@
/**
* g_dataset_id_remove_no_notify:
- * @dataset_location: the location identifying the dataset.
+ * @dataset_location: (not nullable): the location identifying the dataset.
* @key_id: the #GQuark ID identifying the data element.
*
* Removes an element, without calling its destroy notification
@@ -12684,7 +12737,7 @@
/**
* g_dataset_id_set_data_full:
- * @dataset_location: the location identifying the dataset.
+ * @dataset_location: (not nullable): the location identifying the dataset.
* @key_id: the #GQuark id to identify the data element.
* @data: the data element.
* @destroy_func: the function to call when the data element is
@@ -13377,8 +13430,8 @@
/**
* g_date_time_compare:
- * @dt1: first #GDateTime to compare
- * @dt2: second #GDateTime to compare
+ * @dt1: (not nullable): first #GDateTime to compare
+ * @dt2: (not nullable): second #GDateTime to compare
*
* A comparison function for #GDateTimes that is suitable
* as a #GCompareFunc. Both #GDateTimes must be non-%NULL.
@@ -13406,8 +13459,8 @@
/**
* g_date_time_equal:
- * @dt1: a #GDateTime
- * @dt2: a #GDateTime
+ * @dt1: (not nullable): a #GDateTime
+ * @dt2: (not nullable): a #GDateTime
*
* Checks to see if @dt1 and @dt2 are equal.
*
@@ -13752,7 +13805,7 @@
/**
* g_date_time_hash:
- * @datetime: a #GDateTime
+ * @datetime: (not nullable): a #GDateTime
*
* Hashes @datetime into a #guint, suitable for use within #GHashTable.
*
@@ -14103,7 +14156,7 @@
/**
* g_date_to_struct_tm:
* @date: a #GDate to set the struct tm from
- * @tm: struct tm to fill
+ * @tm: (not nullable): struct tm to fill
*
* Fills in the date-related bits of a struct tm using the @date value.
* Initializes the non-date parts with something sane but meaningless.
@@ -14358,8 +14411,8 @@
/**
* g_direct_equal:
- * @v1: (allow-none): a key
- * @v2: (allow-none): a key to compare with @v1
+ * @v1: (nullable): a key
+ * @v2: (nullable): a key to compare with @v1
*
* Compares two #gpointer arguments and returns %TRUE if they are equal.
* It can be passed to g_hash_table_new() as the @key_equal_func
@@ -14375,7 +14428,7 @@
/**
* g_direct_hash:
- * @v: (allow-none): a #gpointer key
+ * @v: (nullable): a #gpointer key
*
* Converts a gpointer to a hash value.
* It can be passed to g_hash_table_new() as the @hash_func parameter,
@@ -14425,8 +14478,8 @@
/**
* g_double_equal:
- * @v1: a pointer to a #gdouble key
- * @v2: a pointer to a #gdouble key to compare with @v1
+ * @v1: (not nullable): a pointer to a #gdouble key
+ * @v2: (not nullable): a pointer to a #gdouble key to compare with @v1
*
* Compares the two #gdouble values being pointed to and returns
* %TRUE if they are equal.
@@ -14441,7 +14494,7 @@
/**
* g_double_hash:
- * @v: a pointer to a #gdouble key
+ * @v: (not nullable): a pointer to a #gdouble key
*
* Converts a pointer to a #gdouble to a hash value.
* It can be passed to g_hash_table_new() as the @hash_func parameter,
@@ -14599,7 +14652,7 @@
/**
* g_error_matches:
- * @error: (allow-none): a #GError or %NULL
+ * @error: (nullable): a #GError
* @domain: an error domain
* @code: an error code
*
@@ -14895,7 +14948,8 @@
/**
* g_filename_from_uri:
* @uri: a uri describing a filename (escaped, encoded in ASCII).
- * @hostname: (out) (allow-none): Location to store hostname for the URI, or %NULL.
+ * @hostname: (out) (optional) (nullable): Location to store hostname for the
+ * URI.
* If there is no hostname in the URI, %NULL will be
* stored in this location.
* @error: location to store the error occurring, or %NULL to ignore
@@ -14914,7 +14968,7 @@
* @utf8string: a UTF-8 encoded string.
* @len: the length of the string, or -1 if the string is
* nul-terminated.
- * @bytes_read: (out) (allow-none): location to store the number of bytes in
+ * @bytes_read: (out) (optional): location to store the number of bytes in
* the input string that were successfully converted, or %NULL.
* Even if the conversion was successful, this may be
* less than @len if there were partial characters
@@ -14961,7 +15015,7 @@
* nul-terminated (Note that some encodings may allow nul
* bytes to occur inside strings. In that case, using -1
* for the @len parameter is unsafe)
- * @bytes_read: location to store the number of bytes in the
+ * @bytes_read: (out) (optional): location to store the number of bytes in the
* input string that were successfully converted, or %NULL.
* Even if the conversion was successful, this may be
* less than @len if there were partial characters
@@ -14969,8 +15023,8 @@
* #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
* stored will the byte offset after the last valid
* input sequence.
- * @bytes_written: the number of bytes stored in the output buffer (not
- * including the terminating nul).
+ * @bytes_written: (out) (optional): the number of bytes stored in the output
+ * buffer (not including the terminating nul).
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError may occur.
*
@@ -15094,7 +15148,7 @@
/**
* g_fprintf:
- * @file: the stream to write to.
+ * @file: (not nullable): the stream to write to.
* @format: a standard printf() format string, but notice
* [string precision pitfalls][string-precision]
* @...: the arguments to insert in the output.
@@ -15613,8 +15667,8 @@
* [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
* This is the directory
* specified in the `XDG_RUNTIME_DIR` environment variable.
- * In the case that this variable is not set, GLib will issue a warning
- * message to stderr and return the value of g_get_user_cache_dir().
+ * In the case that this variable is not set, we return the value of
+ * g_get_user_cache_dir(), after verifying that it exists.
*
* On Windows this is the folder to use for local (as opposed to
* roaming) application data. See documentation for
@@ -15730,7 +15784,7 @@
* (keep in mind that an O(n) find/foreach operation issued for all n
* values in a hash table ends up needing O(n*n) operations).
*
- * Returns: (allow-none): The value of the first key/value pair is returned,
+ * Returns: (nullable): The value of the first key/value pair is returned,
* for which @predicate evaluates to %TRUE. If no pair with the
* requested property is found, %NULL is returned.
* Since: 2.4
@@ -15812,10 +15866,10 @@
* To iterate over the entries in a #GHashTable more efficiently, use a
* #GHashTableIter.
*
- * Returns: a #GList containing all the keys inside the hash
- * table. The content of the list is owned by the hash table and
- * should not be modified or freed. Use g_list_free() when done
- * using the list.
+ * Returns: (transfer container): a #GList containing all the keys
+ * inside the hash table. The content of the list is owned by the
+ * hash table and should not be modified or freed. Use g_list_free()
+ * when done using the list.
* Since: 2.14
*/
@@ -15860,10 +15914,10 @@
* To iterate over the entries in a #GHashTable more efficiently, use a
* #GHashTableIter.
*
- * Returns: a #GList containing all the values inside the hash
- * table. The content of the list is owned by the hash table and
- * should not be modified or freed. Use g_list_free() when done
- * using the list.
+ * Returns: (transfer container): a #GList containing all the values
+ * inside the hash table. The content of the list is owned by the
+ * hash table and should not be modified or freed. Use g_list_free()
+ * when done using the list.
* Since: 2.14
*/
@@ -15924,8 +15978,8 @@
/**
* g_hash_table_iter_next:
* @iter: an initialized #GHashTableIter
- * @key: (allow-none): a location to store the key, or %NULL
- * @value: (allow-none): a location to store the value, or %NULL
+ * @key: (out) (optional): a location to store the key
+ * @value: (out) (nullable) (optional): a location to store the value
*
* Advances @iter and retrieves the key and/or value that are now
* pointed to as a result of this advancement. If %FALSE is returned,
@@ -16003,7 +16057,7 @@
* and has the value %NULL. If you need this distinction, use
* g_hash_table_lookup_extended().
*
- * Returns: (allow-none): the associated value, or %NULL if the key is not found
+ * Returns: (nullable): the associated value, or %NULL if the key is not found
*/
@@ -16011,8 +16065,9 @@
* g_hash_table_lookup_extended:
* @hash_table: a #GHashTable
* @lookup_key: the key to look up
- * @orig_key: (allow-none): return location for the original key, or %NULL
- * @value: (allow-none): return location for the value associated with the key, or %NULL
+ * @orig_key: (out) (optional) (nullable): return location for the original key
+ * @value: (out) (optional) (nullable): return location for the value associated
+ * with the key
*
* Looks up a key in the #GHashTable, returning the original key and the
* associated value and a #gboolean which is %TRUE if the key was found. This
@@ -16055,10 +16110,10 @@
* g_hash_table_new_full:
* @hash_func: a function to create a hash value from a key
* @key_equal_func: a function to check two keys for equality
- * @key_destroy_func: (allow-none): a function to free the memory allocated for the key
+ * @key_destroy_func: (nullable): a function to free the memory allocated for the key
* used when removing the entry from the #GHashTable, or %NULL
* if you don't want to supply such a function.
- * @value_destroy_func: (allow-none): a function to free the memory allocated for the
+ * @value_destroy_func: (nullable): a function to free the memory allocated for the
* value used when removing the entry from the #GHashTable, or %NULL
* if you don't want to supply such a function.
*
@@ -16415,7 +16470,7 @@
* @hook_list: a #GHookList
* @need_valids: %TRUE if #GHook elements which have been destroyed
* should be skipped
- * @func: the function to find
+ * @func: (not nullable): the function to find
* @data: the data to find
*
* Finds a #GHook in a #GHookList with the given function and data.
@@ -16465,7 +16520,7 @@
/**
* g_hook_insert_before:
* @hook_list: a #GHookList
- * @sibling: the #GHook to insert the new #GHook before
+ * @sibling: (nullable): the #GHook to insert the new #GHook before
* @hook: the #GHook to insert
*
* Inserts a #GHook into a #GHookList, before a given #GHook.
@@ -16846,8 +16901,8 @@
/**
* g_int64_equal:
- * @v1: a pointer to a #gint64 key
- * @v2: a pointer to a #gint64 key to compare with @v1
+ * @v1: (not nullable): a pointer to a #gint64 key
+ * @v2: (not nullable): a pointer to a #gint64 key to compare with @v1
*
* Compares the two #gint64 values being pointed to and returns
* %TRUE if they are equal.
@@ -16862,7 +16917,7 @@
/**
* g_int64_hash:
- * @v: a pointer to a #gint64 key
+ * @v: (not nullable): a pointer to a #gint64 key
*
* Converts a pointer to a #gint64 to a hash value.
*
@@ -16877,8 +16932,8 @@
/**
* g_int_equal:
- * @v1: a pointer to a #gint key
- * @v2: a pointer to a #gint key to compare with @v1
+ * @v1: (not nullable): a pointer to a #gint key
+ * @v2: (not nullable): a pointer to a #gint key to compare with @v1
*
* Compares the two #gint values being pointed to and returns
* %TRUE if they are equal.
@@ -16896,7 +16951,7 @@
/**
* g_int_hash:
- * @v: a pointer to a #gint key
+ * @v: (not nullable): a pointer to a #gint key
*
* Converts a pointer to a #gint to a hash value.
* It can be passed to g_hash_table_new() as the @hash_func parameter,
@@ -18964,7 +19019,7 @@
* nul-terminated (Note that some encodings may allow nul
* bytes to occur inside strings. In that case, using -1
* for the @len parameter is unsafe)
- * @bytes_read: location to store the number of bytes in the
+ * @bytes_read: (out) (optional): location to store the number of bytes in the
* input string that were successfully converted, or %NULL.
* Even if the conversion was successful, this may be
* less than @len if there were partial characters
@@ -18972,8 +19027,8 @@
* #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
* stored will the byte offset after the last valid
* input sequence.
- * @bytes_written: the number of bytes stored in the output buffer (not
- * including the terminating nul).
+ * @bytes_written: (out) (optional): the number of bytes stored in the output
+ * buffer (not including the terminating nul).
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError may occur.
*
@@ -18995,7 +19050,7 @@
* nul-terminated (Note that some encodings may allow nul
* bytes to occur inside strings. In that case, using -1
* for the @len parameter is unsafe)
- * @bytes_read: location to store the number of bytes in the
+ * @bytes_read: (out) (optional): location to store the number of bytes in the
* input string that were successfully converted, or %NULL.
* Even if the conversion was successful, this may be
* less than @len if there were partial characters
@@ -19003,8 +19058,8 @@
* #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value
* stored will the byte offset after the last valid
* input sequence.
- * @bytes_written: the number of bytes stored in the output buffer (not
- * including the terminating nul).
+ * @bytes_written: (out) (optional): the number of bytes stored in the output
+ * buffer (not including the terminating nul).
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError may occur.
*
@@ -19019,7 +19074,8 @@
/**
* g_log:
- * @log_domain: the log domain, usually #G_LOG_DOMAIN
+ * @log_domain: (nullable): the log domain, usually #G_LOG_DOMAIN, or %NULL
+ * for the default
* @log_level: the log level, either from #GLogLevelFlags
* or a user-defined level
* @format: the message format. See the printf() documentation
@@ -19038,10 +19094,11 @@
/**
* g_log_default_handler:
- * @log_domain: the log domain of the message
+ * @log_domain: (nullable): the log domain of the message, or %NULL for the
+ * default "" application domain
* @log_level: the level of the message
- * @message: the message
- * @unused_data: data passed from g_log() which is unused
+ * @message: (nullable): the message
+ * @unused_data: (nullable): data passed from g_log() which is unused
*
* The default log handler set up by GLib; g_log_set_default_handler()
* allows to install an alternate default log handler.
@@ -19187,7 +19244,8 @@
/**
* g_logv:
- * @log_domain: the log domain
+ * @log_domain: (nullable): the log domain, or %NULL for the default ""
+ * application domain
* @log_level: the log level
* @format: the message format. See the printf() documentation
* @args: the parameters to insert into the format string
@@ -21439,7 +21497,7 @@
/**
* g_nullify_pointer:
- * @nullify_location: the memory address of the pointer.
+ * @nullify_location: (not nullable): the memory address of the pointer.
*
* Set the pointer at the specified location to %NULL.
*/
@@ -21551,7 +21609,8 @@
/**
* g_once_init_enter:
- * @location: location of a static initializable variable containing 0
+ * @location: (not nullable): location of a static initializable variable
+ * containing 0
*
* Function to be called when starting a critical initialization
* section. The argument @location must point to a static
@@ -21584,7 +21643,8 @@
/**
* g_once_init_leave:
- * @location: location of a static initializable variable containing 0
+ * @location: (not nullable): location of a static initializable variable
+ * containing 0
* @result: new non-0 value for *@value_location
*
* Counterpart to g_once_init_enter(). Expects a location of a static
@@ -22326,7 +22386,7 @@
/**
* g_pointer_bit_lock:
- * @address: a pointer to a #gpointer-sized value
+ * @address: (not nullable): a pointer to a #gpointer-sized value
* @lock_bit: a bit value between 0 and 31
*
* This is equivalent to g_bit_lock, but working on pointers (or other
@@ -22341,7 +22401,7 @@
/**
* g_pointer_bit_trylock:
- * @address: a pointer to a #gpointer-sized value
+ * @address: (not nullable): a pointer to a #gpointer-sized value
* @lock_bit: a bit value between 0 and 31
*
* This is equivalent to g_bit_trylock, but working on pointers (or
@@ -22357,7 +22417,7 @@
/**
* g_pointer_bit_unlock:
- * @address: a pointer to a #gpointer-sized value
+ * @address: (not nullable): a pointer to a #gpointer-sized value
* @lock_bit: a bit value between 0 and 31
*
* This is equivalent to g_bit_unlock, but working on pointers (or other
@@ -22403,7 +22463,7 @@
/**
* g_prefix_error:
- * @err: (allow-none): a return location for a #GError, or %NULL
+ * @err: (inout) (optional) (nullable): a return location for a #GError
* @format: printf()-style format string
* @...: arguments to @format
*
@@ -22852,7 +22912,7 @@
/**
* g_qsort_with_data:
- * @pbase: start of array to sort
+ * @pbase: (not nullable): start of array to sort
* @total_elems: elements in the array
* @size: size of each element
* @compare_func: function to compare elements
@@ -23974,7 +24034,7 @@
* @regex: a #GRegex structure from g_regex_new()
* @string: (array length=string_len): the string to scan for matches
* @string_len: the length of @string, or -1 if @string is nul-terminated
- * @start_position: starting index of the string to match
+ * @start_position: starting index of the string to match, in bytes
* @match_options: match options
* @match_info: (out) (allow-none): pointer to location where to store
* the #GMatchInfo, or %NULL if you do not need it
@@ -24027,7 +24087,7 @@
* @regex: a #GRegex structure from g_regex_new()
* @string: (array length=string_len): the string to scan for matches
* @string_len: the length of @string, or -1 if @string is nul-terminated
- * @start_position: starting index of the string to match
+ * @start_position: starting index of the string to match, in bytes
* @match_options: match options
* @match_info: (out) (allow-none): pointer to location where to store
* the #GMatchInfo, or %NULL if you do not need it
@@ -24121,8 +24181,8 @@
* Compiles the regular expression to an internal form, and does
* the initial setup of the #GRegex structure.
*
- * Returns: a #GRegex structure. Call g_regex_unref() when you
- * are done with it
+ * Returns: (nullable): a #GRegex structure or %NULL if an error occured. Call
+ * g_regex_unref() when you are done with it
* Since: 2.14
*/
@@ -24143,7 +24203,7 @@
* @regex: a #GRegex structure
* @string: (array length=string_len): the string to perform matches against
* @string_len: the length of @string, or -1 if @string is nul-terminated
- * @start_position: starting index of the string to match
+ * @start_position: starting index of the string to match, in bytes
* @replacement: text to replace each match with
* @match_options: options for the match
* @error: location to store the error occurring, or %NULL to ignore errors
@@ -24185,7 +24245,7 @@
* @regex: a #GRegex structure from g_regex_new()
* @string: (array length=string_len): string to perform matches against
* @string_len: the length of @string, or -1 if @string is nul-terminated
- * @start_position: starting index of the string to match
+ * @start_position: starting index of the string to match, in bytes
* @match_options: options for the match
* @eval: a function to call for each match
* @user_data: user data to pass to the function
@@ -24247,7 +24307,7 @@
* @regex: a #GRegex structure
* @string: (array length=string_len): the string to perform matches against
* @string_len: the length of @string, or -1 if @string is nul-terminated
- * @start_position: starting index of the string to match
+ * @start_position: starting index of the string to match, in bytes
* @replacement: text to replace each match with
* @match_options: options for the match
* @error: location to store the error occurring, or %NULL to ignore errors
@@ -24301,7 +24361,7 @@
* @regex: a #GRegex structure
* @string: (array length=string_len): the string to split with the pattern
* @string_len: the length of @string, or -1 if @string is nul-terminated
- * @start_position: starting index of the string to match
+ * @start_position: starting index of the string to match, in bytes
* @match_options: match time option flags
* @max_tokens: the maximum number of tokens to split @string into.
* If this is less than 1, the string is split completely
@@ -24448,6 +24508,14 @@
/**
+ * g_return_if_fail_warning: (skip)
+ * @log_domain: (nullable):
+ * @pretty_function:
+ * @expression: (nullable):
+ */
+
+
+/**
* g_rmdir:
* @filename: a pathname in the GLib file name encoding (UTF-8 on Windows)
*
@@ -25014,7 +25082,9 @@
* g_sequence_get_length:
* @seq: a #GSequence
*
- * Returns the length of @seq
+ * Returns the length of @seq. Note that this method is O(h) where `h' is the
+ * height of the tree. It is thus more efficient to use g_sequence_is_empty()
+ * when comparing the length to zero.
*
* Returns: the length of @seq
* Since: 2.14
@@ -25542,7 +25612,7 @@
/**
* g_set_error:
- * @err: (allow-none): a return location for a #GError, or %NULL
+ * @err: (out callee-allocates) (optional): a return location for a #GError
* @domain: error domain
* @code: error code
* @format: printf()-style format
@@ -25555,7 +25625,7 @@
/**
* g_set_error_literal:
- * @err: (allow-none): a return location for a #GError, or %NULL
+ * @err: (out callee-allocates) (optional): a return location for a #GError
* @domain: error domain
* @code: error code
* @message: error message
@@ -25647,10 +25717,10 @@
/**
* g_shell_parse_argv:
* @command_line: command line to parse
- * @argcp: (out) (optional): return location for number of args, or %NULL
+ * @argcp: (out) (optional): return location for number of args
* @argvp: (out) (optional) (array length=argcp zero-terminated=1): return
- * location for array of args, or %NULL
- * @error: (optional): return location for error, or %NULL
+ * location for array of args
+ * @error: (optional): return location for error
*
* Parses a command line into an argument vector, in much the same way
* the shell would, but without many of the expansions the shell would
@@ -25713,6 +25783,42 @@
/**
+ * g_size_checked_add:
+ * @dest: a pointer to the #gsize destination
+ * @a: the #gsize left operand
+ * @b: the #gsize right operand
+ *
+ * Performs a checked addition of @a and @b, storing the result in
+ * @dest.
+ *
+ * If the operation is successful, %TRUE is returned. If the operation
+ * overflows then the state of @dest is undefined and %FALSE is
+ * returned.
+ *
+ * Returns: %TRUE if there was no overflow
+ * Since: 2.48
+ */
+
+
+/**
+ * g_size_checked_mul:
+ * @dest: a pointer to the #gsize destination
+ * @a: the #gsize left operand
+ * @b: the #gsize right operand
+ *
+ * Performs a checked multiplication of @a and @b, storing the result in
+ * @dest.
+ *
+ * If the operation is successful, %TRUE is returned. If the operation
+ * overflows then the state of @dest is undefined and %FALSE is
+ * returned.
+ *
+ * Returns: %TRUE if there was no overflow
+ * Since: 2.48
+ */
+
+
+/**
* g_slice_alloc:
* @block_size: the number of bytes to allocate
*
@@ -25726,7 +25832,8 @@
* be changed with the [`G_SLICE=always-malloc`][G_SLICE]
* environment variable.
*
- * Returns: a pointer to the allocated memory block
+ * Returns: a pointer to the allocated memory block, which will be %NULL if and
+ * only if @mem_size is 0
* Since: 2.10
*/
@@ -25740,7 +25847,8 @@
* mechanism can be changed with the [`G_SLICE=always-malloc`][G_SLICE]
* environment variable.
*
- * Returns: a pointer to the allocated block
+ * Returns: a pointer to the allocated block, which will be %NULL if and only
+ * if @mem_size is 0
* Since: 2.10
*/
@@ -25753,7 +25861,10 @@
* Allocates a block of memory from the slice allocator
* and copies @block_size bytes into it from @mem_block.
*
- * Returns: a pointer to the allocated memory block
+ * @mem_block must be non-%NULL if @block_size is non-zero.
+ *
+ * Returns: a pointer to the allocated memory block, which will be %NULL if and
+ * only if @mem_size is 0
* Since: 2.14
*/
@@ -25761,7 +25872,7 @@
/**
* g_slice_dup:
* @type: the type to duplicate, typically a structure name
- * @mem: the memory to copy into the allocated block
+ * @mem: (not nullable): the memory to copy into the allocated block
*
* A convenience macro to duplicate a block of memory using
* the slice allocator.
@@ -25773,7 +25884,10 @@
* be changed with the [`G_SLICE=always-malloc`][G_SLICE]
* environment variable.
*
- * Returns: a pointer to the allocated block, cast to a pointer to @type
+ * This can never return %NULL.
+ *
+ * Returns: (not nullable): a pointer to the allocated block, cast to a pointer
+ * to @type
* Since: 2.14
*/
@@ -25792,6 +25906,8 @@
* [`G_DEBUG=gc-friendly`][G_DEBUG] environment variable, also see
* [`G_SLICE`][G_SLICE] for related debugging options.
*
+ * If @mem is %NULL, this macro does nothing.
+ *
* Since: 2.10
*/
@@ -25809,6 +25925,8 @@
* can be changed with the [`G_DEBUG=gc-friendly`][G_DEBUG] environment
* variable, also see [`G_SLICE`][G_SLICE] for related debugging options.
*
+ * If @mem_block is %NULL, this function does nothing.
+ *
* Since: 2.10
*/
@@ -25828,6 +25946,8 @@
* [`G_DEBUG=gc-friendly`][G_DEBUG] environment variable, also see
* [`G_SLICE`][G_SLICE] for related debugging options.
*
+ * If @mem_chain is %NULL, this function does nothing.
+ *
* Since: 2.10
*/
@@ -25848,6 +25968,8 @@
* [`G_DEBUG=gc-friendly`][G_DEBUG] environment variable, also see
* [`G_SLICE`][G_SLICE] for related debugging options.
*
+ * If @mem_chain is %NULL, this function does nothing.
+ *
* Since: 2.10
*/
@@ -25865,7 +25987,11 @@
* mechanism can be changed with the [`G_SLICE=always-malloc`][G_SLICE]
* environment variable.
*
- * Returns: a pointer to the allocated block, cast to a pointer to @type
+ * This can never return %NULL as the minimum allocation size from
+ * `sizeof (@type)` is 1 byte.
+ *
+ * Returns: (not nullable): a pointer to the allocated block, cast to a pointer
+ * to @type
* Since: 2.10
*/
@@ -25884,6 +26010,11 @@
* be changed with the [`G_SLICE=always-malloc`][G_SLICE]
* environment variable.
*
+ * This can never return %NULL as the minimum allocation size from
+ * `sizeof (@type)` is 1 byte.
+ *
+ * Returns: (not nullable): a pointer to the allocated block, cast to a pointer
+ * to @type
* Since: 2.10
*/
@@ -26443,7 +26574,7 @@
*
* As the name suggests, this function is not available on Windows.
*
- * Returns: an opaque tag
+ * Returns: (not nullable): an opaque tag
* Since: 2.36
*/
@@ -26653,7 +26784,7 @@
/**
* g_source_modify_unix_fd:
* @source: a #GSource
- * @tag: the tag from g_source_add_unix_fd()
+ * @tag: (not nullable): the tag from g_source_add_unix_fd()
* @new_events: the new event mask to watch
*
* Updates the event mask to watch for the fd identified by @tag.
@@ -26694,7 +26825,7 @@
/**
* g_source_query_unix_fd:
* @source: a #GSource
- * @tag: the tag from g_source_add_unix_fd()
+ * @tag: (not nullable): the tag from g_source_add_unix_fd()
*
* Queries the events reported for the fd corresponding to @tag on
* @source during the last poll.
@@ -26808,7 +26939,7 @@
/**
* g_source_remove_unix_fd:
* @source: a #GSource
- * @tag: the tag from g_source_add_unix_fd()
+ * @tag: (not nullable): the tag from g_source_add_unix_fd()
*
* Reverses the effect of a previous call to g_source_add_unix_fd().
*
@@ -27429,8 +27560,8 @@
/**
* g_str_equal:
- * @v1: a key
- * @v2: a key to compare with @v1
+ * @v1: (not nullable): a key
+ * @v2: (not nullable): a key to compare with @v1
*
* Compares two strings for byte-by-byte equality and returns %TRUE
* if they are equal. It can be passed to g_hash_table_new() as the
@@ -27471,7 +27602,7 @@
/**
* g_str_hash:
- * @v: a string key
+ * @v: (not nullable): a string key
*
* Converts a string to a hash value.
*
@@ -27563,6 +27694,7 @@
* @from_locale.
*
* Returns: a string in plain ASCII
+ * Since: 2.40
*/
@@ -27746,7 +27878,7 @@
/**
* g_strdup:
- * @str: the string to duplicate
+ * @str: (nullable): the string to duplicate
*
* Duplicates a string. If @str is %NULL it returns %NULL.
* The returned string should be freed with g_free()
@@ -27791,14 +27923,14 @@
/**
* g_strdupv:
- * @str_array: a %NULL-terminated array of strings
+ * @str_array: (nullable): a %NULL-terminated array of strings
*
* Copies %NULL-terminated array of strings. The copy is a deep copy;
* the new array should be freed by first freeing each string, then
* the array itself. g_strfreev() does this for you. If called
* on a %NULL value, g_strdupv() simply returns %NULL.
*
- * Returns: a new %NULL-terminated array of strings.
+ * Returns: (nullable): a new %NULL-terminated array of strings.
*/
@@ -27824,7 +27956,7 @@
/**
* g_strescape:
* @source: a string to escape
- * @exceptions: a string of characters not to escape in @source
+ * @exceptions: (nullable): a string of characters not to escape in @source
*
* Escapes the special characters '\b', '\f', '\n', '\r', '\t', '\v', '\'
* and '&quot;' in the string @source by inserting a '\' before
@@ -27842,7 +27974,7 @@
/**
* g_strfreev:
- * @str_array: a %NULL-terminated array of strings to free
+ * @str_array: (nullable): a %NULL-terminated array of strings to free
*
* Frees a %NULL-terminated array of strings, as well as each
* string it contains.
@@ -27859,7 +27991,7 @@
* Adds a string onto the end of a #GString, expanding
* it if necessary.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -27871,7 +28003,7 @@
* Adds a byte onto the end of a #GString, expanding
* it if necessary.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -27889,7 +28021,7 @@
* the caller's responsibility to ensure that @val has at
* least @len addressable bytes.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -27913,7 +28045,7 @@
* Converts a Unicode character into UTF-8, and appends it
* to the string.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -27928,7 +28060,7 @@
* Appends @unescaped to @string, escaped any characters that
* are reserved in URIs using URI-style escape sequences.
*
- * Returns: @string
+ * Returns: (transfer none): @string
* Since: 2.16
*/
@@ -27954,7 +28086,7 @@
*
* Converts all uppercase ASCII letters to lowercase ASCII letters.
*
- * Returns: passed-in @string pointer, with all the
+ * Returns: (transfer none): passed-in @string pointer, with all the
* uppercase characters converted to lowercase in place,
* with semantics that exactly match g_ascii_tolower().
*/
@@ -27966,7 +28098,7 @@
*
* Converts all lowercase ASCII letters to uppercase ASCII letters.
*
- * Returns: passed-in @string pointer, with all the
+ * Returns: (transfer none): passed-in @string pointer, with all the
* lowercase characters converted to uppercase in place,
* with semantics that exactly match g_ascii_toupper().
*/
@@ -27983,7 +28115,7 @@
* the standard strcpy() function, except that you do not
* have to worry about having enough space to copy the string.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28096,7 +28228,7 @@
*
* Converts a #GString to lowercase.
*
- * Returns: the #GString
+ * Returns: (transfer none): the #GString
* Deprecated: 2.2: This function uses the locale-specific
* tolower() function, which is almost never the right thing.
* Use g_string_ascii_down() or g_utf8_strdown() instead.
@@ -28126,7 +28258,7 @@
* Removes @len bytes from a #GString, starting at position @pos.
* The rest of the #GString is shifted down to fill the gap.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28158,7 +28290,7 @@
* #GBytes does not include this extra nul; i.e. it has length exactly
* equal to the "len" member.
*
- * Returns: A newly allocated #GBytes containing contents of @string; @string itself is freed
+ * Returns: (transfer full): A newly allocated #GBytes containing contents of @string; @string itself is freed
* Since: 2.34
*/
@@ -28182,7 +28314,7 @@
* Inserts a copy of a string into a #GString,
* expanding it if necessary.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28194,7 +28326,7 @@
*
* Inserts a byte into a #GString, expanding it if necessary.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28215,7 +28347,7 @@
* the caller's responsibility to ensure that @val has at
* least @len addressable bytes.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28229,14 +28361,14 @@
* Converts a Unicode character into UTF-8, and insert it
* into the string at the given position.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
/**
* g_string_new:
- * @init: (allow-none): the initial text to copy into the string, or %NULL to
- * start with an empty string.
+ * @init: (nullable): the initial text to copy into the string, or %NULL to
+ * start with an empty string
*
* Creates a new #GString, initialized with the given string.
*
@@ -28269,7 +28401,7 @@
*
* Overwrites part of a string, lengthening it if necessary.
*
- * Returns: @string
+ * Returns: (transfer none): @string
* Since: 2.14
*/
@@ -28284,7 +28416,7 @@
* Overwrites part of a string, lengthening it if necessary.
* This function will work with embedded nuls.
*
- * Returns: @string
+ * Returns: (transfer none): @string
* Since: 2.14
*/
@@ -28297,7 +28429,7 @@
* Adds a string on to the start of a #GString,
* expanding it if necessary.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28309,7 +28441,7 @@
* Adds a byte onto the start of a #GString,
* expanding it if necessary.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28327,7 +28459,7 @@
* it is the caller's responsibility to ensure that
* @val has at least @len addressable bytes.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28339,7 +28471,7 @@
* Converts a Unicode character into UTF-8, and prepends it
* to the string.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28368,7 +28500,7 @@
* of the newly added area are undefined. (However, as
* always, string->str[string->len] will be a nul byte.)
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28423,7 +28555,7 @@
*
* Cuts off the end of the GString, leaving the first @len bytes.
*
- * Returns: @string
+ * Returns: (transfer none): @string
*/
@@ -28433,7 +28565,7 @@
*
* Converts a #GString to uppercase.
*
- * Returns: @string
+ * Returns: (transfer none): @string
* Deprecated: 2.2: This function uses the locale-specific
* toupper() function, which is almost never the right thing.
* Use g_string_ascii_up() or g_utf8_strup() instead.
@@ -29817,7 +29949,7 @@
*
* |[<!-- language="C" -->
* static void
- * test_create_large_object_subprocess (void)
+ * test_create_large_object (void)
* {
* if (g_test_subprocess ())
* {
@@ -30872,6 +31004,7 @@
* where N denotes the number of items on the stack.
*
* Returns: the height of the stack
+ * Deprecated: 2.48: #GTrashStack is deprecated without replacement
*/
@@ -30883,6 +31016,7 @@
* which may be %NULL.
*
* Returns: the element at the top of the stack
+ * Deprecated: 2.48: #GTrashStack is deprecated without replacement
*/
@@ -30893,15 +31027,18 @@
* Pops a piece of memory off a #GTrashStack.
*
* Returns: the element at the top of the stack
+ * Deprecated: 2.48: #GTrashStack is deprecated without replacement
*/
/**
* g_trash_stack_push:
* @stack_p: a #GTrashStack
- * @data_p: the piece of memory to push on the stack
+ * @data_p: (not nullable): the piece of memory to push on the stack
*
* Pushes a piece of memory onto a #GTrashStack.
+ *
+ * Deprecated: 2.48: #GTrashStack is deprecated without replacement
*/
@@ -30987,8 +31124,8 @@
* g_tree_lookup_extended:
* @tree: a #GTree
* @lookup_key: the key to look up
- * @orig_key: returns the original key
- * @value: returns the value associated with the key
+ * @orig_key: (optional) (nullable): returns the original key
+ * @value: (optional) (nullable): returns the value associated with the key
*
* Looks up a key in the #GTree, returning the original key and the
* associated value. This is useful if you need to free the memory
@@ -31254,12 +31391,12 @@
* @str: a UCS-4 encoded string
* @len: the maximum length (number of characters) of @str to use.
* If @len < 0, then the string is nul-terminated.
- * @items_read: (allow-none): location to store number of bytes read,
- * or %NULL. If an error occurs then the index of the invalid input
- * is stored here.
- * @items_written: (allow-none): location to store number of #gunichar2
- * written, or %NULL. The value stored here does not include the
- * trailing 0.
+ * @items_read: (out caller-allocates) (optional): location to store number of
+ * bytes read, or %NULL. If an error occurs then the index of the invalid
+ * input is stored here.
+ * @items_written: (out caller-allocates) (optional): location to store number
+ * of #gunichar2 written, or %NULL. The value stored here does not include
+ * the trailing 0.
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError other than
* %G_CONVERT_ERROR_NO_CONVERSION may occur.
@@ -31278,10 +31415,10 @@
* @str: a UCS-4 encoded string
* @len: the maximum length (number of characters) of @str to use.
* If @len < 0, then the string is nul-terminated.
- * @items_read: (allow-none): location to store number of characters
- * read, or %NULL.
- * @items_written: (allow-none): location to store number of bytes
- * written or %NULL. The value here stored does not include the
+ * @items_read: (out caller-allocates) (optional): location to store number of
+ * characters read, or %NULL.
+ * @items_written: (out caller-allocates) (optional): location to store number
+ * of bytes written or %NULL. The value here stored does not include the
* trailing 0 byte.
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError other than
@@ -31298,6 +31435,78 @@
/**
+ * g_uint64_checked_add:
+ * @dest: a pointer to the #guint64 destination
+ * @a: the #guint64 left operand
+ * @b: the #guint64 right operand
+ *
+ * Performs a checked addition of @a and @b, storing the result in
+ * @dest.
+ *
+ * If the operation is successful, %TRUE is returned. If the operation
+ * overflows then the state of @dest is undefined and %FALSE is
+ * returned.
+ *
+ * Returns: %TRUE if there was no overflow
+ * Since: 2.48
+ */
+
+
+/**
+ * g_uint64_checked_mul:
+ * @dest: a pointer to the #guint64 destination
+ * @a: the #guint64 left operand
+ * @b: the #guint64 right operand
+ *
+ * Performs a checked multiplication of @a and @b, storing the result in
+ * @dest.
+ *
+ * If the operation is successful, %TRUE is returned. If the operation
+ * overflows then the state of @dest is undefined and %FALSE is
+ * returned.
+ *
+ * Returns: %TRUE if there was no overflow
+ * Since: 2.48
+ */
+
+
+/**
+ * g_uint_checked_add:
+ * @dest: a pointer to the #guint destination
+ * @a: the #guint left operand
+ * @b: the #guint right operand
+ *
+ * Performs a checked addition of @a and @b, storing the result in
+ * @dest.
+ *
+ * If the operation is successful, %TRUE is returned. If the operation
+ * overflows then the state of @dest is undefined and %FALSE is
+ * returned.
+ *
+ * Returns: %TRUE if there was no overflow
+ * Since: 2.48
+ */
+
+
+/**
+ * g_uint_checked_mul:
+ * @dest: a pointer to the #guint destination
+ * @a: the #guint left operand
+ * @b: the #guint right operand
+ *
+ * Performs a checked multiplication of @a and @b, storing the result in
+ * @dest.
+ *
+ * If the operation is successful, %TRUE is returned. If the operation
+ * overflows then the state of @dest is undefined and %FALSE is
+ * returned.
+ *
+ * Returns: %TRUE if there was no overflow
+ * Since: 2.48
+ */
+
+
+/**
* g_unichar_break_type:
* @c: a Unicode character
*
@@ -31700,9 +31909,9 @@
/**
* g_unichar_to_utf8:
* @c: a Unicode character code
- * @outbuf: output buffer, must have at least 6 bytes of space.
- * If %NULL, the length will be computed and returned
- * and nothing will be written to @outbuf.
+ * @outbuf: (out caller-allocates) (optional): output buffer, must have at
+ * least 6 bytes of space. If %NULL, the length will be computed and
+ * returned and nothing will be written to @outbuf.
*
* Converts a single character to UTF-8.
*
@@ -32169,13 +32378,13 @@
* @str: a UTF-16 encoded string
* @len: the maximum length (number of #gunichar2) of @str to use.
* If @len < 0, then the string is nul-terminated.
- * @items_read: (allow-none): location to store number of words read,
- * or %NULL. If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
- * returned in case @str contains a trailing partial character. If
+ * @items_read: (out caller-allocates) (optional): location to store number of
+ * words read, or %NULL. If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will
+ * be returned in case @str contains a trailing partial character. If
* an error occurs then the index of the invalid input is stored here.
- * @items_written: (allow-none): location to store number of characters
- * written, or %NULL. The value stored here does not include the trailing
- * 0 character.
+ * @items_written: (out caller-allocates) (optional): location to store number
+ * of characters written, or %NULL. The value stored here does not include
+ * the trailing 0 character.
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError other than
* %G_CONVERT_ERROR_NO_CONVERSION may occur.
@@ -32194,12 +32403,13 @@
* @str: a UTF-16 encoded string
* @len: the maximum length (number of #gunichar2) of @str to use.
* If @len < 0, then the string is nul-terminated.
- * @items_read: (allow-none): location to store number of words read,
- * or %NULL. If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
- * returned in case @str contains a trailing partial character. If
+ * @items_read: (out caller-allocates) (optional): location to store number of
+ * words read, or %NULL. If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will
+ * be returned in case @str contains a trailing partial character. If
* an error occurs then the index of the invalid input is stored here.
- * @items_written: (allow-none): location to store number of bytes written,
- * or %NULL. The value stored here does not include the trailing 0 byte.
+ * @items_written: (out caller-allocates) (optional): location to store number
+ * of bytes written, or %NULL. The value stored here does not include the
+ * trailing 0 byte.
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError other than
* %G_CONVERT_ERROR_NO_CONVERSION may occur.
@@ -32309,7 +32519,7 @@
/**
* g_utf8_find_next_char:
* @p: a pointer to a position within a UTF-8 encoded string
- * @end: a pointer to the byte following the end of the string,
+ * @end: (nullable): a pointer to the byte following the end of the string,
* or %NULL to indicate that the string is nul-terminated
*
* Finds the start of the next UTF-8 character in the string after @p.
@@ -32604,14 +32814,15 @@
* @str: a UTF-8 encoded string
* @len: the maximum length of @str to use, in bytes. If @len < 0,
* then the string is nul-terminated.
- * @items_read: (allow-none): location to store number of bytes read, or %NULL.
+ * @items_read: (out caller-allocates) (optional): location to store number of
+ * bytes read, or %NULL.
* If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
* returned in case @str contains a trailing partial
* character. If an error occurs then the index of the
* invalid input is stored here.
- * @items_written: (allow-none): location to store number of characters
- * written or %NULL. The value here stored does not include the
- * trailing 0 character.
+ * @items_written: (out caller-allocates) (optional): location to store number
+ * of characters written or %NULL. The value here stored does not include
+ * the trailing 0 character.
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError other than
* %G_CONVERT_ERROR_NO_CONVERSION may occur.
@@ -32631,8 +32842,8 @@
* @str: a UTF-8 encoded string
* @len: the maximum length of @str to use, in bytes. If @len < 0,
* then the string is nul-terminated.
- * @items_written: (allow-none): location to store the number of
- * characters in the result, or %NULL.
+ * @items_written: (out caller-allocates) (optional): location to store the
+ * number of characters in the result, or %NULL.
*
* Convert a string from UTF-8 to a 32-bit fixed width
* representation as UCS-4, assuming valid UTF-8 input.
@@ -32650,13 +32861,13 @@
* @str: a UTF-8 encoded string
* @len: the maximum length (number of bytes) of @str to use.
* If @len < 0, then the string is nul-terminated.
- * @items_read: (allow-none): location to store number of bytes read,
- * or %NULL. If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will be
- * returned in case @str contains a trailing partial character. If
+ * @items_read: (out caller-allocates) (optional): location to store number of
+ * bytes read, or %NULL. If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will
+ * be returned in case @str contains a trailing partial character. If
* an error occurs then the index of the invalid input is stored here.
- * @items_written: (allow-none): location to store number of #gunichar2
- * written, or %NULL. The value stored here does not include the
- * trailing 0.
+ * @items_written: (out caller-allocates) (optional): location to store number
+ * of #gunichar2 written, or %NULL. The value stored here does not include
+ * the trailing 0.
* @error: location to store the error occurring, or %NULL to ignore
* errors. Any of the errors in #GConvertError other than
* %G_CONVERT_ERROR_NO_CONVERSION may occur.
@@ -35167,7 +35378,7 @@
/**
* g_variant_store:
* @value: the #GVariant to store
- * @data: the location to store the serialised data at
+ * @data: (not nullable): the location to store the serialised data at
*
* Stores the serialised form of @value at @data. @data should be
* large enough. See g_variant_get_size().
@@ -35755,7 +35966,7 @@
/**
* g_vfprintf:
- * @file: the stream to write to.
+ * @file: (not nullable): the stream to write to.
* @format: a standard printf() format string, but notice
* [string precision pitfalls][string-precision]
* @args: the list of arguments to insert in the output.
@@ -35899,6 +36110,16 @@
/**
+ * g_warn_message: (skip)
+ * @domain: (nullable):
+ * @file:
+ * @line:
+ * @func:
+ * @warnexpr: (nullable):
+ */
+
+
+/**
* g_warning:
* @...: format string, followed by parameters to insert
* into the format string (as with printf())
@@ -36386,6 +36607,9 @@
/**
* glib_mem_profiler_table:
*
+ * Used to be a #GMemVTable containing profiling variants of the memory
+ * allocation functions, but this variable shouldn't be modified anymore.
+ *
* Deprecated: 2.46: Use other memory profiling tools instead
*/
diff --git a/gir/gobject-2.0.c b/gir/gobject-2.0.c
index f9ab6755..ebabda8b 100644
--- a/gir/gobject-2.0.c
+++ b/gir/gobject-2.0.c
@@ -828,18 +828,19 @@
/**
* g_boxed_copy:
* @boxed_type: The type of @src_boxed.
- * @src_boxed: The boxed structure to be copied.
+ * @src_boxed: (not nullable): The boxed structure to be copied.
*
* Provide a copy of a boxed structure @src_boxed which is of type @boxed_type.
*
- * Returns: (transfer full): The newly created copy of the boxed structure.
+ * Returns: (transfer full) (not nullable): The newly created copy of the boxed
+ * structure.
*/
/**
* g_boxed_free:
* @boxed_type: The type of @boxed.
- * @boxed: The boxed structure to be freed.
+ * @boxed: (not nullable): The boxed structure to be freed.
*
* Free the boxed structure @boxed which is of type @boxed_type.
*/
@@ -886,7 +887,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -901,17 +902,22 @@
/**
* g_cclosure_marshal_BOOLEAN__FLAGS:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: a #GValue which can store the returned #gboolean
- * @n_param_values: 2
- * @param_values: a #GValue array holding instance and arg1
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter
- * denotes a flags type.
+ * A #GClosureMarshal function for use with signals with handlers that
+ * take a flags type as an argument and return a boolean. If you have
+ * such a signal, you will probably also need to use an accumulator,
+ * such as g_signal_accumulator_true_handled().
*/
@@ -921,7 +927,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -971,23 +977,39 @@
/**
* g_cclosure_marshal_BOOL__FLAGS:
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * Another name for g_cclosure_marshal_BOOLEAN__FLAGS().
+ * An old alias for g_cclosure_marshal_BOOLEAN__FLAGS().
*/
/**
* g_cclosure_marshal_STRING__OBJECT_POINTER:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: a #GValue, which can store the returned string
- * @n_param_values: 3
- * @param_values: a #GValue array holding instance, arg1 and arg2
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with handlers that
+ * take a #GObject and a pointer and produce a string. It is highly
+ * unlikely that your signal handler fits this description.
*/
@@ -997,7 +1019,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1012,16 +1034,20 @@
/**
* g_cclosure_marshal_VOID__BOOLEAN:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gboolean parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * boolean argument.
*/
@@ -1031,7 +1057,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1046,16 +1072,20 @@
/**
* g_cclosure_marshal_VOID__BOXED:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #GBoxed* parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * argument which is any boxed pointer type.
*/
@@ -1065,7 +1095,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1080,16 +1110,20 @@
/**
* g_cclosure_marshal_VOID__CHAR:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gchar parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * character argument.
*/
@@ -1099,7 +1133,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1114,16 +1148,20 @@
/**
* g_cclosure_marshal_VOID__DOUBLE:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gdouble parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with one
+ * double-precision floating point argument.
*/
@@ -1133,7 +1171,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1148,16 +1186,20 @@
/**
* g_cclosure_marshal_VOID__ENUM:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the enumeration parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes an enumeration type..
+ * A #GClosureMarshal function for use with signals with a single
+ * argument with an enumerated type.
*/
@@ -1167,7 +1209,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1182,16 +1224,20 @@
/**
* g_cclosure_marshal_VOID__FLAGS:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the flags parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a flags type.
+ * A #GClosureMarshal function for use with signals with a single
+ * argument with a flags types.
*/
@@ -1201,7 +1247,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1216,16 +1262,20 @@
/**
* g_cclosure_marshal_VOID__FLOAT:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gfloat parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with one
+ * single-precision floating point argument.
*/
@@ -1235,7 +1285,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1250,16 +1300,20 @@
/**
* g_cclosure_marshal_VOID__INT:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gint parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gint arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * integer argument.
*/
@@ -1269,7 +1323,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1284,16 +1338,20 @@
/**
* g_cclosure_marshal_VOID__LONG:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #glong parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, glong arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with with a single
+ * long integer argument.
*/
@@ -1303,7 +1361,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1318,16 +1376,20 @@
/**
* g_cclosure_marshal_VOID__OBJECT:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #GObject* parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * #GObject argument.
*/
@@ -1337,7 +1399,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1352,16 +1414,20 @@
/**
* g_cclosure_marshal_VOID__PARAM:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #GParamSpec* parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * argument of type #GParamSpec.
*/
@@ -1371,7 +1437,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1386,16 +1452,24 @@
/**
* g_cclosure_marshal_VOID__POINTER:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gpointer parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single raw
+ * pointer argument type.
+ *
+ * If it is possible, it is better to use one of the more specific
+ * functions such as g_cclosure_marshal_VOID__OBJECT() or
+ * g_cclosure_marshal_VOID__OBJECT().
*/
@@ -1405,7 +1479,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1420,16 +1494,20 @@
/**
* g_cclosure_marshal_VOID__STRING:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gchar* parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single string
+ * argument.
*/
@@ -1439,7 +1517,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1454,16 +1532,20 @@
/**
* g_cclosure_marshal_VOID__UCHAR:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #guchar parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * unsigned character argument.
*/
@@ -1473,7 +1555,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1488,31 +1570,39 @@
/**
* g_cclosure_marshal_VOID__UINT:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #guint parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, guint arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with with a single
+ * unsigned integer argument.
*/
/**
* g_cclosure_marshal_VOID__UINT_POINTER:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 3
- * @param_values: a #GValue array holding instance, arg1 and arg2
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a unsigned int
+ * and a pointer as arguments.
*/
@@ -1522,7 +1612,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1541,7 +1631,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1556,16 +1646,20 @@
/**
* g_cclosure_marshal_VOID__ULONG:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #gulong parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with a single
+ * unsigned long integer argument.
*/
@@ -1575,7 +1669,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1590,18 +1684,20 @@
/**
* g_cclosure_marshal_VOID__VARIANT:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 2
- * @param_values: a #GValue array holding the instance and the #GVariant* parameter
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
- *
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`.
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * Since: 2.26
+ * A #GClosureMarshal function for use with signals with a single
+ * #GVariant argument.
*/
@@ -1611,7 +1707,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1626,16 +1722,19 @@
/**
* g_cclosure_marshal_VOID__VOID:
- * @closure: the #GClosure to which the marshaller belongs
- * @return_value: ignored
- * @n_param_values: 1
- * @param_values: a #GValue array holding only the instance
- * @invocation_hint: the invocation hint given as the last argument
- * to g_closure_invoke()
- * @marshal_data: additional data specified when registering the marshaller
+ * @closure: A #GClosure.
+ * @return_value: A #GValue to store the return value. May be %NULL
+ * if the callback of closure doesn't return a value.
+ * @n_param_values: The length of the @param_values array.
+ * @param_values: An array of #GValues holding the arguments
+ * on which to invoke the callback of closure.
+ * @invocation_hint: The invocation hint given as the last argument to
+ * g_closure_invoke().
+ * @marshal_data: Additional data specified when registering the
+ * marshaller, see g_closure_set_marshal() and
+ * g_closure_set_meta_marshal()
*
- * A marshaller for a #GCClosure with a callback of type
- * `void (*callback) (gpointer instance, gpointer user_data)`.
+ * A #GClosureMarshal function for use with signals with no arguments.
*/
@@ -1645,7 +1744,7 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is invoked.
* @args: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1688,7 +1787,8 @@
* @return_value: (allow-none): a #GValue to store the return
* value. May be %NULL if the callback of @closure doesn't return a
* value.
- * @instance: the instance on which the closure is invoked.
+ * @instance: (type GObject.TypeInstance): the instance on which the closure is
+ * invoked.
* @args_list: va_list of arguments to be passed to the closure.
* @marshal_data: (allow-none): additional data specified when
* registering the marshaller, see g_closure_set_marshal() and
@@ -1707,7 +1807,7 @@
/**
* g_cclosure_new: (skip)
* @callback_func: the function to invoke
- * @user_data: user data to pass to @callback_func
+ * @user_data: (closure callback_func): user data to pass to @callback_func
* @destroy_data: destroy notify to be called when @user_data is no longer used
*
* Creates a new closure which invokes @callback_func with @user_data as
@@ -1750,7 +1850,7 @@
/**
* g_cclosure_new_swap: (skip)
* @callback_func: the function to invoke
- * @user_data: user data to pass to @callback_func
+ * @user_data: (closure callback_func): user data to pass to @callback_func
* @destroy_data: destroy notify to be called when @user_data is no longer used
*
* Creates a new closure which invokes @callback_func with @user_data as
@@ -1782,7 +1882,7 @@
/**
* g_closure_add_finalize_notifier: (skip)
* @closure: a #GClosure
- * @notify_data: data to pass to @notify_func
+ * @notify_data: (closure notify_func): data to pass to @notify_func
* @notify_func: the callback function to register
*
* Registers a finalization notifier which will be called when the
@@ -1797,7 +1897,7 @@
/**
* g_closure_add_invalidate_notifier: (skip)
* @closure: a #GClosure
- * @notify_data: data to pass to @notify_func
+ * @notify_data: (closure notify_func): data to pass to @notify_func
* @notify_func: the callback function to register
*
* Registers an invalidation notifier which will be called when the
@@ -1810,9 +1910,11 @@
/**
* g_closure_add_marshal_guards: (skip)
* @closure: a #GClosure
- * @pre_marshal_data: data to pass to @pre_marshal_notify
+ * @pre_marshal_data: (closure pre_marshal_notify): data to pass
+ * to @pre_marshal_notify
* @pre_marshal_notify: a function to call before the closure callback
- * @post_marshal_data: data to pass to @post_marshal_notify
+ * @post_marshal_data: (closure post_marshal_notify): data to pass
+ * to @post_marshal_notify
* @post_marshal_notify: a function to call after the closure callback
*
* Adds a pair of notifiers which get invoked before and after the
@@ -1845,7 +1947,7 @@
/**
* g_closure_invoke:
* @closure: a #GClosure
- * @return_value: (allow-none): a #GValue to store the return
+ * @return_value: (optional) (out): a #GValue to store the return
* value. May be %NULL if the callback of @closure
* doesn't return a value.
* @n_param_values: the length of the @param_values array
@@ -1975,7 +2077,8 @@
/**
* g_closure_set_meta_marshal: (skip)
* @closure: a #GClosure
- * @marshal_data: context-dependent data to pass to @meta_marshal
+ * @marshal_data: (closure meta_marshal): context-dependent data to pass
+ * to @meta_marshal
* @meta_marshal: a #GClosureMarshal function
*
* Sets the meta marshaller of @closure. A meta marshaller wraps
@@ -2251,7 +2354,8 @@
/**
* g_object_add_weak_pointer: (skip)
* @object: The object that should be weak referenced.
- * @weak_pointer_location: (inout): The memory address of a pointer.
+ * @weak_pointer_location: (inout) (not optional) (nullable): The memory address
+ * of a pointer.
*
* Adds a weak reference from weak_pointer to @object to indicate that
* the pointer located at @weak_pointer_location is only valid during
@@ -2523,7 +2627,7 @@
/**
* g_object_connect: (skip)
- * @object: a #GObject
+ * @object: (type GObject.Object): a #GObject
* @signal_spec: the spec for the first signal
* @...: #GCallback for the first signal, followed by data for the
* first signal, followed optionally by more signal
@@ -2553,13 +2657,13 @@
* NULL);
* ]|
*
- * Returns: (transfer none): @object
+ * Returns: (transfer none) (type GObject.Object): @object
*/
/**
* g_object_disconnect: (skip)
- * @object: a #GObject
+ * @object: (type GObject.Object): a #GObject
* @signal_spec: the spec for the first signal
* @...: #GCallback for the first signal, followed by data for the first signal,
* followed optionally by more signal spec/callback/data triples,
@@ -2665,7 +2769,7 @@
/**
* g_object_get: (skip)
- * @object: a #GObject
+ * @object: (type GObject.Object): a #GObject
* @first_property_name: name of the first property to get
* @...: return location for the first property, followed optionally by more
* name/return location pairs, followed by %NULL
@@ -2757,8 +2861,8 @@
/**
* g_object_interface_find_property:
- * @g_iface: any interface vtable for the interface, or the default
- * vtable for the interface
+ * @g_iface: (type GObject.TypeInterface): any interface vtable for the
+ * interface, or the default vtable for the interface
* @property_name: name of a property to lookup.
*
* Find the #GParamSpec with the given name for an
@@ -2776,7 +2880,8 @@
/**
* g_object_interface_install_property:
- * @g_iface: any interface vtable for the interface, or the default
+ * @g_iface: (type GObject.TypeInterface): any interface vtable for the
+ * interface, or the default
* vtable for the interface.
* @pspec: the #GParamSpec for the new property
*
@@ -2801,8 +2906,8 @@
/**
* g_object_interface_list_properties:
- * @g_iface: any interface vtable for the interface, or the default
- * vtable for the interface
+ * @g_iface: (type GObject.TypeInterface): any interface vtable for the
+ * interface, or the default vtable for the interface
* @n_properties_p: (out): location to store number of properties returned.
*
* Lists the properties of an interface.Generally, the interface
@@ -2842,7 +2947,8 @@
* Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
* which are not explicitly specified are set to their default values.
*
- * Returns: (transfer full): a new instance of @object_type
+ * Returns: (transfer full) (type GObject.Object): a new instance of
+ * @object_type
*/
@@ -2990,7 +3096,8 @@
/**
* g_object_remove_weak_pointer: (skip)
* @object: The object that is weak referenced.
- * @weak_pointer_location: (inout): The memory address of a pointer.
+ * @weak_pointer_location: (inout) (not optional) (nullable): The memory address
+ * of a pointer.
*
* Removes a weak reference from @object that was previously added
* using g_object_add_weak_pointer(). The @weak_pointer_location has
@@ -3069,7 +3176,7 @@
/**
* g_object_set: (skip)
- * @object: a #GObject
+ * @object: (type GObject.Object): a #GObject
* @first_property_name: name of the first property to set
* @...: value for the first property, followed optionally by more
* name/value pairs, followed by %NULL
@@ -3462,7 +3569,7 @@
/**
* g_param_spec_get_name_quark:
- * @param: a #GParamSpec
+ * @pspec: a #GParamSpec
*
* Gets the GQuark for the name.
*
@@ -3591,7 +3698,7 @@
* @blurb, which should be a somewhat longer description, suitable for
* e.g. a tooltip. The @nick and @blurb should ideally be localized.
*
- * Returns: a newly allocated #GParamSpec instance
+ * Returns: (type GObject.ParamSpec): a newly allocated #GParamSpec instance
*/
@@ -4163,7 +4270,8 @@
/**
* g_signal_chain_from_overridden_handler: (skip)
- * @instance: the instance the signal is being emitted on.
+ * @instance: (type GObject.TypeInstance): the instance the signal is being
+ * emitted on.
* @...: parameters to be passed to the parent class closure, followed by a
* location for the return value. If the return type of the signal
* is #G_TYPE_NONE, the return value location can be omitted.
@@ -4227,10 +4335,11 @@
/**
* g_signal_connect_object: (skip)
- * @instance: the instance to connect to.
+ * @instance: (type GObject.TypeInstance): the instance to connect to.
* @detailed_signal: a string of the form "signal-name::detail".
* @c_handler: the #GCallback to connect.
- * @gobject: the object to pass as data to @c_handler.
+ * @gobject: (type GObject.Object) (nullable): the object to pass as data
+ * to @c_handler.
* @connect_flags: a combination of #GConnectFlags.
*
* This is similar to g_signal_connect_data(), but uses a closure which
@@ -4279,7 +4388,8 @@
/**
* g_signal_emit_valist: (skip)
- * @instance: the instance the signal is being emitted on.
+ * @instance: (type GObject.TypeInstance): the instance the signal is being
+ * emitted on.
* @signal_id: the signal id
* @detail: the detail
* @var_args: a list of parameters to be passed to the signal, followed by a
@@ -4523,7 +4633,7 @@
* created. Further information about the signals can be acquired through
* g_signal_query().
*
- * Returns: (array length=n_ids): Newly allocated array of signal IDs.
+ * Returns: (array length=n_ids) (transfer full): Newly allocated array of signal IDs.
*/
@@ -4984,7 +5094,8 @@
/**
* g_type_class_add_private:
- * @g_class: class structure for an instantiatable type
+ * @g_class: (type GObject.TypeClass): class structure for an instantiatable
+ * type
* @private_size: size of private structure
*
* Registers a private structure for an instantiatable type.
@@ -5056,7 +5167,7 @@
/**
* g_type_class_get_instance_private_offset: (skip)
- * @g_class: a #GTypeClass
+ * @g_class: (type GObject.TypeClass): a #GTypeClass
*
* Gets the offset of the private data for instances of @g_class.
*
@@ -6297,7 +6408,7 @@
/**
* g_value_init_from_instance:
* @value: An uninitialized #GValue structure.
- * @instance: the instance
+ * @instance: (type GObject.TypeInstance): the instance
*
* Initializes and sets @value from an instantiatable type via the
* value_table's collect_value() function.
@@ -6688,7 +6799,7 @@
/**
* g_value_take_variant:
* @value: a valid #GValue of type %G_TYPE_VARIANT
- * @variant: (allow-none): a #GVariant, or %NULL
+ * @variant: (nullable) (transfer full): a #GVariant, or %NULL
*
* Set the contents of a variant #GValue to @variant, and takes over
* the ownership of the caller's reference to @variant;
@@ -6801,7 +6912,7 @@
* g_weak_ref_init: (skip)
* @weak_ref: (inout): uninitialized or empty location for a weak
* reference
- * @object: (allow-none): a #GObject or %NULL
+ * @object: (type GObject.Object) (nullable): a #GObject or %NULL
*
* Initialise a non-statically-allocated #GWeakRef.
*
@@ -6820,7 +6931,7 @@
/**
* g_weak_ref_set: (skip)
* @weak_ref: location for a weak reference
- * @object: (allow-none): a #GObject or %NULL
+ * @object: (type GObject.Object) (nullable): a #GObject or %NULL
*
* Change the object to which @weak_ref points, or set it to
* %NULL.
diff --git a/girepository/gdump.c b/girepository/gdump.c
index a72841fe..b60a5dce 100644
--- a/girepository/gdump.c
+++ b/girepository/gdump.c
@@ -204,6 +204,7 @@ dump_signals (GType type, GOutputStream *out)
}
goutput_write (out, " </signal>\n");
}
+ g_free (sig_ids);
}
static void
@@ -249,6 +250,8 @@ dump_object_type (GType type, const char *symbol, GOutputStream *out)
escaped_printf (out, " <implements name=\"%s\"/>\n",
g_type_name (itype));
}
+ g_free (interfaces);
+
dump_properties (type, out);
dump_signals (type, out);
goutput_write (out, " </class>\n");
@@ -280,6 +283,8 @@ dump_interface_type (GType type, const char *symbol, GOutputStream *out)
escaped_printf (out, " <prerequisite name=\"%s\"/>\n",
g_type_name (itype));
}
+ g_free (interfaces);
+
dump_properties (type, out);
dump_signals (type, out);
goutput_write (out, " </interface>\n");
@@ -379,6 +384,7 @@ dump_fundamental_type (GType type, const char *symbol, GOutputStream *out)
escaped_printf (out, " <implements name=\"%s\"/>\n",
g_type_name (itype));
}
+ g_free (interfaces);
goutput_write (out, " </fundamental>\n");
}
@@ -471,6 +477,8 @@ g_irepository_dump (const char *arg, GError **error)
input_file = g_file_new_for_path (args[0]);
output_file = g_file_new_for_path (args[1]);
+ g_strfreev (args);
+
input = g_file_read (input_file, NULL, error);
if (input == NULL)
return FALSE;
diff --git a/girepository/girepository.c b/girepository/girepository.c
index bb91977e..4537c03d 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -27,11 +27,6 @@
#include <string.h>
#include <stdlib.h>
-#ifdef HAVE_GETAUXVAL
-#include <unistd.h>
-#include <sys/auxv.h>
-#endif
-
#include <glib.h>
#include <glib/gprintf.h>
#include <gmodule.h>
@@ -152,14 +147,6 @@ init_globals (void)
if (!g_once_init_enter (&initialized))
return;
-#ifdef HAVE_GETAUXVAL
- if (getauxval (AT_SECURE))
- {
- g_printerr ("error: libgirepository.so (gobject-introspection) is not audited for use in setuid applications\nSee https://bugzilla.gnome.org/show_bug.cgi?id=755472\n");
- _exit (1);
- }
-#endif
-
if (default_repository == NULL)
default_repository = g_object_new (G_TYPE_IREPOSITORY, NULL);
@@ -559,12 +546,12 @@ g_irepository_get_dependencies (GIRepository *repository,
g_return_val_if_fail (namespace != NULL, NULL);
repository = get_repository (repository);
- transitive_dependencies = g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free, NULL);
- /* Load the dependencies. */
typelib = get_registered (repository, namespace, NULL);
g_return_val_if_fail (typelib != NULL, NULL);
+
+ /* Load the dependencies. */
+ transitive_dependencies = g_hash_table_new (g_str_hash, g_str_equal);
get_typelib_dependencies_transitive (repository, typelib,
transitive_dependencies);
@@ -579,6 +566,8 @@ g_irepository_get_dependencies (GIRepository *repository,
g_hash_table_iter_steal (&iter);
}
+ g_hash_table_unref (transitive_dependencies);
+
/* Add a NULL terminator. */
g_ptr_array_add (out, NULL);
diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
index 9b27f0e1..c83bd7ea 100644
--- a/giscanner/ccompiler.py
+++ b/giscanner/ccompiler.py
@@ -277,17 +277,17 @@ class CCompiler(object):
else:
libtool = utils.get_libtool_command(options)
if libtool:
- args.append(utils.which(os.environ.get('SHELL', 'sh.exe')))
+ if os.name == 'nt':
+ args.append(utils.which(os.environ.get('SHELL', 'sh.exe')))
args.extend(libtool)
args.append('--mode=execute')
- # FIXME: it could have prefix (i686-w64-mingw32-dlltool.exe)
- args.extend(['dlltool.exe', '--identify'])
+ args.extend([os.environ.get('DLLTOOL', 'dlltool.exe'), '--identify'])
proc = subprocess.Popen([self.compiler_cmd, '-print-search-dirs'],
stdout=subprocess.PIPE)
o, e = proc.communicate()
for line in o.decode('ascii').splitlines():
if line.startswith('libraries: '):
- libsearch = line[len('libraries: '):].split(';')
+ libsearch = line[len('libraries: '):].split(os.pathsep)
shlibs = []
not_resolved = []
diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
index 9bdc2bc1..1134f33e 100644
--- a/giscanner/gdumpparser.py
+++ b/giscanner/gdumpparser.py
@@ -162,6 +162,12 @@ blob containing data gleaned from GObject's primitive introspection."""
out_path = os.path.join(self._binary.tmpdir, 'dump.xml')
args = []
+
+ # Prepend the launcher command and arguments, if defined
+ launcher = os.environ.get('GI_CROSS_LAUNCHER')
+ if launcher:
+ args.extend(launcher.split())
+
args.extend(self._binary.args)
args.append('--introspect-dump=%s,%s' % (in_path, out_path))
diff --git a/giscanner/giscannermodule.c b/giscanner/giscannermodule.c
index 845a72f5..4c1f00f3 100644
--- a/giscanner/giscannermodule.c
+++ b/giscanner/giscannermodule.c
@@ -454,7 +454,9 @@ pygi_source_scanner_parse_file (PyGISourceScanner *self,
#ifdef _WIN32
/* The file descriptor passed to us is from the C library Python
* uses. That is msvcr71.dll for Python 2.5 and msvcr90.dll for
- * Python 2.6, 2.7, 3.2 etc; and msvcr100.dll for Python 3.3 and later.
+ * Python 2.6, 2.7, 3.2 etc; and msvcr100.dll for Python 3.3 and 3.4.
+ * Python 3.5 and later is built with Visual Studio 2015, which uses
+ * the universal CRT, so we need to deal with urtbase.dll here instead.
* This code, at least if compiled with mingw, uses
* msvcrt.dll, so we cannot use the file descriptor directly. So
* perform appropriate magic.
@@ -465,7 +467,12 @@ pygi_source_scanner_parse_file (PyGISourceScanner *self,
* (Not if a build using WDK is used):
* Python 2.6.x/2.7.x with Visual C++ 2008
* Python 3.1.x/3.2.x with Visual C++ 2008
- * Python 3.3+ with Visual C++ 2010
+ * Python 3.3.x/3.4.x with Visual C++ 2010
+ */
+
+ /* XXX: Somehow we cannot use the FD directly on Python 3.5+ even when
+ * using Visual Studio 2015, so we currently need to use _get_osfhandle() when
+ * in all cases on Python 3.5+
*/
#if (defined(_MSC_VER) && !defined(USE_WIN_DDK))
@@ -473,23 +480,23 @@ pygi_source_scanner_parse_file (PyGISourceScanner *self,
#define MSVC_USE_FD_DIRECTLY 1
#elif (PY_MAJOR_VERSION==3 && PY_MINOR_VERSION<=2 && (_MSC_VER >= 1500 && _MSC_VER < 1600))
#define MSVC_USE_FD_DIRECTLY 1
-#elif (PY_MAJOR_VERSION==3 && PY_MINOR_VERSION>=3 && (_MSC_VER >= 1600 && _MSC_VER < 1700))
+#elif (PY_MAJOR_VERSION==3 && PY_MINOR_VERSION<=4 && (_MSC_VER >= 1600 && _MSC_VER < 1700))
#define MSVC_USE_FD_DIRECTLY 1
#endif
#endif
-#ifndef MSVC_USE_FD_DIRECTLY
+#if !defined(MSVC_USE_FD_DIRECTLY) && !defined(__MINGW64_VERSION_MAJOR)
{
#if defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==2 && PY_MINOR_VERSION==5
#define PYTHON_MSVCRXX_DLL "msvcr71.dll"
-#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==2 && PY_MINOR_VERSION==6
-#define PYTHON_MSVCRXX_DLL "msvcr90.dll"
#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==2 && PY_MINOR_VERSION==7
#define PYTHON_MSVCRXX_DLL "msvcr90.dll"
-#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==2
+#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==3 && PY_MINOR_VERSION<=2
#define PYTHON_MSVCRXX_DLL "msvcr90.dll"
-#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==3 && PY_MINOR_VERSION>=3
+#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==3 && PY_MINOR_VERSION<=4
#define PYTHON_MSVCRXX_DLL "msvcr100.dll"
+#elif defined(PY_MAJOR_VERSION) && PY_MAJOR_VERSION==3 && PY_MINOR_VERSION>=5
+#define PYTHON_MSVCRXX_DLL "ucrtbase.dll"
#else
#error This Python version not handled
#endif
@@ -624,6 +631,12 @@ pygi_source_scanner_get_comments (PyGISourceScanner *self)
if (comment->comment)
{
comment_obj = PyUnicode_FromString (comment->comment);
+ if (!comment_obj)
+ {
+ g_print ("Comment is not valid Unicode in %s line %d\n", comment->filename, comment->line);
+ Py_INCREF (Py_None);
+ comment_obj = Py_None;
+ }
}
else
{
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index b4b39345..23ed4102 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -649,6 +649,7 @@ class MainTransformer(object):
# gpointer parameters and return values are always nullable unless:
# - annotated with (type) and not also with (nullable); or
+ # - annotated with (element-type) and not also with (nullable); or
# - annotated (not nullable)
# See: https://bugzilla.gnome.org/show_bug.cgi?id=719966#c22
if node.type.is_equiv(ast.TYPE_ANY):
diff --git a/giscanner/msvccompiler.py b/giscanner/msvccompiler.py
index d5785775..86049dad 100644
--- a/giscanner/msvccompiler.py
+++ b/giscanner/msvccompiler.py
@@ -80,7 +80,7 @@ class MSVCCompiler(distutils.msvccompiler.MSVCCompiler):
if self.force or output_file is None or newer(source, output_file):
try:
self.spawn(cpp_args)
- except (DistutilsExecError, msg):
+ except DistutilsExecError as msg:
print(msg)
raise CompileError
diff --git a/giscanner/scannerlexer.l b/giscanner/scannerlexer.l
index d6c5e659..21ef5701 100644
--- a/giscanner/scannerlexer.l
+++ b/giscanner/scannerlexer.l
@@ -88,18 +88,18 @@ stringtext ([^\\\"])|(\\.)
"#define "[a-zA-Z_][a-zA-Z_0-9]*"(" { yyless (yyleng - 1); return FUNCTION_MACRO; }
"#define "[a-zA-Z_][a-zA-Z_0-9]* { return OBJECT_MACRO; }
-"#ifdef"[\t ]+"__GI_SCANNER__"[\t ]?.*"\n" { return IFDEF_GI_SCANNER; }
-"#ifndef"[\t ]+"__GI_SCANNER__"[\t ]?.*"\n" { return IFNDEF_GI_SCANNER; }
-"#ifndef ".*"\n" { return IFNDEF_COND; }
-"#ifdef ".*"\n" { return IFDEF_COND; }
-"#if ".*"\n" { return IF_COND; }
-"#elif ".*"\n" { return ELIF_COND; }
-"#else".*"\n" { return ELSE_COND; }
-"#endif".*"\n" { return ENDIF_COND; }
-"#pragma ".*"\n" { /* Ignore pragma. */ }
-
-"# "[0-9]+" ".*"\n" { process_linemarks(scanner, FALSE); }
-"#line "[0-9]+" ".*"\n" { process_linemarks(scanner, TRUE); }
+"#ifdef"[\t ]+"__GI_SCANNER__"[\t ]?.*"\n" { ++lineno; return IFDEF_GI_SCANNER; }
+"#ifndef"[\t ]+"__GI_SCANNER__"[\t ]?.*"\n" { ++lineno; return IFNDEF_GI_SCANNER; }
+"#ifndef ".*"\n" { ++lineno; return IFNDEF_COND; }
+"#ifdef ".*"\n" { ++lineno; return IFDEF_COND; }
+"#if ".*"\n" { ++lineno; return IF_COND; }
+"#elif ".*"\n" { ++lineno; return ELIF_COND; }
+"#else".*"\n" { ++lineno; return ELSE_COND; }
+"#endif".*"\n" { ++lineno; return ENDIF_COND; }
+"#pragma ".*"\n" { ++lineno; /* Ignore pragma. */ }
+
+"# "[0-9]+" ".*"\n" { ++lineno; process_linemarks(scanner, FALSE); }
+"#line "[0-9]+" ".*"\n" { ++lineno; process_linemarks(scanner, TRUE); }
"#" { }
"{" { return '{'; }
"<%" { return '{'; }
@@ -173,7 +173,7 @@ stringtext ([^\\\"])|(\\.)
"__volatile" { return VOLATILE; }
"__volatile__" { return VOLATILE; }
"_Bool" { return BOOL; }
-"typedef char __static_assert_t".*"\n" { /* Ignore */ }
+"typedef char __static_assert_t".*"\n" { ++lineno; /* Ignore */ }
"__cdecl" { /* Ignore */ }
"__declspec(deprecated(".*"))" { /* Ignore */ }
"__declspec"[\t ]*"("[a-z\t ]+")" { /* Ignore */ }
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
index 628528f8..633496fc 100755
--- a/giscanner/scannermain.py
+++ b/giscanner/scannermain.py
@@ -29,6 +29,7 @@ import errno
import optparse
import os
import shutil
+import stat
import subprocess
import sys
import tempfile
@@ -450,6 +451,13 @@ def write_output(data, options):
output = sys.stdout
elif options.reparse_validate_gir:
main_f, main_f_name = tempfile.mkstemp(suffix='.gir')
+
+ if (os.path.isfile(options.output)):
+ shutil.copystat(options.output, main_f_name)
+ else:
+ os.chmod(main_f_name,
+ stat.S_IWUSR | stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH)
+
with os.fdopen(main_f, 'wb') as main_f:
main_f.write(data)
@@ -465,7 +473,6 @@ def write_output(data, options):
except OSError as e:
if e.errno == errno.EPERM:
os.unlink(main_f_name)
- return 0
raise
return 0
else:
diff --git a/giscanner/transformer.py b/giscanner/transformer.py
index e8b1e049..a1ea3433 100644
--- a/giscanner/transformer.py
+++ b/giscanner/transformer.py
@@ -262,10 +262,11 @@ currently-scanned namespace is first."""
stderr=subprocess.PIPE,
shell=True)
_name = name
- name, err = proc.communicate(name)
+ proc_name, err = proc.communicate(name.encode())
if proc.returncode:
raise ValueError('filter: "%s" exited: %d with error: %s' %
(self._symbol_filter_cmd, proc.returncode, err))
+ name = proc_name.decode('ascii')
matches = [] # Namespaces which might contain this name
unprefixed_namespaces = [] # Namespaces with no prefix, last resort
diff --git a/gobject-introspection-1.0.pc b/gobject-introspection-1.0.pc
index fda22f41..53dfd462 100644
--- a/gobject-introspection-1.0.pc
+++ b/gobject-introspection-1.0.pc
@@ -1,4 +1,4 @@
-prefix=/home/walters/src/build/jhbuild
+prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
bindir=${exec_prefix}/bin
@@ -21,4 +21,4 @@ Libs.private:
Name: gobject-introspection
Description: GObject Introspection
-Version: 1.47.1
+Version: 1.47.92
diff --git a/gobject-introspection-no-export-1.0.pc b/gobject-introspection-no-export-1.0.pc
index 2133f83c..f7002f61 100644
--- a/gobject-introspection-no-export-1.0.pc
+++ b/gobject-introspection-no-export-1.0.pc
@@ -1,4 +1,4 @@
-prefix=/home/walters/src/build/jhbuild
+prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
bindir=${exec_prefix}/bin
@@ -20,4 +20,4 @@ Libs.private:
Name: gobject-introspection
Description: GObject Introspection
-Version: 1.47.1
+Version: 1.47.92
diff --git a/gtk-doc.make b/gtk-doc.make
index 104c3993..e4a12a5b 100644
--- a/gtk-doc.make
+++ b/gtk-doc.make
@@ -25,6 +25,7 @@ TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
SETUP_FILES = \
$(content_files) \
+ $(expand_content_files) \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
@@ -49,9 +50,13 @@ REPORT_FILES = \
$(DOC_MODULE)-undeclared.txt \
$(DOC_MODULE)-unused.txt
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+gtkdoc-check.test: Makefile
+ $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+ echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+ chmod +x $@
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
-if ENABLE_GTK_DOC
if GTK_DOC_BUILD_HTML
HTML_BUILD_STAMP=html-build.stamp
else
@@ -63,9 +68,11 @@ else
PDF_BUILD_STAMP=
endif
-all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
-else
-all-local:
+all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+.PHONY: all-gtk-doc
+
+if ENABLE_GTK_DOC
+all-local: all-gtk-doc
endif
docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
@@ -80,11 +87,13 @@ GTK_DOC_V_SETUP_0=@echo " DOC Preparing build";
setup-build.stamp:
-$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
if test "x$$files" != "x" ; then \
for file in $$files ; do \
+ destdir=`dirname $(abs_builddir)/$$file`; \
+ test -d "$$destdir" || mkdir -p "$$destdir"; \
test -f $(abs_srcdir)/$$file && \
- cp -pu $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
done; \
fi; \
fi
@@ -101,7 +110,7 @@ GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V))
GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects";
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
+scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
$(GTK_DOC_V_SCAN)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
_source_dir="$${_source_dir} --source-dir=$$i" ; \
@@ -110,7 +119,7 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
$(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
scanobj_options=""; \
gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
if test "x$(V)" = "x1"; then \
scanobj_options="--verbose"; \
fi; \
@@ -133,7 +142,7 @@ GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V))
GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
GTK_DOC_V_XML_0=@echo " DOC Building XML";
-sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files)
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
$(GTK_DOC_V_XML)_source_dir='' ; \
for i in $(DOC_SOURCE_DIR) ; do \
_source_dir="$${_source_dir} --source-dir=$$i" ; \
@@ -144,6 +153,17 @@ sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DO
sgml.stamp: sgml-build.stamp
@true
+xml/gtkdocentities.ent: Makefile
+ $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
+ echo "<!ENTITY package \"$(PACKAGE)\">"; \
+ echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
+ echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
+ echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
+ echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
+ echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
+ echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
+ ) > $@
+
#### html ####
GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_$(V))
@@ -154,17 +174,17 @@ GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_$(V))
GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references";
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
$(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
mkhtml_options=""; \
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
if test "x$(V)" = "x1"; then \
mkhtml_options="$$mkhtml_options --verbose"; \
fi; \
fi; \
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
fi; \
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
@@ -186,11 +206,11 @@ GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_$(V))
GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
GTK_DOC_V_PDF_0=@echo " DOC Building PDF";
-pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
$(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
mkpdf_options=""; \
gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
- if test "$(?)" = "0"; then \
+ if test "$$?" = "0"; then \
if test "x$(V)" = "x1"; then \
mkpdf_options="$$mkpdf_options --verbose"; \
fi; \
@@ -212,12 +232,18 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
clean-local:
@rm -f *~ *.bak
@rm -rf .libs
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+ rm -f $(DOC_MODULE).types; \
+ fi
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
+ rm -f $(DOC_MODULE)-sections.txt; \
+ fi
distclean-local:
@rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
- rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
fi
maintainer-clean-local:
@@ -256,15 +282,17 @@ uninstall-local:
#
# Require gtk-doc when making dist
#
-if ENABLE_GTK_DOC
+if HAVE_GTK_DOC
dist-check-gtkdoc: docs
else
dist-check-gtkdoc:
- @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @echo "*** gtk-doc is needed to run 'make dist'. ***"
+ @echo "*** gtk-doc was not found when 'configure' ran. ***"
+ @echo "*** please install gtk-doc and rerun 'configure'. ***"
@false
endif
-dist-hook: dist-check-gtkdoc dist-hook-local
+dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
@mkdir $(distdir)/html
@cp ./html/* $(distdir)/html
@-cp ./$(DOC_MODULE).pdf $(distdir)/
diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4
index ac2eccb4..36755432 100644
--- a/m4/gtk-doc.m4
+++ b/m4/gtk-doc.m4
@@ -1,6 +1,6 @@
dnl -*- mode: autoconf -*-
-# serial 1
+# serial 2
dnl Usage:
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
@@ -10,8 +10,24 @@ AC_DEFUN([GTK_DOC_CHECK],
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
+ AC_MSG_CHECKING([for gtk-doc])
+ PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
+ AC_MSG_RESULT($have_gtk_doc)
+
+ if test "$have_gtk_doc" = "no"; then
+ AC_MSG_WARN([
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found.])
+ fi
+
dnl check for tools we added during development
- AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
+ dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
+ dnl may not be writable by the user. Currently, automake requires that the
+ dnl test name must end in '.test'.
+ dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
+ AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
+ AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
@@ -28,22 +44,22 @@ AC_DEFUN([GTK_DOC_CHECK],
[use gtk-doc to build documentation [[default=no]]]),,
[enable_gtk_doc=no])
- if test x$enable_gtk_doc = xyes; then
- ifelse([$1],[],
- [PKG_CHECK_EXISTS([gtk-doc],,
- AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
- [PKG_CHECK_EXISTS([gtk-doc >= $1],,
- AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
- dnl don't check for glib if we build glib
- if test "x$PACKAGE_NAME" != "xglib"; then
- dnl don't fail if someone does not have glib
- PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:])
- fi
- fi
-
AC_MSG_CHECKING([whether to build gtk-doc documentation])
AC_MSG_RESULT($enable_gtk_doc)
+ if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+ AC_MSG_ERROR([
+ You must have $gtk_doc_requires installed to build documentation for
+ $PACKAGE_NAME. Please install gtk-doc or disable building the
+ documentation by adding '--disable-gtk-doc' to '[$]0'.])
+ fi
+
+ dnl don't check for glib if we build glib
+ if test "x$PACKAGE_NAME" != "xglib"; then
+ dnl don't fail if someone does not have glib
+ PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:])
+ fi
+
dnl enable/disable output formats
AC_ARG_ENABLE([gtk-doc-html],
AS_HELP_STRING([--enable-gtk-doc-html],
@@ -63,6 +79,7 @@ AC_DEFUN([GTK_DOC_CHECK],
fi
AC_SUBST([AM_DEFAULT_VERBOSITY])
+ AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 56666f0e..10ab2844 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,8 +1,6 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
@@ -10,36 +8,30 @@
# modifications, as long as this notice is preserved.
m4_define([_LT_COPYING], [dnl
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
])
-# serial 57 LT_INIT
+# serial 58 LT_INIT
# LT_PREREQ(VERSION)
@@ -67,7 +59,7 @@ esac
# LT_INIT([OPTIONS])
# ------------------
AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl
@@ -91,7 +83,7 @@ dnl Parse OPTIONS
_LT_SET_OPTIONS([$0], [$1])
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -111,26 +103,43 @@ dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in @S|@*""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
# _LT_CC_BASENAME(CC)
# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
])
# _LT_FILEUTILS_DEFAULTS
# ----------------------
# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
m4_defun([_LT_FILEUTILS_DEFAULTS],
[: ${CP="cp -f"}
: ${MV="mv -f"}
@@ -177,15 +186,16 @@ m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
])
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
@@ -198,7 +208,7 @@ aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
+ if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -209,14 +219,14 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
# Set sane defaults for various variables
test -z "$CC" && CC=cc
@@ -269,14 +279,14 @@ no_glob_subst='s/\*/\\\*/g'
# _LT_PROG_LTMAIN
# ---------------
-# Note that this code is called both from `configure', and `config.status'
+# Note that this code is called both from 'configure', and 'config.status'
# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
# so we pass a copy along to make sure it has a sensible value anyway.
m4_defun([_LT_PROG_LTMAIN],
[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
])# _LT_PROG_LTMAIN
@@ -286,7 +296,7 @@ ltmain="$ac_aux_dir/ltmain.sh"
# So that we can recreate a full libtool script including additional
# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
+# in macros and then make a single call at the end using the 'libtool'
# label.
@@ -421,8 +431,8 @@ m4_define([_lt_decl_all_varnames],
# _LT_CONFIG_STATUS_DECLARE([VARNAME])
# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'. VARNAME
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'. VARNAME
# must have a single quote delimited value for this to work.
m4_define([_LT_CONFIG_STATUS_DECLARE],
[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
@@ -446,7 +456,7 @@ m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
# Output comment and list of tags supported by the script
m4_defun([_LT_LIBTOOL_TAGS],
[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
+available_tags='_LT_TAGS'dnl
])
@@ -474,7 +484,7 @@ m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
# _LT_LIBTOOL_CONFIG_VARS
# -----------------------
# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
# section) are produced by _LT_LIBTOOL_TAG_VARS.
m4_defun([_LT_LIBTOOL_CONFIG_VARS],
@@ -500,8 +510,8 @@ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
# variables for single and double quote escaping we saved from calls
# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'. Finally, any additional code accumulated
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'. Finally, any additional code accumulated
# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
m4_defun([_LT_CONFIG_COMMANDS],
[AC_PROVIDE_IFELSE([LT_OUTPUT],
@@ -547,7 +557,7 @@ for var in lt_decl_all_varnames([[ \
]], lt_decl_quote_varnames); do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -560,7 +570,7 @@ for var in lt_decl_all_varnames([[ \
]], lt_decl_dquote_varnames); do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -576,7 +586,7 @@ _LT_OUTPUT_LIBTOOL_INIT
# Generate a child script FILE with all initialization necessary to
# reuse the environment learned by the parent script, and make the
# file executable. If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins. After this
+# '#!' sequence but before initialization text begins. After this
# macro, additional text can be appended to FILE to form the body of
# the child script. The macro ends with non-zero status if the
# file could not be fully written (such as if the disk is full).
@@ -598,7 +608,7 @@ AS_SHELL_SANITIZE
_AS_PREPARE
exec AS_MESSAGE_FD>&1
_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
# LT_OUTPUT
@@ -621,7 +631,7 @@ exec AS_MESSAGE_LOG_FD>>config.log
} >&AS_MESSAGE_LOG_FD
lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
+'$as_me' creates a local libtool stub from the current configuration,
for use in further configure time tests before the real libtool is
generated.
@@ -643,7 +653,7 @@ Copyright (C) 2011 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."
-while test $[#] != 0
+while test 0 != $[#]
do
case $[1] in
--version | --v* | -V )
@@ -656,10 +666,10 @@ do
lt_cl_silent=: ;;
-*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
*) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
esac
shift
done
@@ -685,7 +695,7 @@ chmod +x "$CONFIG_LT"
# open by configure. Here we exec the FD to /dev/null, effectively closing
# config.log, so it can be properly (re)opened and appended to by config.lt.
lt_cl_success=:
-test "$silent" = yes &&
+test yes = "$silent" &&
lt_config_lt_args="$lt_config_lt_args --quiet"
exec AS_MESSAGE_LOG_FD>/dev/null
$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
@@ -705,27 +715,31 @@ m4_defun([_LT_CONFIG],
_LT_CONFIG_SAVE_COMMANDS([
m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
m4_if(_LT_TAG, [C], [
- # See if we are running on zsh, and set the options which allow our
+ # See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
+ if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
- cfgfile="${ofile}T"
+ cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
_LT_COPYING
_LT_LIBTOOL_TAGS
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
# ### BEGIN LIBTOOL CONFIG
_LT_LIBTOOL_CONFIG_VARS
_LT_LIBTOOL_TAG_VARS
@@ -733,13 +747,24 @@ _LT_LIBTOOL_TAG_VARS
_LT_EOF
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -756,8 +781,6 @@ _LT_EOF
sed '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
- _LT_PROG_REPLACE_SHELLFNS
-
mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
@@ -775,7 +798,6 @@ _LT_EOF
[m4_if([$1], [], [
PACKAGE='$PACKAGE'
VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
RM='$RM'
ofile='$ofile'], [])
])dnl /_LT_CONFIG_SAVE_COMMANDS
@@ -974,7 +996,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
[lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
+ if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
# non-empty at configure time, or by adding -multi_module to the
@@ -992,7 +1014,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
cat conftest.err >&AS_MESSAGE_LOG_FD
# Otherwise, if the output was created with a 0 exit code from
# the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1010,7 +1032,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
[lt_cv_ld_exported_symbols_list=yes],
[lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
])
AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
@@ -1032,7 +1054,7 @@ _LT_EOF
_lt_result=$?
if test -s conftest.err && $GREP force_load conftest.err; then
cat conftest.err >&AS_MESSAGE_LOG_FD
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1042,32 +1064,32 @@ _LT_EOF
])
case $host_os in
rhapsody* | darwin1.[[012]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]][[,.]]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
@@ -1087,29 +1109,29 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ if test yes = "$lt_cv_ld_force_load"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
[FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=''
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
- if test "$_lt_dar_can_shared" = "yes"; then
+ if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
m4_if([$1], [CXX],
-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+[ if test yes != "$lt_cv_apple_cc_single_mod"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
fi
],[])
else
@@ -1129,7 +1151,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
# Allow to override them for all tags through lt_cv_aix_libpath.
m4_defun([_LT_SYS_MODULE_PATH_AIX],
[m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
+if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
@@ -1147,7 +1169,7 @@ else
_LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi],[])
if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
fi
])
aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
@@ -1167,8 +1189,8 @@ m4_define([_LT_SHELL_INIT],
# -----------------------
# Find how we can fake an echo command that does not interpret backslash.
# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
m4_defun([_LT_PROG_ECHO_BACKSLASH],
[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
@@ -1196,10 +1218,10 @@ fi
# Invoke $ECHO with all args, space-separated.
func_echo_all ()
{
- $ECHO "$*"
+ $ECHO "$*"
}
-case "$ECHO" in
+case $ECHO in
printf*) AC_MSG_RESULT([printf]) ;;
print*) AC_MSG_RESULT([print -r]) ;;
*) AC_MSG_RESULT([cat]) ;;
@@ -1225,16 +1247,17 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
AC_DEFUN([_LT_WITH_SYSROOT],
[AC_MSG_CHECKING([for sysroot])
AC_ARG_WITH([sysroot],
-[ --with-sysroot[=DIR] Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+ [Search for dependent libraries within DIR (or the compiler's sysroot
+ if not specified).])],
[], [with_sysroot=no])
dnl lt_sysroot will always be passed unquoted. We quote it here
dnl in case the user passed a directory name.
lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
yes)
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
fi
;; #(
@@ -1244,14 +1267,14 @@ case ${with_sysroot} in #(
no|'')
;; #(
*)
- AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_RESULT([$with_sysroot])
AC_MSG_ERROR([The sysroot must be an absolute path.])
;;
esac
AC_MSG_RESULT([${lt_sysroot:-no}])
_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
+[dependent libraries, and where our libraries should be installed.])])
# _LT_ENABLE_LOCK
# ---------------
@@ -1259,31 +1282,33 @@ m4_defun([_LT_ENABLE_LOCK],
[AC_ARG_ENABLE([libtool-lock],
[AS_HELP_STRING([--disable-libtool-lock],
[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case $host in
ia64-*-hpux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
- HPUX_IA64_MODE="32"
+ HPUX_IA64_MODE=32
;;
*ELF-64*)
- HPUX_IA64_MODE="64"
+ HPUX_IA64_MODE=64
;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
@@ -1312,9 +1337,46 @@ ia64-*-hpux*)
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
@@ -1324,9 +1386,19 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -1345,7 +1417,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -1363,19 +1438,20 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
+ SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_LANG_PUSH(C)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
+ CFLAGS=$SAVE_CFLAGS
fi
;;
*-*solaris*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
@@ -1383,7 +1459,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
- i?86-*-solaris*)
+ i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)
@@ -1392,7 +1468,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
esac
# GNU ld 2.21 introduced _sol2 emulations. Use them if available.
if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
+ LD=${LD-ld}_sol2
fi
;;
*)
@@ -1408,7 +1484,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
;;
esac
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
])# _LT_ENABLE_LOCK
@@ -1427,11 +1503,11 @@ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
[echo conftest.$ac_objext > conftest.lst
lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -eq 0; then
+ if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
rm -f conftest.$ac_objext libconftest.a
AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -ne 0; then
+ if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
fi
fi
@@ -1439,7 +1515,7 @@ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
])
])
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
else
archiver_list_spec=$lt_cv_ar_at_file
@@ -1470,7 +1546,7 @@ old_postuninstall_cmds=
if test -n "$RANLIB"; then
case $host_os in
- openbsd*)
+ bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
@@ -1506,7 +1582,7 @@ AC_CACHE_CHECK([$1], [$2],
[$2=no
m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
+ lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -1533,7 +1609,7 @@ AC_CACHE_CHECK([$1], [$2],
$RM conftest*
])
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
m4_if([$5], , :, [$5])
else
m4_if([$6], , :, [$6])
@@ -1555,7 +1631,7 @@ AC_DEFUN([_LT_LINKER_OPTION],
m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $3"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -1574,10 +1650,10 @@ AC_CACHE_CHECK([$1], [$2],
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
])
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
m4_if([$4], , :, [$4])
else
m4_if([$5], , :, [$5])
@@ -1598,7 +1674,7 @@ AC_DEFUN([LT_CMD_MAX_LEN],
AC_MSG_CHECKING([the maximum length of command line arguments])
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
i=0
- teststring="ABCD"
+ teststring=ABCD
case $build_os in
msdosdjgpp*)
@@ -1638,7 +1714,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=8192;
;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1688,22 +1764,23 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# Make teststring a little bigger before we do anything with it.
# a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
+ for i in 1 2 3 4 5 6 7 8; do
teststring=$teststring$teststring
done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
+ test 17 != "$i" # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
@@ -1719,7 +1796,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
;;
esac
])
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
else
AC_MSG_RESULT(none)
@@ -1747,7 +1824,7 @@ m4_defun([_LT_HEADER_DLFCN],
# ----------------------------------------------------------------
m4_defun([_LT_TRY_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
+if test yes = "$cross_compiling"; then :
[$4]
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -1794,9 +1871,9 @@ else
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -1822,7 +1899,7 @@ int main ()
return status;
}]
_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -1843,7 +1920,7 @@ rm -fr conftest*
# ------------------
AC_DEFUN([LT_SYS_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
+if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -1853,44 +1930,52 @@ else
case $host_os in
beos*)
- lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
cygwin*)
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
;;
darwin*)
- # if libdl is installed we need to link against it
+ # if libdl is installed we need to link against it
AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+ lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
])
;;
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
*)
AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
+ [lt_cv_dlopen=shl_load],
[AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
[AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
+ [lt_cv_dlopen=dlopen],
[AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
[AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
[AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
])
])
])
@@ -1899,21 +1984,21 @@ else
;;
esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
+ if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
+ else
+ enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- save_LIBS="$LIBS"
+ save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
AC_CACHE_CHECK([whether a program can dlopen itself],
@@ -1923,7 +2008,7 @@ else
lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
])
- if test "x$lt_cv_dlopen_self" = xyes; then
+ if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
lt_cv_dlopen_self_static, [dnl
@@ -1933,9 +2018,9 @@ else
])
fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
;;
esac
@@ -2027,8 +2112,8 @@ m4_defun([_LT_COMPILER_FILE_LOCKS],
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
_LT_COMPILER_C_O([$1])
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
AC_MSG_CHECKING([if we can lock with hard links])
hard_links=yes
@@ -2038,8 +2123,8 @@ if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" !=
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ if test no = "$hard_links"; then
+ AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
need_locks=warn
fi
else
@@ -2066,8 +2151,8 @@ objdir=$lt_cv_objdir
_LT_DECL([], [objdir], [0],
[The name of the directory that contains temporary libtool files])dnl
m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
- [Define to the sub-directory in which libtool stores uninstalled libraries.])
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+ [Define to the sub-directory where libtool stores uninstalled libraries.])
])# _LT_CHECK_OBJDIR
@@ -2079,15 +2164,15 @@ m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
_LT_TAGVAR(hardcode_action, $1)=
if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
test -n "$_LT_TAGVAR(runpath_var, $1)" ||
- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+ test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
# We can hardcode non-existent directories.
- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+ test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
# Linking always hardcodes the temporary library directory.
_LT_TAGVAR(hardcode_action, $1)=relink
else
@@ -2101,12 +2186,12 @@ else
fi
AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+ test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
# Fast installation is not supported
enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
@@ -2130,7 +2215,7 @@ else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
- if test -n "$STRIP" ; then
+ if test -n "$STRIP"; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
@@ -2148,6 +2233,47 @@ _LT_DECL([], [striplib], [1])
])# _LT_CMD_STRIPLIB
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x@S|@2 in
+ x)
+ ;;
+ *:)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+ ;;
+ x:*)
+ eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+ ;;
+ *)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
# _LT_SYS_DYNAMIC_LINKER([TAG])
# -----------------------------
# PORTME Fill in your ld.so characteristics
@@ -2158,17 +2284,18 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_OBJDUMP])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
m4_if([$1],
[], [
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
case $lt_search_path_spec in
@@ -2184,28 +2311,35 @@ if test "$GCC" = yes; then
;;
esac
# Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
+ # and add multilib dir if necessary...
lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
test -d "$lt_sys_path" && \
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
for (lt_i = NF; lt_i > 0; lt_i--) {
if ($lt_i != "" && $lt_i != ".") {
if ($lt_i == "..") {
lt_count++;
} else {
if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
+ lt_foo = "/" $lt_i lt_foo;
} else {
lt_count--;
}
@@ -2219,7 +2353,7 @@ BEGIN {RS=" "; FS="/|\n";} {
# for these hosts.
case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
@@ -2228,7 +2362,7 @@ fi])
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -2245,14 +2379,17 @@ hardcode_into_libs=no
# flags to be left without arguments
need_version=unknown
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
aix[[4-9]]*)
@@ -2260,41 +2397,91 @@ aix[[4-9]]*)
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[[01]] | aix4.[[01]].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a[(]lib.so.V[)]'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
@@ -2304,18 +2491,18 @@ amigaos*)
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
@@ -2323,8 +2510,8 @@ beos*)
bsdi[[45]]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -2336,7 +2523,7 @@ bsdi[[45]]*)
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
@@ -2345,8 +2532,8 @@ cygwin* | mingw* | pw32* | cegcc*)
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
@@ -2362,17 +2549,17 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
@@ -2381,8 +2568,8 @@ m4_if([$1], [],[
*,cl*)
# Native MSVC
libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
@@ -2409,7 +2596,7 @@ m4_if([$1], [],[
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
- sys_lib_search_path_spec="$LIB"
+ sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -2422,8 +2609,8 @@ m4_if([$1], [],[
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
@@ -2436,7 +2623,7 @@ m4_if([$1], [],[
*)
# Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
@@ -2449,8 +2636,8 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -2463,8 +2650,8 @@ dgux*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -2482,12 +2669,13 @@ freebsd* | dragonfly*)
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
@@ -2512,26 +2700,15 @@ freebsd* | dragonfly*)
esac
;;
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -2549,14 +2726,15 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -2564,8 +2742,8 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
@@ -2574,8 +2752,8 @@ hpux9* | hpux10* | hpux11*)
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -2588,8 +2766,8 @@ interix[[3-9]]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -2600,7 +2778,7 @@ irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
@@ -2608,8 +2786,8 @@ irix5* | irix6* | nonstopux*)
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -2628,8 +2806,8 @@ irix5* | irix6* | nonstopux*)
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -2638,13 +2816,33 @@ linux*oldld* | linux*aout* | linux*coff*)
dynamic_linker=no
;;
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -2669,14 +2867,15 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
# before this can be enabled.
hardcode_into_libs=yes
- # Add ABI-specific directories to the system library path.
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2688,17 +2887,29 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -2708,7 +2919,7 @@ netbsd*)
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -2717,58 +2928,68 @@ newsos6)
version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
else
- shlibpath_overrides_runpath=yes
+ need_version=yes
fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
@@ -2779,8 +3000,8 @@ solaris*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -2790,11 +3011,11 @@ solaris*)
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
@@ -2802,8 +3023,8 @@ sunos4*)
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
@@ -2824,24 +3045,24 @@ sysv4 | sysv4.3*)
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
+ version_type=sco
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -2859,7 +3080,7 @@ tpf*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -2867,8 +3088,8 @@ tpf*)
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -2877,20 +3098,30 @@ uts4*)
;;
esac
AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
_LT_DECL([], [variables_saved_for_relink], [1],
[Variables whose values should be saved in libtool wrapper scripts and
restored at link time])
@@ -2923,39 +3154,41 @@ _LT_DECL([], [hardcode_into_libs], [0],
[Whether we should hardcode library paths into libraries])
_LT_DECL([], [sys_lib_search_path_spec], [2],
[Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
- [Run-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+ [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+ [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
])# _LT_SYS_DYNAMIC_LINKER
# _LT_PATH_TOOL_PREFIX(TOOL)
# --------------------------
-# find a file program which can recognize shared library
+# find a file program that can recognize shared library
AC_DEFUN([_LT_PATH_TOOL_PREFIX],
[m4_require([_LT_DECL_EGREP])dnl
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
[case $MAGIC_CMD in
[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word. This closes a longstanding sh security hole.
ac_dummy="m4_if([$2], , $PATH, [$2])"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -f "$ac_dir/$1"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -2978,11 +3211,11 @@ _LT_EOF
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
AC_MSG_RESULT($MAGIC_CMD)
else
@@ -3000,7 +3233,7 @@ dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
# _LT_PATH_MAGIC
# --------------
-# find a file program which can recognize a shared library
+# find a file program that can recognize a shared library
m4_defun([_LT_PATH_MAGIC],
[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -3027,16 +3260,16 @@ m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
AC_ARG_WITH([gnu-ld],
[AS_HELP_STRING([--with-gnu-ld],
[assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
+ [test no = "$withval" || with_gnu_ld=yes],
[with_gnu_ld=no])dnl
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by $CC])
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -3050,7 +3283,7 @@ if test "$GCC" = yes; then
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -3061,37 +3294,37 @@ if test "$GCC" = yes; then
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
AC_MSG_CHECKING([for GNU ld])
else
AC_MSG_CHECKING([for non-GNU ld])
fi
AC_CACHE_VAL(lt_cv_path_LD,
[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi])
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
AC_MSG_RESULT($LD)
else
@@ -3145,13 +3378,13 @@ esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
reload_cmds=false
fi
;;
darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
@@ -3162,6 +3395,43 @@ _LT_TAGDECL([], [reload_cmds], [2])dnl
])# _LT_CMD_RELOAD
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+ [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
# _LT_CHECK_MAGIC_METHOD
# ----------------------
# how to check for library dependencies
@@ -3177,13 +3447,13 @@ lt_cv_deplibs_check_method='unknown'
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
aix[[4-9]]*)
@@ -3210,8 +3480,7 @@ mingw* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ if ( file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -3247,10 +3516,6 @@ freebsd* | dragonfly*)
fi
;;
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3289,11 +3554,11 @@ irix5* | irix6* | nonstopux*)
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -3311,8 +3576,8 @@ newos6*)
lt_cv_deplibs_check_method=pass_all
;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
@@ -3365,6 +3630,9 @@ sysv4 | sysv4.3*)
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
])
@@ -3405,33 +3673,38 @@ AC_DEFUN([LT_PATH_NM],
AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
[if test -n "$NM"; then
# Let the user override the test.
- lt_cv_path_NM="$NM"
+ lt_cv_path_NM=$NM
else
- lt_nm_to_check="${ac_tool_prefix}nm"
+ lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
- break
+ break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
- break
+ break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -3442,21 +3715,21 @@ else
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi])
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
# Let the user override the test.
else
AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
- DUMPBIN="$DUMPBIN -symbols"
+ DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
@@ -3464,8 +3737,8 @@ else
esac
fi
AC_SUBST([DUMPBIN])
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
@@ -3511,8 +3784,8 @@ lt_cv_sharedlib_from_linklib_cmd,
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
*--identify-strict*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -3524,7 +3797,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
# fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
])
@@ -3551,13 +3824,28 @@ AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool
lt_cv_path_mainfest_tool=yes
fi
rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
])# _LT_PATH_MANIFEST_TOOL
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+ test DEF = "`$SED -n dnl
+ -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
+ -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
+ -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
+ -e q dnl Only consider the first "real" line
+ $1`" dnl
+])# _LT_DLL_DEF_P
+
+
# LT_LIB_M
# --------
# check for math library
@@ -3569,11 +3857,11 @@ case $host in
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
;;
*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
+ AC_CHECK_LIB(m, cos, LIBM=-lm)
;;
esac
AC_SUBST([LIBM])
@@ -3592,7 +3880,7 @@ m4_defun([_LT_COMPILER_NO_RTTI],
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $cc_basename in
nvcc*)
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
@@ -3644,7 +3932,7 @@ cygwin* | mingw* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]'
;;
hpux*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
symcode='[[ABCDEGRST]]'
fi
;;
@@ -3677,14 +3965,44 @@ case `$NM -V 2>&1` in
symcode='[[ABCDGIRSTW]]' ;;
esac
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
@@ -3702,21 +4020,24 @@ for ac_symprfx in "" "_"; do
# Write the raw and C identifiers.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx]"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -3756,11 +4077,11 @@ _LT_EOF
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT@&t@_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT@&t@_DLSYM_CONST
#else
@@ -3786,7 +4107,7 @@ lt__PROGRAM__LTX_preloaded_symbols[[]] =
{
{ "@PROGRAM@", (void *) 0 },
_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
cat <<\_LT_EOF >> conftest.$ac_ext
{0, (void *) 0}
};
@@ -3806,9 +4127,9 @@ _LT_EOF
mv conftest.$ac_objext conftstm.$ac_objext
lt_globsym_save_LIBS=$LIBS
lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
+ LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
pipe_works=yes
fi
LIBS=$lt_globsym_save_LIBS
@@ -3829,7 +4150,7 @@ _LT_EOF
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
+ if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
@@ -3856,12 +4177,16 @@ _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
[Take the output of nm and produce a listing of raw symbols and C names])
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
[Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+ [Transform the output of nm into a list of symbols to manually relocate])
_LT_DECL([global_symbol_to_c_name_address],
[lt_cv_sys_global_symbol_to_c_name_address], [1],
[Transform the output of nm in a C name address pair])
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
[lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
[Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+ [The name lister interface])
_LT_DECL([], [nm_file_list_spec], [1],
[Specify filename containing input files for $NM])
]) # _LT_CMD_GLOBAL_SYMBOLS
@@ -3877,17 +4202,18 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)=
m4_if([$1], [CXX], [
# C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
amigaos*)
@@ -3898,8 +4224,8 @@ m4_if([$1], [CXX], [
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -3915,6 +4241,11 @@ m4_if([$1], [CXX], [
# (--disable-auto-import) libraries
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
# PIC is the default on this platform
@@ -3964,7 +4295,7 @@ m4_if([$1], [CXX], [
case $host_os in
aix[[4-9]]*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
@@ -4005,14 +4336,14 @@ m4_if([$1], [CXX], [
case $cc_basename in
CC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ if test ia64 != "$host_cpu"; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
fi
;;
aCC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
@@ -4041,7 +4372,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -4049,7 +4380,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
ecpc* )
- # old Intel C++ for x86_64 which still supported -KPIC.
+ # old Intel C++ for x86_64, which still supported -KPIC.
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
@@ -4105,7 +4436,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4194,17 +4525,18 @@ m4_if([$1], [CXX], [
fi
],
[
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
amigaos*)
@@ -4215,8 +4547,8 @@ m4_if([$1], [CXX], [
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -4233,6 +4565,11 @@ m4_if([$1], [CXX], [
# (--disable-auto-import) libraries
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
@@ -4303,7 +4640,7 @@ m4_if([$1], [CXX], [
case $host_os in
aix*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
@@ -4311,11 +4648,30 @@ m4_if([$1], [CXX], [
fi
;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
hpux9* | hpux10* | hpux11*)
@@ -4331,7 +4687,7 @@ m4_if([$1], [CXX], [
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
@@ -4340,9 +4696,9 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
+ # old Intel for x86_64, which still supported -KPIC.
ecc*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
@@ -4367,6 +4723,12 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -4464,7 +4826,7 @@ m4_if([$1], [CXX], [
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
@@ -4493,7 +4855,7 @@ m4_if([$1], [CXX], [
fi
])
case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
+ # For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
@@ -4559,17 +4921,21 @@ m4_if([$1], [CXX], [
case $host_os in
aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global defined
- # symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
@@ -4582,6 +4948,9 @@ m4_if([$1], [CXX], [
;;
esac
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -4615,9 +4984,9 @@ m4_if([$1], [CXX], [
# included in the symbol list
_LT_TAGVAR(include_expsyms, $1)=
# exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
_LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
@@ -4633,7 +5002,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
@@ -4641,9 +5010,12 @@ dnl Note also adjust exclude_expsyms for C++ above.
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
- openbsd*)
+ openbsd* | bitrig*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4651,7 +5023,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
# On some targets, GNU ld is compatible enough with the native linker
# that we're better off using the native interface for both.
lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
case $host_os in
aix*)
# The AIX port of GNU ld has always aspired to compatibility
@@ -4673,24 +5045,24 @@ dnl Note also adjust exclude_expsyms for C++ above.
esac
fi
- if test "$lt_use_gnu_ld_interface" = yes; then
+ if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+ wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
supports_anon_versioning=no
- case `$LD -v 2>&1` in
+ case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -4703,7 +5075,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
case $host_os in
aix[[3-9]]*)
# On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
+ if test ia64 != "$host_cpu"; then
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
@@ -4722,7 +5094,7 @@ _LT_EOF
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)=''
;;
m68k)
@@ -4738,7 +5110,7 @@ _LT_EOF
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4748,7 +5120,7 @@ _LT_EOF
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -4756,61 +5128,89 @@ _LT_EOF
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
+ if test linux-dietlibc = "$host_os"; then
case $cc_basename in
diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
esac
fi
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
+ && test no = "$tmp_diet"
then
tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
@@ -4821,42 +5221,47 @@ _LT_EOF
lf95*) # Lahey Fortran 8.1
_LT_TAGVAR(whole_archive_flag_spec, $1)=
tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
esac
- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
+ tcc*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+ ;;
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
@@ -4865,13 +5270,13 @@ _LT_EOF
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
@@ -4889,8 +5294,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4902,7 +5307,7 @@ _LT_EOF
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
*** reliably create shared libraries on SCO systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
@@ -4917,9 +5322,9 @@ _LT_EOF
# DT_RUNPATH tag from executables and libraries. But doing so
# requires that you compile everything twice, which is a pain.
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4936,15 +5341,15 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
runpath_var=
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
@@ -4960,7 +5365,7 @@ _LT_EOF
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
_LT_TAGVAR(hardcode_direct, $1)=unsupported
@@ -4968,34 +5373,57 @@ _LT_EOF
;;
aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
aix_use_runtimelinking=yes
break
fi
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -5014,13 +5442,21 @@ _LT_EOF
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -5039,61 +5475,80 @@ _LT_EOF
;;
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
_LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
_LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
_LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -5102,7 +5557,7 @@ _LT_EOF
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)=''
;;
m68k)
@@ -5132,16 +5587,17 @@ _LT_EOF
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -5150,18 +5606,18 @@ _LT_EOF
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# Assume MSVC wrapper
@@ -5170,7 +5626,7 @@ _LT_EOF
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
@@ -5220,33 +5676,33 @@ _LT_EOF
;;
hpux9*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
;;
hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5254,25 +5710,25 @@ _LT_EOF
;;
hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ if test yes,no = "$GCC,$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
m4_if($1, [], [
@@ -5280,14 +5736,14 @@ _LT_EOF
# (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
_LT_LINKER_OPTION([if $CC understands -b],
_LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
[_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
;;
esac
fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
@@ -5298,7 +5754,7 @@ _LT_EOF
*)
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -5309,16 +5765,16 @@ _LT_EOF
;;
irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
# This should be the same for all languages, so no per-tag cache variable.
AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
[lt_cv_irix_exported_symbol],
- [save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ [save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
AC_LINK_IFELSE(
[AC_LANG_SOURCE(
[AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
@@ -5331,22 +5787,33 @@ _LT_EOF
end]])])],
[lt_cv_irix_exported_symbol=yes],
[lt_cv_irix_exported_symbol=no])
- LDFLAGS="$save_LDFLAGS"])
- if test "$lt_cv_irix_exported_symbol" = yes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ LDFLAGS=$save_LDFLAGS])
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(inherit_rpath, $1)=yes
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
- netbsd*)
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -5360,7 +5827,7 @@ _LT_EOF
newsos6)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
@@ -5368,27 +5835,19 @@ _LT_EOF
*nto* | *qnx*)
;;
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
fi
else
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -5399,33 +5858,53 @@ _LT_EOF
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
osf3*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5436,24 +5915,24 @@ _LT_EOF
solaris*)
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
wlarc=''
- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
;;
*)
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
@@ -5463,11 +5942,11 @@ _LT_EOF
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
# but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
fi
@@ -5477,10 +5956,10 @@ _LT_EOF
;;
sunos4*)
- if test "x$host_vendor" = xsequent; then
+ if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -5529,43 +6008,43 @@ _LT_EOF
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -5580,17 +6059,17 @@ _LT_EOF
;;
esac
- if test x$host_vendor = xsni; then
+ if test sni = "$host_vendor"; then
case $host in
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
;;
esac
fi
fi
])
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
@@ -5607,7 +6086,7 @@ x|xyes)
# Assume -lc should be added
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
+ if test yes,yes = "$GCC,$enable_shared"; then
case $_LT_TAGVAR(archive_cmds, $1) in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
@@ -5687,12 +6166,12 @@ _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
_LT_TAGDECL([], [hardcode_libdir_separator], [1],
[Whether we need a single "-rpath" flag with a separated argument])
_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary])
_LT_TAGDECL([], [hardcode_direct_absolute], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ "absolute", i.e impossible to change by setting $shlibpath_var if the
library is relocated])
_LT_TAGDECL([], [hardcode_minus_L], [0],
[Set to "yes" if using the -LDIR flag during linking hardcodes DIR
@@ -5733,10 +6212,10 @@ dnl [Compiler flag to generate thread safe objects])
# ------------------------
# Ensure that the configuration variables for a C compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_C_CONFIG],
[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
+lt_save_CC=$CC
AC_LANG_PUSH(C)
# Source file extension for C test sources.
@@ -5776,18 +6255,18 @@ if test -n "$compiler"; then
LT_SYS_DLOPEN_SELF
_LT_CMD_STRIPLIB
- # Report which library types will actually be built
+ # Report what library types will actually be built
AC_MSG_CHECKING([if libtool supports shared libraries])
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
@@ -5795,8 +6274,12 @@ if test -n "$compiler"; then
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -5804,13 +6287,13 @@ if test -n "$compiler"; then
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
_LT_CONFIG($1)
fi
AC_LANG_POP
-CC="$lt_save_CC"
+CC=$lt_save_CC
])# _LT_LANG_C_CONFIG
@@ -5818,14 +6301,14 @@ CC="$lt_save_CC"
# --------------------------
# Ensure that the configuration variables for a C++ compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_CXX_CONFIG],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
+if test -n "$CXX" && ( test no != "$CXX" &&
+ ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+ (test g++ != "$CXX"))); then
AC_PROG_CXXCPP
else
_lt_caught_CXX_error=yes
@@ -5867,7 +6350,7 @@ _LT_TAGVAR(objext, $1)=$objext
# the CXX compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
+if test yes != "$_lt_caught_CXX_error"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="int some_variable = 0;"
@@ -5909,35 +6392,35 @@ if test "$_lt_caught_CXX_error" != yes; then
if test -n "$compiler"; then
# We don't want -fno-exception when compiling C++ code, so set the
# no_builtin_flag separately
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
else
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
fi
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
# Set up default GNU C++ configuration
LT_PATH_LD
# Check if GNU C++ uses GNU ld as the underlying linker, since the
# archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ if test yes = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# If archive_cmds runs LD, not CC, wlarc should be empty
# XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
# investigate it a little bit more. (MM)
- wlarc='${wl}'
+ wlarc='$wl'
# ancient GNU ld didn't support --whole-archive et. al.
if eval "`$CC -print-prog-name=ld` --help 2>&1" |
$GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
@@ -5973,18 +6456,30 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
@@ -5994,6 +6489,13 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
esac
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -6012,13 +6514,21 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -6036,64 +6546,84 @@ if test "$_lt_caught_CXX_error" != yes; then
fi
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag=$shared_flag' $wl-G'
fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to
# export.
_LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # The "-G" linker flag allows undefined symbols.
+ _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
# Determine the default libpath from the value encoded in an empty
# executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
_LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
_LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared
- # libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared
+ # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -6103,7 +6633,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -6131,57 +6661,58 @@ if test "$_lt_caught_CXX_error" != yes; then
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- func_to_tool_file "$lt_outputfile"~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# g++
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -6192,6 +6723,34 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_DARWIN_LINKER_FEATURES($1)
;;
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
dgux*)
case $cc_basename in
ec++*)
@@ -6226,18 +6785,15 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
- gnu*)
- ;;
-
haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
hpux9*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
# but as the default
@@ -6249,7 +6805,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aCC*)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -6258,11 +6814,11 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -6272,15 +6828,15 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
hppa*64*|ia64*)
;;
*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
;;
esac
fi
@@ -6306,13 +6862,13 @@ if test "$_lt_caught_CXX_error" != yes; then
aCC*)
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
# Commands to make compiler produce verbose output that lists
@@ -6323,20 +6879,20 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
fi
@@ -6351,22 +6907,22 @@ if test "$_lt_caught_CXX_error" != yes; then
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
irix5* | irix6*)
case $cc_basename in
CC*)
# SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
# Archives containing C++ object files must be created using
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
@@ -6375,22 +6931,22 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
;;
*)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -6398,8 +6954,8 @@ if test "$_lt_caught_CXX_error" != yes; then
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -6408,10 +6964,10 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# Archives containing C++ object files must be created using
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
@@ -6425,59 +6981,59 @@ if test "$_lt_caught_CXX_error" != yes; then
# earlier do not add the objects themselves.
case `$CC -V 2>&1` in
*"Version 7."*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 8.0 or newer
tmp_idyn=
case $host_cpu in
ia64*) tmp_idyn=' -i_dynamic';;
esac
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
case `$CC -V` in
*pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
_LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
_LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- $RANLIB $oldlib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
_LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 6 and above use weak symbols
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
;;
cxx*)
# Compaq C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
runpath_var=LD_RUN_PATH
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -6491,18 +7047,18 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
;;
xl* | mpixl* | bgxl*)
# IBM XL 8.0 on PPC, with GNU ld
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
;;
*)
@@ -6510,10 +7066,10 @@ if test "$_lt_caught_CXX_error" != yes; then
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
# Not sure whether something based on
@@ -6571,22 +7127,17 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
fi
output_verbose_link_cmd=func_echo_all
else
@@ -6602,9 +7153,9 @@ if test "$_lt_caught_CXX_error" != yes; then
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Archives containing C++ object files must be created using
@@ -6622,17 +7173,17 @@ if test "$_lt_caught_CXX_error" != yes; then
cxx*)
case $host in
osf3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;;
*)
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
- $RM $lib.exp'
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+ $RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
;;
esac
@@ -6647,21 +7198,21 @@ if test "$_lt_caught_CXX_error" != yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
case $host in
osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Commands to make compiler produce verbose output that lists
@@ -6707,9 +7258,9 @@ if test "$_lt_caught_CXX_error" != yes; then
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -6717,7 +7268,7 @@ if test "$_lt_caught_CXX_error" != yes; then
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
+ # but understands '-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
;;
@@ -6734,30 +7285,30 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
gcx*)
# Green Hills C++ Compiler
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
# The C++ compiler must be used to create the archive.
_LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
;;
*)
# GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
@@ -6765,11 +7316,11 @@ if test "$_lt_caught_CXX_error" != yes; then
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
;;
esac
fi
@@ -6778,52 +7329,52 @@ if test "$_lt_caught_CXX_error" != yes; then
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
- '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
_LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
- '"$_LT_TAGVAR(reload_cmds, $1)"
+ '"$_LT_TAGVAR(reload_cmds, $1)"
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
@@ -6854,10 +7405,10 @@ if test "$_lt_caught_CXX_error" != yes; then
esac
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+ test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
- _LT_TAGVAR(GCC, $1)="$GXX"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$GXX
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -6884,7 +7435,7 @@ if test "$_lt_caught_CXX_error" != yes; then
lt_cv_path_LD=$lt_save_path_LD
lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
+fi # test yes != "$_lt_caught_CXX_error"
AC_LANG_POP
])# _LT_LANG_CXX_CONFIG
@@ -6906,13 +7457,14 @@ AC_REQUIRE([_LT_DECL_SED])
AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
func_stripname_cnf ()
{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ case @S|@2 in
+ .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+ *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
esac
} # func_stripname_cnf
])# _LT_FUNC_STRIPNAME_CNF
+
# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
# ---------------------------------
# Figure out "hidden" library dependencies from verbose
@@ -6996,13 +7548,13 @@ if AC_TRY_EVAL(ac_compile); then
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
- case ${prev}${p} in
+ case $prev$p in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
+ if test x-L = "$p" ||
+ test x-R = "$p"; then
prev=$p
continue
fi
@@ -7018,16 +7570,16 @@ if AC_TRY_EVAL(ac_compile); then
case $p in
=*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
esac
- if test "$pre_test_object_deps_done" = no; then
- case ${prev} in
+ if test no = "$pre_test_object_deps_done"; then
+ case $prev in
-L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
else
- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
fi
;;
# The "-l" case would never come before the object being
@@ -7035,9 +7587,9 @@ if AC_TRY_EVAL(ac_compile); then
esac
else
if test -z "$_LT_TAGVAR(postdeps, $1)"; then
- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ _LT_TAGVAR(postdeps, $1)=$prev$p
else
- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
fi
fi
prev=
@@ -7052,15 +7604,15 @@ if AC_TRY_EVAL(ac_compile); then
continue
fi
- if test "$pre_test_object_deps_done" = no; then
+ if test no = "$pre_test_object_deps_done"; then
if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
- _LT_TAGVAR(predep_objects, $1)="$p"
+ _LT_TAGVAR(predep_objects, $1)=$p
else
_LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
fi
else
if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
- _LT_TAGVAR(postdep_objects, $1)="$p"
+ _LT_TAGVAR(postdep_objects, $1)=$p
else
_LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
fi
@@ -7091,51 +7643,6 @@ interix[[3-9]]*)
_LT_TAGVAR(postdep_objects,$1)=
_LT_TAGVAR(postdeps,$1)=
;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
-
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
esac
])
@@ -7144,7 +7651,7 @@ case " $_LT_TAGVAR(postdeps, $1) " in
esac
_LT_TAGVAR(compiler_lib_search_dirs, $1)=
if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
fi
_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
[The directories searched by this compiler when creating a shared library])
@@ -7164,10 +7671,10 @@ _LT_TAGDECL([], [compiler_lib_search_path], [1],
# --------------------------
# Ensure that the configuration variables for a Fortran 77 compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_F77_CONFIG],
[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
+if test -z "$F77" || test no = "$F77"; then
_lt_disable_F77=yes
fi
@@ -7204,7 +7711,7 @@ _LT_TAGVAR(objext, $1)=$objext
# the F77 compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
+if test yes != "$_lt_disable_F77"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="\
subroutine t
@@ -7226,7 +7733,7 @@ if test "$_lt_disable_F77" != yes; then
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
+ lt_save_CC=$CC
lt_save_GCC=$GCC
lt_save_CFLAGS=$CFLAGS
CC=${F77-"f77"}
@@ -7240,21 +7747,25 @@ if test "$_lt_disable_F77" != yes; then
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -7262,11 +7773,11 @@ if test "$_lt_disable_F77" != yes; then
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
- _LT_TAGVAR(GCC, $1)="$G77"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$G77
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -7283,9 +7794,9 @@ if test "$_lt_disable_F77" != yes; then
fi # test -n "$compiler"
GCC=$lt_save_GCC
- CC="$lt_save_CC"
- CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
AC_LANG_POP
])# _LT_LANG_F77_CONFIG
@@ -7295,11 +7806,11 @@ AC_LANG_POP
# -------------------------
# Ensure that the configuration variables for a Fortran compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_FC_CONFIG],
[AC_LANG_PUSH(Fortran)
-if test -z "$FC" || test "X$FC" = "Xno"; then
+if test -z "$FC" || test no = "$FC"; then
_lt_disable_FC=yes
fi
@@ -7336,7 +7847,7 @@ _LT_TAGVAR(objext, $1)=$objext
# the FC compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
+if test yes != "$_lt_disable_FC"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="\
subroutine t
@@ -7358,7 +7869,7 @@ if test "$_lt_disable_FC" != yes; then
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
+ lt_save_CC=$CC
lt_save_GCC=$GCC
lt_save_CFLAGS=$CFLAGS
CC=${FC-"f95"}
@@ -7374,21 +7885,25 @@ if test "$_lt_disable_FC" != yes; then
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -7396,11 +7911,11 @@ if test "$_lt_disable_FC" != yes; then
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -7420,7 +7935,7 @@ if test "$_lt_disable_FC" != yes; then
GCC=$lt_save_GCC
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
+fi # test yes != "$_lt_disable_FC"
AC_LANG_POP
])# _LT_LANG_FC_CONFIG
@@ -7430,7 +7945,7 @@ AC_LANG_POP
# --------------------------
# Ensure that the configuration variables for the GNU Java Compiler compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_GCJ_CONFIG],
[AC_REQUIRE([LT_PROG_GCJ])dnl
AC_LANG_SAVE
@@ -7464,7 +7979,7 @@ CC=${GCJ-"gcj"}
CFLAGS=$GCJFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
_LT_CC_BASENAME([$compiler])
# GCJ did not exist at the time GCC didn't implicitly link libc in.
@@ -7501,7 +8016,7 @@ CFLAGS=$lt_save_CFLAGS
# --------------------------
# Ensure that the configuration variables for the GNU Go compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_GO_CONFIG],
[AC_REQUIRE([LT_PROG_GO])dnl
AC_LANG_SAVE
@@ -7535,7 +8050,7 @@ CC=${GOC-"gccgo"}
CFLAGS=$GOFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
_LT_CC_BASENAME([$compiler])
# Go did not exist at the time GCC didn't implicitly link libc in.
@@ -7572,7 +8087,7 @@ CFLAGS=$lt_save_CFLAGS
# -------------------------
# Ensure that the configuration variables for the Windows resource compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_RC_CONFIG],
[AC_REQUIRE([LT_PROG_RC])dnl
AC_LANG_SAVE
@@ -7588,7 +8103,7 @@ _LT_TAGVAR(objext, $1)=$objext
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
+lt_simple_link_test_code=$lt_simple_compile_test_code
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
@@ -7598,7 +8113,7 @@ _LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
+lt_save_CC=$CC
lt_save_CFLAGS=$CFLAGS
lt_save_GCC=$GCC
GCC=
@@ -7627,7 +8142,7 @@ AC_DEFUN([LT_PROG_GCJ],
[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
[m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
[AC_CHECK_TOOL(GCJ, gcj,)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
AC_SUBST(GCJFLAGS)])])[]dnl
])
@@ -7738,7 +8253,7 @@ lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
# along with /bin/sed that truncates output.
for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
+ test ! -f "$lt_ac_sed" && continue
cat /dev/null > conftest.in
lt_ac_count=0
echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -7755,9 +8270,9 @@ for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
$lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
cmp -s conftest.out conftest.nl || break
# 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
+ test 10 -lt "$lt_ac_count" && break
lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
+ if test "$lt_ac_count" -gt "$lt_ac_max"; then
lt_ac_max=$lt_ac_count
lt_cv_path_SED=$lt_ac_sed
fi
@@ -7781,27 +8296,7 @@ dnl AC_DEFUN([LT_AC_PROG_SED], [])
# Find out whether the shell is Bourne or XSI compatible,
# or has some other useful features.
m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
lt_unset=unset
else
lt_unset=false
@@ -7825,102 +8320,9 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
])# _LT_CHECK_SHELL_FEATURES
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
-} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
- func_split_long_opt_name=${1%%=*}
- func_split_long_opt_arg=${1#*=}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
- func_split_short_opt_arg=${1#??}
- func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
-
- _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
-
- _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
- func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
- eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
# _LT_PATH_CONVERSION_FUNCTIONS
# -----------------------------
-# Determine which file name conversion functions should be used by
+# Determine what file name conversion functions should be used by
# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
# for certain cross-compile configurations and native mingw.
m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 5d9acd8e..94b08297 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,14 +1,14 @@
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 7 ltoptions.m4
+# serial 8 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -29,7 +29,7 @@ m4_define([_LT_SET_OPTION],
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
_LT_MANGLE_DEFUN([$1], [$2]),
- [m4_warning([Unknown $1 option `$2'])])[]dnl
+ [m4_warning([Unknown $1 option '$2'])])[]dnl
])
@@ -75,13 +75,15 @@ m4_if([$1],[LT_INIT],[
dnl
dnl If no reference was made to various pairs of opposing options, then
dnl we run the default mode handler for the pair. For example, if neither
- dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
dnl archives by default:
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
+ [_LT_ENABLE_FAST_INSTALL])
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+ [_LT_WITH_AIX_SONAME([aix])])
])
])# _LT_SET_OPTIONS
@@ -112,7 +114,7 @@ AU_DEFUN([AC_LIBTOOL_DLOPEN],
[_LT_SET_OPTION([LT_INIT], [dlopen])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
+put the 'dlopen' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -148,7 +150,7 @@ AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
_LT_SET_OPTION([LT_INIT], [win32-dll])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
+put the 'win32-dll' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -157,9 +159,9 @@ dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
# _LT_ENABLE_SHARED([DEFAULT])
# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_SHARED],
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([shared],
@@ -172,14 +174,14 @@ AC_ARG_ENABLE([shared],
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
@@ -211,9 +213,9 @@ dnl AC_DEFUN([AM_DISABLE_SHARED], [])
# _LT_ENABLE_STATIC([DEFAULT])
# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_STATIC],
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([static],
@@ -226,14 +228,14 @@ AC_ARG_ENABLE([static],
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
@@ -265,9 +267,9 @@ dnl AC_DEFUN([AM_DISABLE_STATIC], [])
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_FAST_INSTALL],
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([fast-install],
@@ -280,14 +282,14 @@ AC_ARG_ENABLE([fast-install],
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
@@ -304,14 +306,14 @@ AU_DEFUN([AC_ENABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
+the 'fast-install' option into LT_INIT's first parameter.])
])
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
+the 'disable-fast-install' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -319,11 +321,64 @@ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
+ AC_ARG_WITH([aix-soname],
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+ [case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname],
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+ with_aix_soname=$lt_cv_with_aix_soname])
+ AC_MSG_RESULT([$with_aix_soname])
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
# _LT_WITH_PIC([MODE])
# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
# LT_INIT options.
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
@@ -334,19 +389,17 @@ m4_define([_LT_WITH_PIC],
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
- [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+ [pic_mode=m4_default([$1], [default])])
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC
@@ -359,7 +412,7 @@ AU_DEFUN([AC_LIBTOOL_PICMODE],
[_LT_SET_OPTION([LT_INIT], [pic-only])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
+put the 'pic-only' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
index 9000a057..48bc9344 100644
--- a/m4/ltsugar.m4
+++ b/m4/ltsugar.m4
@@ -1,6 +1,7 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -33,7 +34,7 @@ m4_define([_lt_join],
# ------------
# Manipulate m4 lists.
# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
+# Autoconf-2.59, which quotes differently.
m4_define([lt_car], [[$1]])
m4_define([lt_cdr],
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
@@ -44,7 +45,7 @@ m4_define([lt_unquote], $1)
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
# Note that neither SEPARATOR nor STRING are expanded; they are appended
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index 07a8602d..fa04b52a 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -1,6 +1,6 @@
# ltversion.m4 -- version numbers -*- Autoconf -*-
#
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
# Written by Scott James Remnant, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
# @configure_input@
-# serial 3337 ltversion.m4
+# serial 4179 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4.2])
-m4_define([LT_PACKAGE_REVISION], [1.3337])
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2'
-macro_revision='1.3337'
+[macro_version='2.4.6'
+macro_revision='2.4.6'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index c573da90..c6b26f88 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,6 +1,7 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
@@ -11,7 +12,7 @@
# These exist entirely to fool aclocal when bootstrapping libtool.
#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
# which have later been changed to m4_define as they aren't part of the
# exported API, or moved to Autoconf or Automake where they belong.
#
@@ -25,7 +26,7 @@
# included after everything else. This provides aclocal with the
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
#
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
# Yes, that means every name once taken will need to remain here until
diff --git a/scannerlexer.c b/scannerlexer.c
index 90ad80bf..41018013 100644
--- a/scannerlexer.c
+++ b/scannerlexer.c
@@ -7,8 +7,8 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 37
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 0
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -141,7 +141,15 @@ typedef unsigned int flex_uint32_t;
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
@@ -167,6 +175,7 @@ extern FILE *yyin, *yyout;
#define EOB_ACT_LAST_MATCH 2
#define YY_LESS_LINENO(n)
+ #define YY_LINENO_REWIND_TO(ptr)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
@@ -201,7 +210,7 @@ struct yy_buffer_state
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- yy_size_t yy_n_chars;
+ int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
@@ -271,7 +280,7 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
-static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
yy_size_t yyleng;
/* Points to current character in buffer. */
@@ -343,11 +352,17 @@ extern int yylineno;
int yylineno = 1;
extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
#define yytext_ptr yytext
static yy_state_type yy_get_previous_state (void );
static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
static int yy_get_next_buffer (void );
+#if defined(__GNUC__) && __GNUC__ >= 3
+__attribute__((__noreturn__))
+#endif
static void yy_fatal_error (yyconst char msg[] );
/* Done after the current pattern has been matched and before the
@@ -558,7 +573,7 @@ static yyconst flex_int16_t yy_accept[678] =
978, 978, 978, 978, 978, 979, 979
} ;
-static yyconst flex_int32_t yy_ec[256] =
+static yyconst YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
@@ -590,7 +605,7 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_meta[85] =
+static yyconst YY_CHAR yy_meta[85] =
{ 0,
1, 2, 3, 1, 2, 1, 1, 1, 1, 1,
1, 4, 1, 1, 1, 5, 1, 1, 1, 6,
@@ -603,7 +618,7 @@ static yyconst flex_int32_t yy_meta[85] =
1, 1, 1, 1
} ;
-static yyconst flex_int16_t yy_base[704] =
+static yyconst flex_uint16_t yy_base[704] =
{ 0,
0, 0, 1173, 1174, 83, 0, 1141, 79, 84, 59,
82, 82, 1174, 1174, 1140, 79, 1174, 80, 78, 95,
@@ -767,7 +782,7 @@ static yyconst flex_int16_t yy_def[704] =
676, 676, 676
} ;
-static yyconst flex_int16_t yy_nxt[1259] =
+static yyconst flex_uint16_t yy_nxt[1259] =
{ 0,
4, 5, 6, 5, 5, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
@@ -1130,7 +1145,7 @@ static void process_linemarks (GISourceScanner *scanner, gboolean has_line);
static int check_identifier (GISourceScanner *scanner, const char *);
static int parse_ignored_macro (void);
static void print_error (GISourceScanner *scanner);
-#line 1134 "scannerlexer.c"
+#line 1149 "scannerlexer.c"
#define INITIAL 0
@@ -1163,11 +1178,11 @@ void yyset_extra (YY_EXTRA_TYPE user_defined );
FILE *yyget_in (void );
-void yyset_in (FILE * in_str );
+void yyset_in (FILE * _in_str );
FILE *yyget_out (void );
-void yyset_out (FILE * out_str );
+void yyset_out (FILE * _out_str );
yy_size_t yyget_leng (void );
@@ -1175,7 +1190,7 @@ char *yyget_text (void );
int yyget_lineno (void );
-void yyset_lineno (int line_number );
+void yyset_lineno (int _line_number );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -1189,6 +1204,10 @@ extern int yywrap (void );
#endif
#endif
+#ifndef YY_NO_UNPUT
+
+#endif
+
#ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int );
#endif
@@ -1209,7 +1228,12 @@ static int input (void );
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
@@ -1296,7 +1320,7 @@ extern int yylex (void);
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
-#define YY_BREAK break;
+#define YY_BREAK /*LINTED*/break;
#endif
#define YY_RULE_SETUP \
@@ -1306,15 +1330,10 @@ extern int yylex (void);
*/
YY_DECL
{
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
-#line 73 "giscanner/scannerlexer.l"
-
-
-#line 1317 "scannerlexer.c"
-
if ( !(yy_init) )
{
(yy_init) = 1;
@@ -1347,7 +1366,13 @@ YY_DECL
yy_load_buffer_state( );
}
- while ( 1 ) /* loops until end-of-file is reached */
+ {
+#line 73 "giscanner/scannerlexer.l"
+
+
+#line 1374 "scannerlexer.c"
+
+ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
yy_cp = (yy_c_buf_p);
@@ -1367,7 +1392,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
@@ -1456,67 +1481,67 @@ case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
#line 91 "giscanner/scannerlexer.l"
-{ return IFDEF_GI_SCANNER; }
+{ ++lineno; return IFDEF_GI_SCANNER; }
YY_BREAK
case 10:
/* rule 10 can match eol */
YY_RULE_SETUP
#line 92 "giscanner/scannerlexer.l"
-{ return IFNDEF_GI_SCANNER; }
+{ ++lineno; return IFNDEF_GI_SCANNER; }
YY_BREAK
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
#line 93 "giscanner/scannerlexer.l"
-{ return IFNDEF_COND; }
+{ ++lineno; return IFNDEF_COND; }
YY_BREAK
case 12:
/* rule 12 can match eol */
YY_RULE_SETUP
#line 94 "giscanner/scannerlexer.l"
-{ return IFDEF_COND; }
+{ ++lineno; return IFDEF_COND; }
YY_BREAK
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
#line 95 "giscanner/scannerlexer.l"
-{ return IF_COND; }
+{ ++lineno; return IF_COND; }
YY_BREAK
case 14:
/* rule 14 can match eol */
YY_RULE_SETUP
#line 96 "giscanner/scannerlexer.l"
-{ return ELIF_COND; }
+{ ++lineno; return ELIF_COND; }
YY_BREAK
case 15:
/* rule 15 can match eol */
YY_RULE_SETUP
#line 97 "giscanner/scannerlexer.l"
-{ return ELSE_COND; }
+{ ++lineno; return ELSE_COND; }
YY_BREAK
case 16:
/* rule 16 can match eol */
YY_RULE_SETUP
#line 98 "giscanner/scannerlexer.l"
-{ return ENDIF_COND; }
+{ ++lineno; return ENDIF_COND; }
YY_BREAK
case 17:
/* rule 17 can match eol */
YY_RULE_SETUP
#line 99 "giscanner/scannerlexer.l"
-{ /* Ignore pragma. */ }
+{ ++lineno; /* Ignore pragma. */ }
YY_BREAK
case 18:
/* rule 18 can match eol */
YY_RULE_SETUP
#line 101 "giscanner/scannerlexer.l"
-{ process_linemarks(scanner, FALSE); }
+{ ++lineno; process_linemarks(scanner, FALSE); }
YY_BREAK
case 19:
/* rule 19 can match eol */
YY_RULE_SETUP
#line 102 "giscanner/scannerlexer.l"
-{ process_linemarks(scanner, TRUE); }
+{ ++lineno; process_linemarks(scanner, TRUE); }
YY_BREAK
case 20:
YY_RULE_SETUP
@@ -1882,7 +1907,7 @@ case 92:
/* rule 92 can match eol */
YY_RULE_SETUP
#line 176 "giscanner/scannerlexer.l"
-{ /* Ignore */ }
+{ ++lineno; /* Ignore */ }
YY_BREAK
case 93:
YY_RULE_SETUP
@@ -2213,7 +2238,7 @@ YY_RULE_SETUP
#line 253 "giscanner/scannerlexer.l"
ECHO;
YY_BREAK
-#line 2217 "scannerlexer.c"
+#line 2242 "scannerlexer.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -2344,6 +2369,7 @@ ECHO;
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
+ } /* end of user's declarations */
} /* end of yylex */
/* yy_get_next_buffer - try to read in a new buffer
@@ -2355,9 +2381,9 @@ ECHO;
*/
static int yy_get_next_buffer (void)
{
- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- register char *source = (yytext_ptr);
- register int number_to_move, i;
+ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ char *source = (yytext_ptr);
+ yy_size_t number_to_move, i;
int ret_val;
if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
@@ -2386,7 +2412,7 @@ static int yy_get_next_buffer (void)
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+ number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -2439,9 +2465,9 @@ static int yy_get_next_buffer (void)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
- yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
@@ -2460,8 +2486,8 @@ static int yy_get_next_buffer (void)
static yy_state_type yy_get_previous_state (void)
{
- register yy_state_type yy_current_state;
- register char *yy_cp;
+ yy_state_type yy_current_state;
+ char *yy_cp;
yy_current_state = (yy_start);
@@ -2470,7 +2496,7 @@ static int yy_get_next_buffer (void)
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
{
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
@@ -2491,9 +2517,9 @@ static int yy_get_next_buffer (void)
*/
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
{
- register int yy_is_jam;
+ int yy_is_jam;
- register YY_CHAR yy_c = 1;
+ YY_CHAR yy_c = 1;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
@@ -2508,6 +2534,10 @@ static int yy_get_next_buffer (void)
return yy_is_jam ? 0 : yy_current_state;
}
+#ifndef YY_NO_UNPUT
+
+#endif
+
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput (void)
@@ -2657,7 +2687,7 @@ static void yy_load_buffer_state (void)
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
- b->yy_buf_size = size;
+ b->yy_buf_size = (yy_size_t)size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
@@ -2812,7 +2842,7 @@ static void yyensure_buffer_stack (void)
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1;
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
);
@@ -2829,7 +2859,7 @@ static void yyensure_buffer_stack (void)
if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
/* Increase the buffer to prepare for a possible push. */
- int grow_size = 8 /* arbitrary grow size */;
+ yy_size_t grow_size = 8 /* arbitrary grow size */;
num_to_alloc = (yy_buffer_stack_max) + grow_size;
(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
@@ -2906,7 +2936,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
- int i;
+ yy_size_t i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = _yybytes_len + 2;
@@ -2937,7 +2967,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
static void yy_fatal_error (yyconst char* msg )
{
- (void) fprintf( stderr, "%s\n", msg );
+ (void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
@@ -3003,29 +3033,29 @@ char *yyget_text (void)
}
/** Set the current line number.
- * @param line_number
+ * @param _line_number line number
*
*/
-void yyset_lineno (int line_number )
+void yyset_lineno (int _line_number )
{
- yylineno = line_number;
+ yylineno = _line_number;
}
/** Set the input stream. This does not discard the current
* input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
*
* @see yy_switch_to_buffer
*/
-void yyset_in (FILE * in_str )
+void yyset_in (FILE * _in_str )
{
- yyin = in_str ;
+ yyin = _in_str ;
}
-void yyset_out (FILE * out_str )
+void yyset_out (FILE * _out_str )
{
- yyout = out_str ;
+ yyout = _out_str ;
}
int yyget_debug (void)
@@ -3033,9 +3063,9 @@ int yyget_debug (void)
return yy_flex_debug;
}
-void yyset_debug (int bdebug )
+void yyset_debug (int _bdebug )
{
- yy_flex_debug = bdebug ;
+ yy_flex_debug = _bdebug ;
}
static int yy_init_globals (void)
@@ -3103,7 +3133,8 @@ int yylex_destroy (void)
#ifndef yytext_ptr
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
{
- register int i;
+
+ int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
@@ -3112,7 +3143,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
#ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * s )
{
- register int n;
+ int n;
for ( n = 0; s[n]; ++n )
;
@@ -3122,11 +3153,12 @@ static int yy_flex_strlen (yyconst char * s )
void *yyalloc (yy_size_t size )
{
- return (void *) malloc( size );
+ return (void *) malloc( size );
}
void *yyrealloc (void * ptr, yy_size_t size )
{
+
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
@@ -3139,7 +3171,7 @@ void *yyrealloc (void * ptr, yy_size_t size )
void yyfree (void * ptr )
{
- free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
+ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
}
#define YYTABLES_NAME "yytables"
diff --git a/scannerparser.c b/scannerparser.c
index 299ba711..a1417b29 100644
--- a/scannerparser.c
+++ b/scannerparser.c
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.7"
+#define YYBISON_VERSION "3.0.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -62,8 +62,7 @@
/* Copy the first part of user declarations. */
-/* Line 371 of yacc.c */
-#line 29 "giscanner/scannerparser.y"
+#line 29 "giscanner/scannerparser.y" /* yacc.c:339 */
#include <stdio.h>
#include <stdlib.h>
@@ -245,14 +244,13 @@ toggle_conditional (GISourceScanner *scanner)
}
-/* Line 371 of yacc.c */
-#line 250 "scannerparser.c"
+#line 248 "scannerparser.c" /* yacc.c:339 */
-# ifndef YY_NULL
+# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULL nullptr
+# define YY_NULLPTR nullptr
# else
-# define YY_NULL 0
+# define YY_NULLPTR 0
# endif
# endif
@@ -268,7 +266,7 @@ toggle_conditional (GISourceScanner *scanner)
by #include "y.tab.h". */
#ifndef YY_YY_SCANNERPARSER_H_INCLUDED
# define YY_YY_SCANNERPARSER_H_INCLUDED
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
@@ -276,90 +274,89 @@ toggle_conditional (GISourceScanner *scanner)
extern int yydebug;
#endif
-/* Tokens. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- IDENTIFIER = 258,
- TYPEDEF_NAME = 259,
- INTEGER = 260,
- FLOATING = 261,
- BOOLEAN = 262,
- CHARACTER = 263,
- STRING = 264,
- INTL_CONST = 265,
- INTUL_CONST = 266,
- ELLIPSIS = 267,
- ADDEQ = 268,
- SUBEQ = 269,
- MULEQ = 270,
- DIVEQ = 271,
- MODEQ = 272,
- XOREQ = 273,
- ANDEQ = 274,
- OREQ = 275,
- SL = 276,
- SR = 277,
- SLEQ = 278,
- SREQ = 279,
- EQ = 280,
- NOTEQ = 281,
- LTEQ = 282,
- GTEQ = 283,
- ANDAND = 284,
- OROR = 285,
- PLUSPLUS = 286,
- MINUSMINUS = 287,
- ARROW = 288,
- AUTO = 289,
- BOOL = 290,
- BREAK = 291,
- CASE = 292,
- CHAR = 293,
- CONST = 294,
- CONTINUE = 295,
- DEFAULT = 296,
- DO = 297,
- DOUBLE = 298,
- ELSE = 299,
- ENUM = 300,
- EXTENSION = 301,
- EXTERN = 302,
- FLOAT = 303,
- FOR = 304,
- GOTO = 305,
- IF = 306,
- INLINE = 307,
- INT = 308,
- LONG = 309,
- REGISTER = 310,
- RESTRICT = 311,
- RETURN = 312,
- SHORT = 313,
- SIGNED = 314,
- SIZEOF = 315,
- STATIC = 316,
- STRUCT = 317,
- SWITCH = 318,
- TYPEDEF = 319,
- UNION = 320,
- UNSIGNED = 321,
- VOID = 322,
- VOLATILE = 323,
- WHILE = 324,
- FUNCTION_MACRO = 325,
- OBJECT_MACRO = 326,
- IFDEF_GI_SCANNER = 327,
- IFNDEF_GI_SCANNER = 328,
- IFDEF_COND = 329,
- IFNDEF_COND = 330,
- IF_COND = 331,
- ELIF_COND = 332,
- ELSE_COND = 333,
- ENDIF_COND = 334
- };
+ enum yytokentype
+ {
+ IDENTIFIER = 258,
+ TYPEDEF_NAME = 259,
+ INTEGER = 260,
+ FLOATING = 261,
+ BOOLEAN = 262,
+ CHARACTER = 263,
+ STRING = 264,
+ INTL_CONST = 265,
+ INTUL_CONST = 266,
+ ELLIPSIS = 267,
+ ADDEQ = 268,
+ SUBEQ = 269,
+ MULEQ = 270,
+ DIVEQ = 271,
+ MODEQ = 272,
+ XOREQ = 273,
+ ANDEQ = 274,
+ OREQ = 275,
+ SL = 276,
+ SR = 277,
+ SLEQ = 278,
+ SREQ = 279,
+ EQ = 280,
+ NOTEQ = 281,
+ LTEQ = 282,
+ GTEQ = 283,
+ ANDAND = 284,
+ OROR = 285,
+ PLUSPLUS = 286,
+ MINUSMINUS = 287,
+ ARROW = 288,
+ AUTO = 289,
+ BOOL = 290,
+ BREAK = 291,
+ CASE = 292,
+ CHAR = 293,
+ CONST = 294,
+ CONTINUE = 295,
+ DEFAULT = 296,
+ DO = 297,
+ DOUBLE = 298,
+ ELSE = 299,
+ ENUM = 300,
+ EXTENSION = 301,
+ EXTERN = 302,
+ FLOAT = 303,
+ FOR = 304,
+ GOTO = 305,
+ IF = 306,
+ INLINE = 307,
+ INT = 308,
+ LONG = 309,
+ REGISTER = 310,
+ RESTRICT = 311,
+ RETURN = 312,
+ SHORT = 313,
+ SIGNED = 314,
+ SIZEOF = 315,
+ STATIC = 316,
+ STRUCT = 317,
+ SWITCH = 318,
+ TYPEDEF = 319,
+ UNION = 320,
+ UNSIGNED = 321,
+ VOID = 322,
+ VOLATILE = 323,
+ WHILE = 324,
+ FUNCTION_MACRO = 325,
+ OBJECT_MACRO = 326,
+ IFDEF_GI_SCANNER = 327,
+ IFNDEF_GI_SCANNER = 328,
+ IFDEF_COND = 329,
+ IFNDEF_COND = 330,
+ IF_COND = 331,
+ ELIF_COND = 332,
+ ELSE_COND = 333,
+ ENDIF_COND = 334
+ };
#endif
/* Tokens. */
#define IDENTIFIER 258
@@ -440,13 +437,12 @@ extern int yydebug;
#define ELSE_COND 333
#define ENDIF_COND 334
-
-
+/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
{
-/* Line 387 of yacc.c */
-#line 212 "giscanner/scannerparser.y"
+#line 212 "giscanner/scannerparser.y" /* yacc.c:355 */
char *str;
GList *list;
@@ -457,37 +453,24 @@ typedef union YYSTYPE
FunctionSpecifier function_specifier;
UnaryOperator unary_operator;
+#line 457 "scannerparser.c" /* yacc.c:355 */
+};
-/* Line 387 of yacc.c */
-#line 463 "scannerparser.c"
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
+
extern YYSTYPE yylval;
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
int yyparse (GISourceScanner* scanner);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_SCANNERPARSER_H_INCLUDED */
/* Copy the second part of user declarations. */
-/* Line 390 of yacc.c */
-#line 491 "scannerparser.c"
+#line 474 "scannerparser.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -501,11 +484,8 @@ typedef unsigned char yytype_uint8;
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
#else
-typedef short int yytype_int8;
+typedef signed char yytype_int8;
#endif
#ifdef YYTYPE_UINT16
@@ -525,8 +505,7 @@ typedef short int yytype_int16;
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# elif ! defined YYSIZE_T
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -548,6 +527,33 @@ typedef short int yytype_int16;
# endif
#endif
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__ \
+ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
+ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+# define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
@@ -555,24 +561,26 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(N) (N)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized. */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
#else
-static int
-YYID (yyi)
- int yyi;
+# define YY_INITIAL_VALUE(Value) Value
#endif
-{
- return yyi;
-}
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
+
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
@@ -590,8 +598,7 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
@@ -603,8 +610,8 @@ YYID (yyi)
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+ /* Pacify GCC's 'empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
@@ -620,7 +627,7 @@ YYID (yyi)
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
+ && (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
@@ -628,15 +635,13 @@ YYID (yyi)
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined malloc && ! defined EXIT_SUCCESS
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined free && ! defined EXIT_SUCCESS
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
@@ -646,7 +651,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
@@ -671,16 +676,16 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
#endif
@@ -699,7 +704,7 @@ union yyalloc
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (YYID (0))
+ while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -715,17 +720,19 @@ union yyalloc
#define YYNNTS 77
/* YYNRULES -- Number of rules. */
#define YYNRULES 256
-/* YYNRULES -- Number of states. */
+/* YYNSTATES -- Number of states. */
#define YYNSTATES 426
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 334
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, without out-of-bounds checking. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -765,125 +772,7 @@ static const yytype_uint8 yytranslate[] =
};
#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint16 yyprhs[] =
-{
- 0, 0, 3, 5, 7, 9, 11, 13, 15, 19,
- 26, 28, 31, 33, 35, 37, 39, 44, 49, 53,
- 57, 61, 64, 67, 69, 73, 75, 78, 81, 84,
- 89, 94, 97, 102, 104, 106, 108, 110, 112, 114,
- 116, 121, 123, 127, 131, 135, 137, 141, 145, 147,
- 151, 155, 157, 161, 165, 169, 173, 175, 179, 183,
- 185, 189, 191, 195, 197, 201, 203, 207, 209, 213,
- 215, 221, 223, 227, 229, 231, 233, 235, 237, 239,
- 241, 243, 245, 247, 249, 251, 255, 258, 260, 264,
- 267, 270, 272, 275, 277, 280, 282, 285, 287, 289,
- 293, 295, 299, 301, 303, 305, 307, 309, 311, 313,
- 315, 317, 319, 321, 323, 325, 327, 329, 331, 333,
- 335, 341, 346, 349, 351, 353, 355, 358, 362, 365,
- 367, 370, 372, 374, 378, 379, 381, 384, 388, 394,
- 399, 406, 412, 415, 417, 418, 421, 425, 427, 431,
- 433, 435, 437, 439, 441, 444, 446, 448, 452, 457,
- 461, 466, 471, 475, 478, 480, 484, 487, 489, 492,
- 494, 498, 501, 504, 506, 508, 510, 514, 516, 519,
- 521, 523, 526, 530, 533, 537, 541, 546, 549, 553,
- 557, 562, 564, 566, 570, 575, 577, 581, 583, 585,
- 587, 589, 591, 593, 597, 602, 606, 609, 613, 615,
- 618, 620, 622, 624, 627, 633, 641, 647, 653, 661,
- 668, 676, 684, 693, 701, 710, 719, 729, 733, 736,
- 739, 742, 746, 748, 751, 753, 755, 757, 762, 766,
- 768, 771, 773, 775, 780, 783, 785, 787, 789, 791,
- 793, 795, 797, 799, 801, 803, 805
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int16 yyrhs[] =
-{
- 171, 0, -1, 107, -1, 5, -1, 7, -1, 8,
- -1, 6, -1, 106, -1, 80, 127, 81, -1, 46,
- 80, 82, 165, 83, 81, -1, 9, -1, 106, 9,
- -1, 3, -1, 107, -1, 159, -1, 105, -1, 109,
- 84, 127, 85, -1, 109, 80, 110, 81, -1, 109,
- 80, 81, -1, 109, 86, 108, -1, 109, 33, 108,
- -1, 109, 31, -1, 109, 32, -1, 125, -1, 110,
- 87, 125, -1, 109, -1, 31, 111, -1, 32, 111,
- -1, 112, 113, -1, 10, 80, 111, 81, -1, 11,
- 80, 111, 81, -1, 60, 111, -1, 60, 80, 156,
- 81, -1, 88, -1, 89, -1, 90, -1, 91, -1,
- 92, -1, 93, -1, 111, -1, 80, 156, 81, 113,
- -1, 113, -1, 114, 89, 113, -1, 114, 94, 113,
- -1, 114, 95, 113, -1, 114, -1, 115, 90, 114,
- -1, 115, 91, 114, -1, 115, -1, 116, 21, 115,
- -1, 116, 22, 115, -1, 116, -1, 117, 96, 116,
- -1, 117, 97, 116, -1, 117, 27, 116, -1, 117,
- 28, 116, -1, 117, -1, 118, 25, 117, -1, 118,
- 26, 117, -1, 118, -1, 119, 88, 118, -1, 119,
- -1, 120, 98, 119, -1, 120, -1, 121, 99, 120,
- -1, 121, -1, 122, 29, 121, -1, 122, -1, 123,
- 30, 122, -1, 123, -1, 123, 100, 127, 101, 127,
- -1, 124, -1, 111, 126, 125, -1, 102, -1, 15,
- -1, 16, -1, 17, -1, 13, -1, 14, -1, 23,
- -1, 24, -1, 19, -1, 18, -1, 20, -1, 125,
- -1, 127, 87, 125, -1, 46, 127, -1, 124, -1,
- 130, 131, 103, -1, 130, 103, -1, 133, 130, -1,
- 133, -1, 134, 130, -1, 134, -1, 147, 130, -1,
- 147, -1, 148, 130, -1, 148, -1, 132, -1, 131,
- 87, 132, -1, 149, -1, 149, 102, 160, -1, 64,
- -1, 47, -1, 61, -1, 34, -1, 55, -1, 67,
- -1, 38, -1, 58, -1, 53, -1, 54, -1, 48,
- -1, 43, -1, 59, -1, 66, -1, 35, -1, 135,
- -1, 142, -1, 159, -1, 136, 108, 82, 137, 83,
- -1, 136, 82, 137, 83, -1, 136, 108, -1, 62,
- -1, 65, -1, 138, -1, 137, 138, -1, 139, 140,
- 103, -1, 134, 139, -1, 134, -1, 147, 139, -1,
- 147, -1, 141, -1, 140, 87, 141, -1, -1, 149,
- -1, 101, 128, -1, 149, 101, 128, -1, 143, 108,
- 82, 144, 83, -1, 143, 82, 144, 83, -1, 143,
- 108, 82, 144, 87, 83, -1, 143, 82, 144, 87,
- 83, -1, 143, 108, -1, 45, -1, -1, 145, 146,
- -1, 144, 87, 146, -1, 107, -1, 107, 102, 128,
- -1, 39, -1, 56, -1, 46, -1, 68, -1, 52,
- -1, 151, 150, -1, 150, -1, 107, -1, 80, 149,
- 81, -1, 150, 84, 125, 85, -1, 150, 84, 85,
- -1, 150, 80, 153, 81, -1, 150, 80, 155, 81,
- -1, 150, 80, 81, -1, 89, 152, -1, 89, -1,
- 89, 152, 151, -1, 89, 151, -1, 147, -1, 152,
- 147, -1, 154, -1, 153, 87, 154, -1, 130, 149,
- -1, 130, 157, -1, 130, -1, 12, -1, 107, -1,
- 155, 87, 107, -1, 139, -1, 139, 157, -1, 151,
- -1, 158, -1, 151, 158, -1, 80, 157, 81, -1,
- 84, 85, -1, 84, 125, 85, -1, 158, 84, 85,
- -1, 158, 84, 125, 85, -1, 80, 81, -1, 80,
- 153, 81, -1, 158, 80, 81, -1, 158, 80, 153,
- 81, -1, 4, -1, 125, -1, 82, 161, 83, -1,
- 82, 161, 87, 83, -1, 160, -1, 161, 87, 160,
- -1, 163, -1, 164, -1, 167, -1, 168, -1, 169,
- -1, 170, -1, 108, 101, 162, -1, 37, 128, 101,
- 162, -1, 41, 101, 162, -1, 82, 83, -1, 82,
- 165, 83, -1, 166, -1, 165, 166, -1, 129, -1,
- 162, -1, 103, -1, 127, 103, -1, 51, 80, 127,
- 81, 162, -1, 51, 80, 127, 81, 162, 44, 162,
- -1, 63, 80, 127, 81, 162, -1, 69, 80, 127,
- 81, 162, -1, 42, 162, 69, 80, 127, 81, 103,
- -1, 49, 80, 103, 103, 81, 162, -1, 49, 80,
- 127, 103, 103, 81, 162, -1, 49, 80, 103, 127,
- 103, 81, 162, -1, 49, 80, 127, 103, 127, 103,
- 81, 162, -1, 49, 80, 103, 103, 127, 81, 162,
- -1, 49, 80, 127, 103, 103, 127, 81, 162, -1,
- 49, 80, 103, 127, 103, 127, 81, 162, -1, 49,
- 80, 127, 103, 127, 103, 127, 81, 162, -1, 50,
- 108, 103, -1, 40, 103, -1, 36, 103, -1, 57,
- 103, -1, 57, 127, 103, -1, 172, -1, 171, 172,
- -1, 173, -1, 129, -1, 180, -1, 130, 149, 174,
- 164, -1, 130, 149, 164, -1, 129, -1, 174, 129,
- -1, 70, -1, 71, -1, 175, 80, 155, 81, -1,
- 176, 128, -1, 72, -1, 73, -1, 74, -1, 75,
- -1, 76, -1, 77, -1, 78, -1, 79, -1, 177,
- -1, 178, -1, 179, -1, 1, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 304, 304, 313, 329, 335, 341, 348, 349, 353,
@@ -958,13 +847,13 @@ static const char *const yytname[] =
"iteration_statement", "jump_statement", "translation_unit",
"external_declaration", "function_definition", "declaration_list",
"function_macro", "object_macro", "function_macro_define",
- "object_macro_define", "preproc_conditional", "macro", YY_NULL
+ "object_macro_define", "preproc_conditional", "macro", YY_NULLPTR
};
#endif
# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+ (internal) symbol number NUM (which must be that of a token). */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
@@ -981,134 +870,18 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 104, 105, 105, 105, 105, 105, 105, 105, 105,
- 106, 106, 107, 108, 108, 109, 109, 109, 109, 109,
- 109, 109, 109, 110, 110, 111, 111, 111, 111, 111,
- 111, 111, 111, 112, 112, 112, 112, 112, 112, 113,
- 113, 114, 114, 114, 114, 115, 115, 115, 116, 116,
- 116, 117, 117, 117, 117, 117, 118, 118, 118, 119,
- 119, 120, 120, 121, 121, 122, 122, 123, 123, 124,
- 124, 125, 125, 126, 126, 126, 126, 126, 126, 126,
- 126, 126, 126, 126, 127, 127, 127, 128, 129, 129,
- 130, 130, 130, 130, 130, 130, 130, 130, 131, 131,
- 132, 132, 133, 133, 133, 133, 133, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
- 135, 135, 135, 136, 136, 137, 137, 138, 139, 139,
- 139, 139, 140, 140, 141, 141, 141, 141, 142, 142,
- 142, 142, 142, 143, 145, 144, 144, 146, 146, 147,
- 147, 147, 147, 148, 149, 149, 150, 150, 150, 150,
- 150, 150, 150, 151, 151, 151, 151, 152, 152, 153,
- 153, 154, 154, 154, 154, 155, 155, 156, 156, 157,
- 157, 157, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 159, 160, 160, 160, 161, 161, 162, 162, 162,
- 162, 162, 162, 163, 163, 163, 164, 164, 165, 165,
- 166, 166, 167, 167, 168, 168, 168, 169, 169, 169,
- 169, 169, 169, 169, 169, 169, 169, 170, 170, 170,
- 170, 170, 171, 171, 172, 172, 172, 173, 173, 174,
- 174, 175, 176, 177, 178, 179, 179, 179, 179, 179,
- 179, 179, 179, 180, 180, 180, 180
-};
+#define YYPACT_NINF -234
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 1, 1, 1, 1, 1, 1, 3, 6,
- 1, 2, 1, 1, 1, 1, 4, 4, 3, 3,
- 3, 2, 2, 1, 3, 1, 2, 2, 2, 4,
- 4, 2, 4, 1, 1, 1, 1, 1, 1, 1,
- 4, 1, 3, 3, 3, 1, 3, 3, 1, 3,
- 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
- 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
- 5, 1, 3, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 2, 1, 3, 2,
- 2, 1, 2, 1, 2, 1, 2, 1, 1, 3,
- 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 5, 4, 2, 1, 1, 1, 2, 3, 2, 1,
- 2, 1, 1, 3, 0, 1, 2, 3, 5, 4,
- 6, 5, 2, 1, 0, 2, 3, 1, 3, 1,
- 1, 1, 1, 1, 2, 1, 1, 3, 4, 3,
- 4, 4, 3, 2, 1, 3, 2, 1, 2, 1,
- 3, 2, 2, 1, 1, 1, 3, 1, 2, 1,
- 1, 2, 3, 2, 3, 3, 4, 2, 3, 3,
- 4, 1, 1, 3, 4, 1, 3, 1, 1, 1,
- 1, 1, 1, 3, 4, 3, 2, 3, 1, 2,
- 1, 1, 1, 2, 5, 7, 5, 5, 7, 6,
- 7, 7, 8, 7, 8, 8, 9, 3, 2, 2,
- 2, 3, 1, 2, 1, 1, 1, 4, 3, 1,
- 2, 1, 1, 4, 2, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1
-};
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-234)))
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint16 yydefact[] =
-{
- 0, 256, 191, 105, 116, 108, 149, 113, 143, 151,
- 103, 112, 153, 110, 111, 106, 150, 109, 114, 104,
- 123, 102, 124, 115, 107, 152, 241, 242, 245, 246,
- 247, 248, 249, 250, 251, 252, 235, 0, 91, 93,
- 117, 0, 118, 0, 95, 97, 119, 0, 232, 234,
- 0, 0, 253, 254, 255, 236, 12, 0, 164, 89,
- 156, 0, 98, 100, 155, 0, 90, 92, 0, 13,
- 122, 14, 144, 142, 94, 96, 1, 233, 0, 3,
- 6, 4, 5, 10, 0, 0, 0, 0, 0, 0,
- 0, 33, 34, 35, 36, 37, 38, 15, 7, 2,
- 25, 39, 0, 41, 45, 48, 51, 56, 59, 61,
- 63, 65, 67, 69, 87, 244, 0, 167, 166, 163,
- 0, 88, 0, 0, 239, 0, 238, 0, 0, 0,
- 154, 129, 0, 125, 134, 131, 0, 0, 0, 144,
- 175, 0, 0, 0, 0, 26, 27, 0, 0, 31,
- 151, 39, 71, 84, 0, 177, 0, 11, 21, 22,
- 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 157, 168, 165, 99, 100, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 206, 212, 2, 0, 0, 210, 119, 211, 197, 198,
- 0, 208, 199, 200, 201, 202, 0, 192, 101, 240,
- 237, 174, 162, 173, 0, 169, 0, 159, 0, 128,
- 121, 126, 0, 0, 132, 135, 130, 0, 139, 0,
- 147, 145, 0, 243, 0, 0, 0, 0, 0, 0,
- 0, 86, 77, 78, 74, 75, 76, 82, 81, 83,
- 79, 80, 73, 0, 8, 0, 0, 0, 179, 178,
- 180, 0, 20, 18, 0, 23, 0, 19, 42, 43,
- 44, 46, 47, 49, 50, 54, 55, 52, 53, 57,
- 58, 60, 62, 64, 66, 68, 0, 229, 0, 228,
- 0, 0, 0, 0, 0, 230, 0, 0, 0, 0,
- 213, 207, 209, 195, 0, 0, 171, 179, 172, 160,
- 0, 161, 158, 136, 134, 127, 0, 120, 141, 146,
- 0, 138, 0, 176, 29, 30, 0, 32, 72, 85,
- 187, 0, 0, 183, 0, 181, 0, 0, 40, 17,
- 0, 16, 0, 0, 205, 0, 0, 0, 227, 0,
- 231, 0, 0, 203, 193, 0, 170, 133, 137, 148,
- 140, 0, 188, 182, 184, 189, 0, 185, 0, 24,
- 70, 204, 0, 0, 0, 0, 0, 0, 0, 194,
- 196, 9, 190, 186, 0, 0, 0, 0, 0, 0,
- 214, 216, 217, 0, 219, 0, 0, 0, 0, 0,
- 0, 0, 218, 223, 221, 0, 220, 0, 0, 0,
- 215, 225, 224, 222, 0, 226
-};
+#define YYTABLE_NINF -15
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
-{
- -1, 97, 98, 99, 203, 100, 274, 151, 102, 103,
- 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
- 152, 153, 263, 204, 115, 205, 125, 61, 62, 38,
- 39, 40, 41, 132, 133, 134, 233, 234, 42, 43,
- 137, 138, 329, 44, 45, 116, 64, 65, 119, 341,
- 225, 141, 156, 342, 270, 46, 218, 314, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 47, 48, 49,
- 127, 50, 51, 52, 53, 54, 55
-};
+#define yytable_value_is_error(Yytable_value) \
+ 0
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -234
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
static const yytype_int16 yypact[] =
{
2506, -234, -234, -234, -234, -234, -234, -234, -234, -234,
@@ -1156,7 +929,57 @@ static const yytype_int16 yypact[] =
-234, -234, -234, -234, 819, -234
};
-/* YYPGOTO[NTERM-NUM]. */
+ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE does not specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint16 yydefact[] =
+{
+ 0, 256, 191, 105, 116, 108, 149, 113, 143, 151,
+ 103, 112, 153, 110, 111, 106, 150, 109, 114, 104,
+ 123, 102, 124, 115, 107, 152, 241, 242, 245, 246,
+ 247, 248, 249, 250, 251, 252, 235, 0, 91, 93,
+ 117, 0, 118, 0, 95, 97, 119, 0, 232, 234,
+ 0, 0, 253, 254, 255, 236, 12, 0, 164, 89,
+ 156, 0, 98, 100, 155, 0, 90, 92, 0, 13,
+ 122, 14, 144, 142, 94, 96, 1, 233, 0, 3,
+ 6, 4, 5, 10, 0, 0, 0, 0, 0, 0,
+ 0, 33, 34, 35, 36, 37, 38, 15, 7, 2,
+ 25, 39, 0, 41, 45, 48, 51, 56, 59, 61,
+ 63, 65, 67, 69, 87, 244, 0, 167, 166, 163,
+ 0, 88, 0, 0, 239, 0, 238, 0, 0, 0,
+ 154, 129, 0, 125, 134, 131, 0, 0, 0, 144,
+ 175, 0, 0, 0, 0, 26, 27, 0, 0, 31,
+ 151, 39, 71, 84, 0, 177, 0, 11, 21, 22,
+ 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 157, 168, 165, 99, 100, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 206, 212, 2, 0, 0, 210, 119, 211, 197, 198,
+ 0, 208, 199, 200, 201, 202, 0, 192, 101, 240,
+ 237, 174, 162, 173, 0, 169, 0, 159, 0, 128,
+ 121, 126, 0, 0, 132, 135, 130, 0, 139, 0,
+ 147, 145, 0, 243, 0, 0, 0, 0, 0, 0,
+ 0, 86, 77, 78, 74, 75, 76, 82, 81, 83,
+ 79, 80, 73, 0, 8, 0, 0, 0, 179, 178,
+ 180, 0, 20, 18, 0, 23, 0, 19, 42, 43,
+ 44, 46, 47, 49, 50, 54, 55, 52, 53, 57,
+ 58, 60, 62, 64, 66, 68, 0, 229, 0, 228,
+ 0, 0, 0, 0, 0, 230, 0, 0, 0, 0,
+ 213, 207, 209, 195, 0, 0, 171, 179, 172, 160,
+ 0, 161, 158, 136, 134, 127, 0, 120, 141, 146,
+ 0, 138, 0, 176, 29, 30, 0, 32, 72, 85,
+ 187, 0, 0, 183, 0, 181, 0, 0, 40, 17,
+ 0, 16, 0, 0, 205, 0, 0, 0, 227, 0,
+ 231, 0, 0, 203, 193, 0, 170, 133, 137, 148,
+ 140, 0, 188, 182, 184, 189, 0, 185, 0, 24,
+ 70, 204, 0, 0, 0, 0, 0, 0, 0, 194,
+ 196, 9, 190, 186, 0, 0, 0, 0, 0, 0,
+ 214, 216, 217, 0, 219, 0, 0, 0, 0, 0,
+ 0, 0, 218, 223, 221, 0, 220, 0, 0, 0,
+ 215, 225, 224, 222, 0, 226
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-234, -234, -234, -37, -33, -234, -234, 53, -234, -86,
@@ -1169,10 +992,22 @@ static const yytype_int16 yypgoto[] =
-234, -234, -234, -234, -234, -234, -234
};
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -15
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
+{
+ -1, 97, 98, 99, 203, 100, 274, 151, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 152, 153, 263, 204, 115, 205, 125, 61, 62, 38,
+ 39, 40, 41, 132, 133, 134, 233, 234, 42, 43,
+ 137, 138, 329, 44, 45, 116, 64, 65, 119, 341,
+ 225, 141, 156, 342, 270, 46, 218, 314, 207, 208,
+ 209, 210, 211, 212, 213, 214, 215, 47, 48, 49,
+ 127, 50, 51, 52, 53, 54, 55
+};
+
+ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule whose
+ number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
60, 130, 114, 312, 69, 118, 69, 37, 70, 131,
@@ -1457,12 +1292,6 @@ static const yytype_int16 yytable[] =
18, 0, 19, 20, 0, 21, 22, 23, 24, 25
};
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-234)))
-
-#define yytable_value_is_error(Yytable_value) \
- YYID (0)
-
static const yytype_int16 yycheck[] =
{
37, 65, 51, 210, 41, 58, 43, 0, 41, 68,
@@ -1747,8 +1576,8 @@ static const yytype_int16 yycheck[] =
59, -1, 61, 62, -1, 64, 65, 66, 67, 68
};
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
0, 1, 4, 34, 35, 38, 39, 43, 45, 46,
@@ -1796,30 +1625,78 @@ static const yytype_uint8 yystos[] =
162, 162, 162, 162, 81, 162
};
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror. This remains here temporarily
- to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. However,
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
- discussed. */
-
-#define YYFAIL goto yyerrlab
-#if defined YYFAIL
- /* This is here to suppress warnings from the GCC cpp's
- -Wunused-macros. Normally we don't worry about that warning, but
- some users do, and we want to make it easy for users to remove
- YYFAIL uses, which will produce warnings from Bison 2.5. */
-#endif
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 104, 105, 105, 105, 105, 105, 105, 105, 105,
+ 106, 106, 107, 108, 108, 109, 109, 109, 109, 109,
+ 109, 109, 109, 110, 110, 111, 111, 111, 111, 111,
+ 111, 111, 111, 112, 112, 112, 112, 112, 112, 113,
+ 113, 114, 114, 114, 114, 115, 115, 115, 116, 116,
+ 116, 117, 117, 117, 117, 117, 118, 118, 118, 119,
+ 119, 120, 120, 121, 121, 122, 122, 123, 123, 124,
+ 124, 125, 125, 126, 126, 126, 126, 126, 126, 126,
+ 126, 126, 126, 126, 127, 127, 127, 128, 129, 129,
+ 130, 130, 130, 130, 130, 130, 130, 130, 131, 131,
+ 132, 132, 133, 133, 133, 133, 133, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 135, 135, 135, 136, 136, 137, 137, 138, 139, 139,
+ 139, 139, 140, 140, 141, 141, 141, 141, 142, 142,
+ 142, 142, 142, 143, 145, 144, 144, 146, 146, 147,
+ 147, 147, 147, 148, 149, 149, 150, 150, 150, 150,
+ 150, 150, 150, 151, 151, 151, 151, 152, 152, 153,
+ 153, 154, 154, 154, 154, 155, 155, 156, 156, 157,
+ 157, 157, 158, 158, 158, 158, 158, 158, 158, 158,
+ 158, 159, 160, 160, 160, 161, 161, 162, 162, 162,
+ 162, 162, 162, 163, 163, 163, 164, 164, 165, 165,
+ 166, 166, 167, 167, 168, 168, 168, 169, 169, 169,
+ 169, 169, 169, 169, 169, 169, 169, 170, 170, 170,
+ 170, 170, 171, 171, 172, 172, 172, 173, 173, 174,
+ 174, 175, 176, 177, 178, 179, 179, 179, 179, 179,
+ 179, 179, 179, 180, 180, 180, 180
+};
+
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 1, 1, 1, 1, 1, 1, 3, 6,
+ 1, 2, 1, 1, 1, 1, 4, 4, 3, 3,
+ 3, 2, 2, 1, 3, 1, 2, 2, 2, 4,
+ 4, 2, 4, 1, 1, 1, 1, 1, 1, 1,
+ 4, 1, 3, 3, 3, 1, 3, 3, 1, 3,
+ 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
+ 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
+ 5, 1, 3, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 2, 1, 3, 2,
+ 2, 1, 2, 1, 2, 1, 2, 1, 1, 3,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 5, 4, 2, 1, 1, 1, 2, 3, 2, 1,
+ 2, 1, 1, 3, 0, 1, 2, 3, 5, 4,
+ 6, 5, 2, 1, 0, 2, 3, 1, 3, 1,
+ 1, 1, 1, 1, 2, 1, 1, 3, 4, 3,
+ 4, 4, 3, 2, 1, 3, 2, 1, 2, 1,
+ 3, 2, 2, 1, 1, 1, 3, 1, 2, 1,
+ 1, 2, 3, 2, 3, 3, 4, 2, 3, 3,
+ 4, 1, 1, 3, 4, 1, 3, 1, 1, 1,
+ 1, 1, 1, 3, 4, 3, 2, 3, 1, 2,
+ 1, 1, 1, 2, 5, 7, 5, 5, 7, 6,
+ 7, 7, 8, 7, 8, 8, 9, 3, 2, 2,
+ 2, 3, 1, 2, 1, 1, 1, 4, 3, 1,
+ 2, 1, 1, 4, 2, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1
+};
+
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
#define YYRECOVERING() (!!yyerrstatus)
@@ -1836,27 +1713,15 @@ do \
else \
{ \
yyerror (scanner, YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (YYID (0))
+ YYERROR; \
+ } \
+while (0)
/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
-
-
-/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif
+#define YYTERROR 1
+#define YYERRCODE 256
-/* YYLEX -- calling `yylex' with the right arguments. */
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex (scanner)
-#endif
/* Enable debugging if requested. */
#if YYDEBUG
@@ -1866,58 +1731,47 @@ while (YYID (0))
# define YYFPRINTF fprintf
# endif
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value, scanner); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (YYID (0))
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value, scanner); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT. |
+`----------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, GISourceScanner* scanner)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
- GISourceScanner* scanner;
-#endif
{
FILE *yyo = yyoutput;
YYUSE (yyo);
+ YYUSE (scanner);
if (!yyvaluep)
return;
- YYUSE (scanner);
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
- YYUSE (yyoutput);
# endif
- switch (yytype)
- {
- default:
- break;
- }
+ YYUSE (yytype);
}
@@ -1925,23 +1779,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner)
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, GISourceScanner* scanner)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep, scanner)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
- GISourceScanner* scanner;
-#endif
{
- if (yytype < YYNTOKENS)
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+ YYFPRINTF (yyoutput, "%s %s (",
+ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
yy_symbol_value_print (yyoutput, yytype, yyvaluep, scanner);
YYFPRINTF (yyoutput, ")");
@@ -1952,16 +1794,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, scanner)
| TOP (included). |
`------------------------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
-#endif
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -1972,50 +1806,42 @@ yy_stack_print (yybottom, yytop)
YYFPRINTF (stderr, "\n");
}
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (YYID (0))
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule, GISourceScanner* scanner)
-#else
static void
-yy_reduce_print (yyvsp, yyrule, scanner)
- YYSTYPE *yyvsp;
- int yyrule;
- GISourceScanner* scanner;
-#endif
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, GISourceScanner* scanner)
{
+ unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
+ yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- , scanner);
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ , scanner);
YYFPRINTF (stderr, "\n");
}
}
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyvsp, Rule, scanner); \
-} while (YYID (0))
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, Rule, scanner); \
+} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
@@ -2029,7 +1855,7 @@ int yydebug;
/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
@@ -2052,15 +1878,8 @@ int yydebug;
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
- const char *yystr;
-#endif
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
@@ -2076,16 +1895,8 @@ yystrlen (yystr)
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-#endif
{
char *yyd = yydest;
const char *yys = yysrc;
@@ -2115,27 +1926,27 @@ yytnamerr (char *yyres, const char *yystr)
char const *yyp = yystr;
for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
do_not_strip_quotes: ;
}
@@ -2158,11 +1969,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
+ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
- const char *yyformat = YY_NULL;
+ const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@@ -2170,10 +1981,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
int yycount = 0;
/* There are many possibilities here to consider:
- - Assume YYFAIL is not used. It's too flawed to consider. See
- <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
- for details. YYERROR is fine as it does not invoke this
- function.
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
@@ -2223,7 +2030,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@@ -2290,33 +2097,18 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, GISourceScanner* scanner)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep, scanner)
- const char *yymsg;
- int yytype;
- YYSTYPE *yyvaluep;
- GISourceScanner* scanner;
-#endif
{
YYUSE (yyvaluep);
YYUSE (scanner);
-
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
- switch (yytype)
- {
-
- default:
- break;
- }
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ YYUSE (yytype);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
}
@@ -2325,18 +2117,8 @@ yydestruct (yymsg, yytype, yyvaluep, scanner)
/* The lookahead symbol. */
int yychar;
-
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
-
+YYSTYPE yylval;
/* Number of syntax errors so far. */
int yynerrs;
@@ -2345,35 +2127,16 @@ int yynerrs;
| yyparse. |
`----------*/
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
int
yyparse (GISourceScanner* scanner)
-#else
-int
-yyparse (scanner)
- GISourceScanner* scanner;
-#endif
-#endif
{
int yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
+ 'yyss': related to states.
+ 'yyvs': related to semantic values.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
@@ -2441,23 +2204,23 @@ yyparse (scanner)
#ifdef yyoverflow
{
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
@@ -2465,22 +2228,22 @@ yyparse (scanner)
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
+ goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
+ yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
@@ -2489,10 +2252,10 @@ yyparse (scanner)
yyvsp = yyvs + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
+ (unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
+ YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -2521,7 +2284,7 @@ yybackup:
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
+ yychar = yylex (scanner);
}
if (yychar <= YYEOF)
@@ -2586,7 +2349,7 @@ yyreduce:
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
+ '$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
@@ -2600,21 +2363,20 @@ yyreduce:
switch (yyn)
{
case 2:
-/* Line 1792 of yacc.c */
-#line 305 "giscanner/scannerparser.y"
+#line 305 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = g_hash_table_lookup (const_table, (yyvsp[(1) - (1)].str));
+ (yyval.symbol) = g_hash_table_lookup (const_table, (yyvsp[0].str));
if ((yyval.symbol) == NULL) {
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
} else {
(yyval.symbol) = gi_source_symbol_ref ((yyval.symbol));
}
}
+#line 2376 "scannerparser.c" /* yacc.c:1646 */
break;
case 3:
-/* Line 1792 of yacc.c */
-#line 314 "giscanner/scannerparser.y"
+#line 314 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
char *rest;
guint64 value;
@@ -2630,58 +2392,58 @@ yyreduce:
(yyval.symbol)->const_int = value;
(yyval.symbol)->const_int_is_unsigned = (rest && (rest[0] == 'U'));
}
+#line 2396 "scannerparser.c" /* yacc.c:1646 */
break;
case 4:
-/* Line 1792 of yacc.c */
-#line 330 "giscanner/scannerparser.y"
+#line 330 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_boolean_set = TRUE;
(yyval.symbol)->const_boolean = g_ascii_strcasecmp (yytext, "true") == 0 ? TRUE : FALSE;
}
+#line 2406 "scannerparser.c" /* yacc.c:1646 */
break;
case 5:
-/* Line 1792 of yacc.c */
-#line 336 "giscanner/scannerparser.y"
+#line 336 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = g_utf8_get_char(yytext + 1);
}
+#line 2416 "scannerparser.c" /* yacc.c:1646 */
break;
case 6:
-/* Line 1792 of yacc.c */
-#line 342 "giscanner/scannerparser.y"
+#line 342 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_double_set = TRUE;
(yyval.symbol)->const_double = 0.0;
sscanf (yytext, "%lf", &((yyval.symbol)->const_double));
}
+#line 2427 "scannerparser.c" /* yacc.c:1646 */
break;
case 8:
-/* Line 1792 of yacc.c */
-#line 350 "giscanner/scannerparser.y"
+#line 350 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
+ (yyval.symbol) = (yyvsp[-1].symbol);
}
+#line 2435 "scannerparser.c" /* yacc.c:1646 */
break;
case 9:
-/* Line 1792 of yacc.c */
-#line 354 "giscanner/scannerparser.y"
+#line 354 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2443 "scannerparser.c" /* yacc.c:1646 */
break;
case 10:
-/* Line 1792 of yacc.c */
-#line 362 "giscanner/scannerparser.y"
+#line 362 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
yytext[strlen (yytext) - 1] = '\0';
@@ -2696,14 +2458,14 @@ yyreduce:
}
}
+#line 2462 "scannerparser.c" /* yacc.c:1646 */
break;
case 11:
-/* Line 1792 of yacc.c */
-#line 377 "giscanner/scannerparser.y"
+#line 377 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
char *strings, *string2;
- (yyval.symbol) = (yyvsp[(1) - (2)].symbol);
+ (yyval.symbol) = (yyvsp[-1].symbol);
yytext[strlen (yytext) - 1] = '\0';
string2 = parse_c_string_literal (yytext + 1);
strings = g_strconcat ((yyval.symbol)->const_string, string2, NULL);
@@ -2711,276 +2473,276 @@ yyreduce:
g_free (string2);
(yyval.symbol)->const_string = strings;
}
+#line 2477 "scannerparser.c" /* yacc.c:1646 */
break;
case 12:
-/* Line 1792 of yacc.c */
-#line 391 "giscanner/scannerparser.y"
+#line 391 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.str) = g_strdup (yytext);
}
+#line 2485 "scannerparser.c" /* yacc.c:1646 */
break;
case 16:
-/* Line 1792 of yacc.c */
-#line 404 "giscanner/scannerparser.y"
+#line 404 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2493 "scannerparser.c" /* yacc.c:1646 */
break;
case 17:
-/* Line 1792 of yacc.c */
-#line 408 "giscanner/scannerparser.y"
+#line 408 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2501 "scannerparser.c" /* yacc.c:1646 */
break;
case 18:
-/* Line 1792 of yacc.c */
-#line 412 "giscanner/scannerparser.y"
+#line 412 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2509 "scannerparser.c" /* yacc.c:1646 */
break;
case 19:
-/* Line 1792 of yacc.c */
-#line 416 "giscanner/scannerparser.y"
+#line 416 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2517 "scannerparser.c" /* yacc.c:1646 */
break;
case 20:
-/* Line 1792 of yacc.c */
-#line 420 "giscanner/scannerparser.y"
+#line 420 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2525 "scannerparser.c" /* yacc.c:1646 */
break;
case 21:
-/* Line 1792 of yacc.c */
-#line 424 "giscanner/scannerparser.y"
+#line 424 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2533 "scannerparser.c" /* yacc.c:1646 */
break;
case 22:
-/* Line 1792 of yacc.c */
-#line 428 "giscanner/scannerparser.y"
+#line 428 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2541 "scannerparser.c" /* yacc.c:1646 */
break;
case 26:
-/* Line 1792 of yacc.c */
-#line 441 "giscanner/scannerparser.y"
+#line 441 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2549 "scannerparser.c" /* yacc.c:1646 */
break;
case 27:
-/* Line 1792 of yacc.c */
-#line 445 "giscanner/scannerparser.y"
+#line 445 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2557 "scannerparser.c" /* yacc.c:1646 */
break;
case 28:
-/* Line 1792 of yacc.c */
-#line 449 "giscanner/scannerparser.y"
+#line 449 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- switch ((yyvsp[(1) - (2)].unary_operator)) {
+ switch ((yyvsp[-1].unary_operator)) {
case UNARY_PLUS:
- (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
+ (yyval.symbol) = (yyvsp[0].symbol);
break;
case UNARY_MINUS:
- (yyval.symbol) = gi_source_symbol_copy ((yyvsp[(2) - (2)].symbol));
- (yyval.symbol)->const_int = -(yyvsp[(2) - (2)].symbol)->const_int;
+ (yyval.symbol) = gi_source_symbol_copy ((yyvsp[0].symbol));
+ (yyval.symbol)->const_int = -(yyvsp[0].symbol)->const_int;
break;
case UNARY_BITWISE_COMPLEMENT:
- (yyval.symbol) = gi_source_symbol_copy ((yyvsp[(2) - (2)].symbol));
- (yyval.symbol)->const_int = ~(yyvsp[(2) - (2)].symbol)->const_int;
+ (yyval.symbol) = gi_source_symbol_copy ((yyvsp[0].symbol));
+ (yyval.symbol)->const_int = ~(yyvsp[0].symbol)->const_int;
break;
case UNARY_LOGICAL_NEGATION:
- (yyval.symbol) = gi_source_symbol_copy ((yyvsp[(2) - (2)].symbol));
- (yyval.symbol)->const_int = !gi_source_symbol_get_const_boolean ((yyvsp[(2) - (2)].symbol));
+ (yyval.symbol) = gi_source_symbol_copy ((yyvsp[0].symbol));
+ (yyval.symbol)->const_int = !gi_source_symbol_get_const_boolean ((yyvsp[0].symbol));
break;
default:
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
break;
}
}
+#line 2584 "scannerparser.c" /* yacc.c:1646 */
break;
case 29:
-/* Line 1792 of yacc.c */
-#line 472 "giscanner/scannerparser.y"
+#line 472 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(3) - (4)].symbol);
+ (yyval.symbol) = (yyvsp[-1].symbol);
if ((yyval.symbol)->const_int_set) {
(yyval.symbol)->base_type = gi_source_basic_type_new ((yyval.symbol)->const_int_is_unsigned ? "guint64" : "gint64");
}
}
+#line 2595 "scannerparser.c" /* yacc.c:1646 */
break;
case 30:
-/* Line 1792 of yacc.c */
-#line 479 "giscanner/scannerparser.y"
+#line 479 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(3) - (4)].symbol);
+ (yyval.symbol) = (yyvsp[-1].symbol);
if ((yyval.symbol)->const_int_set) {
(yyval.symbol)->base_type = gi_source_basic_type_new ("guint64");
}
}
+#line 2606 "scannerparser.c" /* yacc.c:1646 */
break;
case 31:
-/* Line 1792 of yacc.c */
-#line 486 "giscanner/scannerparser.y"
+#line 486 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2614 "scannerparser.c" /* yacc.c:1646 */
break;
case 32:
-/* Line 1792 of yacc.c */
-#line 490 "giscanner/scannerparser.y"
+#line 490 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- ctype_free ((yyvsp[(3) - (4)].ctype));
+ ctype_free ((yyvsp[-1].ctype));
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2623 "scannerparser.c" /* yacc.c:1646 */
break;
case 33:
-/* Line 1792 of yacc.c */
-#line 498 "giscanner/scannerparser.y"
+#line 498 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.unary_operator) = UNARY_ADDRESS_OF;
}
+#line 2631 "scannerparser.c" /* yacc.c:1646 */
break;
case 34:
-/* Line 1792 of yacc.c */
-#line 502 "giscanner/scannerparser.y"
+#line 502 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.unary_operator) = UNARY_POINTER_INDIRECTION;
}
+#line 2639 "scannerparser.c" /* yacc.c:1646 */
break;
case 35:
-/* Line 1792 of yacc.c */
-#line 506 "giscanner/scannerparser.y"
+#line 506 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.unary_operator) = UNARY_PLUS;
}
+#line 2647 "scannerparser.c" /* yacc.c:1646 */
break;
case 36:
-/* Line 1792 of yacc.c */
-#line 510 "giscanner/scannerparser.y"
+#line 510 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.unary_operator) = UNARY_MINUS;
}
+#line 2655 "scannerparser.c" /* yacc.c:1646 */
break;
case 37:
-/* Line 1792 of yacc.c */
-#line 514 "giscanner/scannerparser.y"
+#line 514 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.unary_operator) = UNARY_BITWISE_COMPLEMENT;
}
+#line 2663 "scannerparser.c" /* yacc.c:1646 */
break;
case 38:
-/* Line 1792 of yacc.c */
-#line 518 "giscanner/scannerparser.y"
+#line 518 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.unary_operator) = UNARY_LOGICAL_NEGATION;
}
+#line 2671 "scannerparser.c" /* yacc.c:1646 */
break;
case 40:
-/* Line 1792 of yacc.c */
-#line 526 "giscanner/scannerparser.y"
+#line 526 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(4) - (4)].symbol);
+ (yyval.symbol) = (yyvsp[0].symbol);
if ((yyval.symbol)->const_int_set || (yyval.symbol)->const_double_set || (yyval.symbol)->const_string != NULL) {
- (yyval.symbol)->base_type = (yyvsp[(2) - (4)].ctype);
+ (yyval.symbol)->base_type = (yyvsp[-2].ctype);
} else {
- ctype_free ((yyvsp[(2) - (4)].ctype));
+ ctype_free ((yyvsp[-2].ctype));
}
}
+#line 2684 "scannerparser.c" /* yacc.c:1646 */
break;
case 42:
-/* Line 1792 of yacc.c */
-#line 539 "giscanner/scannerparser.y"
+#line 539 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int * (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int * (yyvsp[0].symbol)->const_int;
}
+#line 2694 "scannerparser.c" /* yacc.c:1646 */
break;
case 43:
-/* Line 1792 of yacc.c */
-#line 545 "giscanner/scannerparser.y"
+#line 545 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- if ((yyvsp[(3) - (3)].symbol)->const_int != 0) {
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int / (yyvsp[(3) - (3)].symbol)->const_int;
+ if ((yyvsp[0].symbol)->const_int != 0) {
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int / (yyvsp[0].symbol)->const_int;
}
}
+#line 2706 "scannerparser.c" /* yacc.c:1646 */
break;
case 44:
-/* Line 1792 of yacc.c */
-#line 553 "giscanner/scannerparser.y"
+#line 553 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- if ((yyvsp[(3) - (3)].symbol)->const_int != 0) {
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int % (yyvsp[(3) - (3)].symbol)->const_int;
+ if ((yyvsp[0].symbol)->const_int != 0) {
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int % (yyvsp[0].symbol)->const_int;
}
}
+#line 2718 "scannerparser.c" /* yacc.c:1646 */
break;
case 46:
-/* Line 1792 of yacc.c */
-#line 565 "giscanner/scannerparser.y"
+#line 565 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int + (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int + (yyvsp[0].symbol)->const_int;
}
+#line 2728 "scannerparser.c" /* yacc.c:1646 */
break;
case 47:
-/* Line 1792 of yacc.c */
-#line 571 "giscanner/scannerparser.y"
+#line 571 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int - (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int - (yyvsp[0].symbol)->const_int;
}
+#line 2738 "scannerparser.c" /* yacc.c:1646 */
break;
case 49:
-/* Line 1792 of yacc.c */
-#line 581 "giscanner/scannerparser.y"
+#line 581 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int << (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int << (yyvsp[0].symbol)->const_int;
/* assume this is a bitfield/flags declaration
* if a left shift operator is sued in an enum value
@@ -2988,165 +2750,165 @@ yyreduce:
*/
is_bitfield = TRUE;
}
+#line 2754 "scannerparser.c" /* yacc.c:1646 */
break;
case 50:
-/* Line 1792 of yacc.c */
-#line 593 "giscanner/scannerparser.y"
+#line 593 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int >> (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int >> (yyvsp[0].symbol)->const_int;
}
+#line 2764 "scannerparser.c" /* yacc.c:1646 */
break;
case 52:
-/* Line 1792 of yacc.c */
-#line 603 "giscanner/scannerparser.y"
+#line 603 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int < (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int < (yyvsp[0].symbol)->const_int;
}
+#line 2774 "scannerparser.c" /* yacc.c:1646 */
break;
case 53:
-/* Line 1792 of yacc.c */
-#line 609 "giscanner/scannerparser.y"
+#line 609 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int > (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int > (yyvsp[0].symbol)->const_int;
}
+#line 2784 "scannerparser.c" /* yacc.c:1646 */
break;
case 54:
-/* Line 1792 of yacc.c */
-#line 615 "giscanner/scannerparser.y"
+#line 615 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int <= (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int <= (yyvsp[0].symbol)->const_int;
}
+#line 2794 "scannerparser.c" /* yacc.c:1646 */
break;
case 55:
-/* Line 1792 of yacc.c */
-#line 621 "giscanner/scannerparser.y"
+#line 621 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int >= (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int >= (yyvsp[0].symbol)->const_int;
}
+#line 2804 "scannerparser.c" /* yacc.c:1646 */
break;
case 57:
-/* Line 1792 of yacc.c */
-#line 631 "giscanner/scannerparser.y"
+#line 631 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int == (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int == (yyvsp[0].symbol)->const_int;
}
+#line 2814 "scannerparser.c" /* yacc.c:1646 */
break;
case 58:
-/* Line 1792 of yacc.c */
-#line 637 "giscanner/scannerparser.y"
+#line 637 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int != (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int != (yyvsp[0].symbol)->const_int;
}
+#line 2824 "scannerparser.c" /* yacc.c:1646 */
break;
case 60:
-/* Line 1792 of yacc.c */
-#line 647 "giscanner/scannerparser.y"
+#line 647 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int & (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int & (yyvsp[0].symbol)->const_int;
}
+#line 2834 "scannerparser.c" /* yacc.c:1646 */
break;
case 62:
-/* Line 1792 of yacc.c */
-#line 657 "giscanner/scannerparser.y"
+#line 657 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int ^ (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int ^ (yyvsp[0].symbol)->const_int;
}
+#line 2844 "scannerparser.c" /* yacc.c:1646 */
break;
case 64:
-/* Line 1792 of yacc.c */
-#line 667 "giscanner/scannerparser.y"
+#line 667 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(1) - (3)].symbol)->const_int | (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[-2].symbol)->const_int | (yyvsp[0].symbol)->const_int;
}
+#line 2854 "scannerparser.c" /* yacc.c:1646 */
break;
case 66:
-/* Line 1792 of yacc.c */
-#line 677 "giscanner/scannerparser.y"
+#line 677 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int =
- gi_source_symbol_get_const_boolean ((yyvsp[(1) - (3)].symbol)) &&
- gi_source_symbol_get_const_boolean ((yyvsp[(3) - (3)].symbol));
+ gi_source_symbol_get_const_boolean ((yyvsp[-2].symbol)) &&
+ gi_source_symbol_get_const_boolean ((yyvsp[0].symbol));
}
+#line 2866 "scannerparser.c" /* yacc.c:1646 */
break;
case 68:
-/* Line 1792 of yacc.c */
-#line 689 "giscanner/scannerparser.y"
+#line 689 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int =
- gi_source_symbol_get_const_boolean ((yyvsp[(1) - (3)].symbol)) ||
- gi_source_symbol_get_const_boolean ((yyvsp[(3) - (3)].symbol));
+ gi_source_symbol_get_const_boolean ((yyvsp[-2].symbol)) ||
+ gi_source_symbol_get_const_boolean ((yyvsp[0].symbol));
}
+#line 2878 "scannerparser.c" /* yacc.c:1646 */
break;
case 70:
-/* Line 1792 of yacc.c */
-#line 701 "giscanner/scannerparser.y"
+#line 701 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = gi_source_symbol_get_const_boolean ((yyvsp[(1) - (5)].symbol)) ? (yyvsp[(3) - (5)].symbol) : (yyvsp[(5) - (5)].symbol);
+ (yyval.symbol) = gi_source_symbol_get_const_boolean ((yyvsp[-4].symbol)) ? (yyvsp[-2].symbol) : (yyvsp[0].symbol);
}
+#line 2886 "scannerparser.c" /* yacc.c:1646 */
break;
case 72:
-/* Line 1792 of yacc.c */
-#line 709 "giscanner/scannerparser.y"
+#line 709 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2894 "scannerparser.c" /* yacc.c:1646 */
break;
case 86:
-/* Line 1792 of yacc.c */
-#line 732 "giscanner/scannerparser.y"
+#line 732 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 2902 "scannerparser.c" /* yacc.c:1646 */
break;
case 88:
-/* Line 1792 of yacc.c */
-#line 745 "giscanner/scannerparser.y"
+#line 745 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GList *l;
- for (l = (yyvsp[(2) - (3)].list); l != NULL; l = l->next) {
+ for (l = (yyvsp[-1].list); l != NULL; l = l->next) {
GISourceSymbol *sym = l->data;
- gi_source_symbol_merge_type (sym, gi_source_type_copy ((yyvsp[(1) - (3)].ctype)));
- if ((yyvsp[(1) - (3)].ctype)->storage_class_specifier & STORAGE_CLASS_TYPEDEF) {
+ gi_source_symbol_merge_type (sym, gi_source_type_copy ((yyvsp[-2].ctype)));
+ if ((yyvsp[-2].ctype)->storage_class_specifier & STORAGE_CLASS_TYPEDEF) {
sym->type = CSYMBOL_TYPE_TYPEDEF;
} else if (sym->base_type->type == CTYPE_FUNCTION) {
sym->type = CSYMBOL_TYPE_FUNCTION;
@@ -3156,242 +2918,242 @@ yyreduce:
gi_source_scanner_add_symbol (scanner, sym);
gi_source_symbol_unref (sym);
}
- ctype_free ((yyvsp[(1) - (3)].ctype));
+ ctype_free ((yyvsp[-2].ctype));
}
+#line 2924 "scannerparser.c" /* yacc.c:1646 */
break;
case 89:
-/* Line 1792 of yacc.c */
-#line 763 "giscanner/scannerparser.y"
+#line 763 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- ctype_free ((yyvsp[(1) - (2)].ctype));
+ ctype_free ((yyvsp[-1].ctype));
}
+#line 2932 "scannerparser.c" /* yacc.c:1646 */
break;
case 90:
-/* Line 1792 of yacc.c */
-#line 770 "giscanner/scannerparser.y"
+#line 770 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
- (yyval.ctype)->storage_class_specifier |= (yyvsp[(1) - (2)].storage_class_specifier);
+ (yyval.ctype) = (yyvsp[0].ctype);
+ (yyval.ctype)->storage_class_specifier |= (yyvsp[-1].storage_class_specifier);
}
+#line 2941 "scannerparser.c" /* yacc.c:1646 */
break;
case 91:
-/* Line 1792 of yacc.c */
-#line 775 "giscanner/scannerparser.y"
+#line 775 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
- (yyval.ctype)->storage_class_specifier |= (yyvsp[(1) - (1)].storage_class_specifier);
+ (yyval.ctype)->storage_class_specifier |= (yyvsp[0].storage_class_specifier);
}
+#line 2950 "scannerparser.c" /* yacc.c:1646 */
break;
case 92:
-/* Line 1792 of yacc.c */
-#line 780 "giscanner/scannerparser.y"
+#line 780 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
+ (yyval.ctype) = (yyvsp[-1].ctype);
/* combine basic types like unsigned int and long long */
- if ((yyval.ctype)->type == CTYPE_BASIC_TYPE && (yyvsp[(2) - (2)].ctype)->type == CTYPE_BASIC_TYPE) {
- char *name = g_strdup_printf ("%s %s", (yyval.ctype)->name, (yyvsp[(2) - (2)].ctype)->name);
+ if ((yyval.ctype)->type == CTYPE_BASIC_TYPE && (yyvsp[0].ctype)->type == CTYPE_BASIC_TYPE) {
+ char *name = g_strdup_printf ("%s %s", (yyval.ctype)->name, (yyvsp[0].ctype)->name);
g_free ((yyval.ctype)->name);
(yyval.ctype)->name = name;
- ctype_free ((yyvsp[(2) - (2)].ctype));
+ ctype_free ((yyvsp[0].ctype));
} else {
- (yyval.ctype)->base_type = (yyvsp[(2) - (2)].ctype);
+ (yyval.ctype)->base_type = (yyvsp[0].ctype);
}
}
+#line 2967 "scannerparser.c" /* yacc.c:1646 */
break;
case 94:
-/* Line 1792 of yacc.c */
-#line 794 "giscanner/scannerparser.y"
+#line 794 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
- (yyval.ctype)->type_qualifier |= (yyvsp[(1) - (2)].type_qualifier);
+ (yyval.ctype) = (yyvsp[0].ctype);
+ (yyval.ctype)->type_qualifier |= (yyvsp[-1].type_qualifier);
}
+#line 2976 "scannerparser.c" /* yacc.c:1646 */
break;
case 95:
-/* Line 1792 of yacc.c */
-#line 799 "giscanner/scannerparser.y"
+#line 799 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
- (yyval.ctype)->type_qualifier |= (yyvsp[(1) - (1)].type_qualifier);
+ (yyval.ctype)->type_qualifier |= (yyvsp[0].type_qualifier);
}
+#line 2985 "scannerparser.c" /* yacc.c:1646 */
break;
case 96:
-/* Line 1792 of yacc.c */
-#line 804 "giscanner/scannerparser.y"
+#line 804 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
- (yyval.ctype)->function_specifier |= (yyvsp[(1) - (2)].function_specifier);
+ (yyval.ctype) = (yyvsp[0].ctype);
+ (yyval.ctype)->function_specifier |= (yyvsp[-1].function_specifier);
}
+#line 2994 "scannerparser.c" /* yacc.c:1646 */
break;
case 97:
-/* Line 1792 of yacc.c */
-#line 809 "giscanner/scannerparser.y"
+#line 809 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
- (yyval.ctype)->function_specifier |= (yyvsp[(1) - (1)].function_specifier);
+ (yyval.ctype)->function_specifier |= (yyvsp[0].function_specifier);
}
+#line 3003 "scannerparser.c" /* yacc.c:1646 */
break;
case 98:
-/* Line 1792 of yacc.c */
-#line 817 "giscanner/scannerparser.y"
+#line 817 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
+ (yyval.list) = g_list_append (NULL, (yyvsp[0].symbol));
}
+#line 3011 "scannerparser.c" /* yacc.c:1646 */
break;
case 99:
-/* Line 1792 of yacc.c */
-#line 821 "giscanner/scannerparser.y"
+#line 821 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
+ (yyval.list) = g_list_append ((yyvsp[-2].list), (yyvsp[0].symbol));
}
+#line 3019 "scannerparser.c" /* yacc.c:1646 */
break;
case 102:
-/* Line 1792 of yacc.c */
-#line 833 "giscanner/scannerparser.y"
+#line 833 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_TYPEDEF;
}
+#line 3027 "scannerparser.c" /* yacc.c:1646 */
break;
case 103:
-/* Line 1792 of yacc.c */
-#line 837 "giscanner/scannerparser.y"
+#line 837 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_EXTERN;
}
+#line 3035 "scannerparser.c" /* yacc.c:1646 */
break;
case 104:
-/* Line 1792 of yacc.c */
-#line 841 "giscanner/scannerparser.y"
+#line 841 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_STATIC;
}
+#line 3043 "scannerparser.c" /* yacc.c:1646 */
break;
case 105:
-/* Line 1792 of yacc.c */
-#line 845 "giscanner/scannerparser.y"
+#line 845 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_AUTO;
}
+#line 3051 "scannerparser.c" /* yacc.c:1646 */
break;
case 106:
-/* Line 1792 of yacc.c */
-#line 849 "giscanner/scannerparser.y"
+#line 849 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.storage_class_specifier) = STORAGE_CLASS_REGISTER;
}
+#line 3059 "scannerparser.c" /* yacc.c:1646 */
break;
case 107:
-/* Line 1792 of yacc.c */
-#line 856 "giscanner/scannerparser.y"
+#line 856 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_VOID);
}
+#line 3067 "scannerparser.c" /* yacc.c:1646 */
break;
case 108:
-/* Line 1792 of yacc.c */
-#line 860 "giscanner/scannerparser.y"
+#line 860 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("char");
}
+#line 3075 "scannerparser.c" /* yacc.c:1646 */
break;
case 109:
-/* Line 1792 of yacc.c */
-#line 864 "giscanner/scannerparser.y"
+#line 864 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("short");
}
+#line 3083 "scannerparser.c" /* yacc.c:1646 */
break;
case 110:
-/* Line 1792 of yacc.c */
-#line 868 "giscanner/scannerparser.y"
+#line 868 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("int");
}
+#line 3091 "scannerparser.c" /* yacc.c:1646 */
break;
case 111:
-/* Line 1792 of yacc.c */
-#line 872 "giscanner/scannerparser.y"
+#line 872 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("long");
}
+#line 3099 "scannerparser.c" /* yacc.c:1646 */
break;
case 112:
-/* Line 1792 of yacc.c */
-#line 876 "giscanner/scannerparser.y"
+#line 876 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("float");
}
+#line 3107 "scannerparser.c" /* yacc.c:1646 */
break;
case 113:
-/* Line 1792 of yacc.c */
-#line 880 "giscanner/scannerparser.y"
+#line 880 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("double");
}
+#line 3115 "scannerparser.c" /* yacc.c:1646 */
break;
case 114:
-/* Line 1792 of yacc.c */
-#line 884 "giscanner/scannerparser.y"
+#line 884 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("signed");
}
+#line 3123 "scannerparser.c" /* yacc.c:1646 */
break;
case 115:
-/* Line 1792 of yacc.c */
-#line 888 "giscanner/scannerparser.y"
+#line 888 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("unsigned");
}
+#line 3131 "scannerparser.c" /* yacc.c:1646 */
break;
case 116:
-/* Line 1792 of yacc.c */
-#line 892 "giscanner/scannerparser.y"
+#line 892 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_basic_type_new ("bool");
}
+#line 3139 "scannerparser.c" /* yacc.c:1646 */
break;
case 119:
-/* Line 1792 of yacc.c */
-#line 898 "giscanner/scannerparser.y"
+#line 898 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = gi_source_typedef_new ((yyvsp[(1) - (1)].str));
- g_free ((yyvsp[(1) - (1)].str));
+ (yyval.ctype) = gi_source_typedef_new ((yyvsp[0].str));
+ g_free ((yyvsp[0].str));
}
+#line 3148 "scannerparser.c" /* yacc.c:1646 */
break;
case 120:
-/* Line 1792 of yacc.c */
-#line 906 "giscanner/scannerparser.y"
+#line 906 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceSymbol *sym;
- (yyval.ctype) = (yyvsp[(1) - (5)].ctype);
- (yyval.ctype)->name = (yyvsp[(2) - (5)].str);
- (yyval.ctype)->child_list = (yyvsp[(4) - (5)].list);
+ (yyval.ctype) = (yyvsp[-4].ctype);
+ (yyval.ctype)->name = (yyvsp[-3].str);
+ (yyval.ctype)->child_list = (yyvsp[-1].list);
sym = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
if ((yyval.ctype)->type == CTYPE_STRUCT) {
@@ -3406,724 +3168,724 @@ yyreduce:
gi_source_scanner_add_symbol (scanner, sym);
gi_source_symbol_unref (sym);
}
+#line 3172 "scannerparser.c" /* yacc.c:1646 */
break;
case 121:
-/* Line 1792 of yacc.c */
-#line 926 "giscanner/scannerparser.y"
+#line 926 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = (yyvsp[(1) - (4)].ctype);
- (yyval.ctype)->child_list = (yyvsp[(3) - (4)].list);
+ (yyval.ctype) = (yyvsp[-3].ctype);
+ (yyval.ctype)->child_list = (yyvsp[-1].list);
}
+#line 3181 "scannerparser.c" /* yacc.c:1646 */
break;
case 122:
-/* Line 1792 of yacc.c */
-#line 931 "giscanner/scannerparser.y"
+#line 931 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
- (yyval.ctype)->name = (yyvsp[(2) - (2)].str);
+ (yyval.ctype) = (yyvsp[-1].ctype);
+ (yyval.ctype)->name = (yyvsp[0].str);
}
+#line 3190 "scannerparser.c" /* yacc.c:1646 */
break;
case 123:
-/* Line 1792 of yacc.c */
-#line 939 "giscanner/scannerparser.y"
+#line 939 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
scanner->private = FALSE;
(yyval.ctype) = gi_source_struct_new (NULL);
}
+#line 3199 "scannerparser.c" /* yacc.c:1646 */
break;
case 124:
-/* Line 1792 of yacc.c */
-#line 944 "giscanner/scannerparser.y"
+#line 944 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
scanner->private = FALSE;
(yyval.ctype) = gi_source_union_new (NULL);
}
+#line 3208 "scannerparser.c" /* yacc.c:1646 */
break;
case 126:
-/* Line 1792 of yacc.c */
-#line 953 "giscanner/scannerparser.y"
+#line 953 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.list) = g_list_concat ((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list));
+ (yyval.list) = g_list_concat ((yyvsp[-1].list), (yyvsp[0].list));
}
+#line 3216 "scannerparser.c" /* yacc.c:1646 */
break;
case 127:
-/* Line 1792 of yacc.c */
-#line 960 "giscanner/scannerparser.y"
+#line 960 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GList *l;
(yyval.list) = NULL;
- for (l = (yyvsp[(2) - (3)].list); l != NULL; l = l->next)
+ for (l = (yyvsp[-1].list); l != NULL; l = l->next)
{
GISourceSymbol *sym = l->data;
- if ((yyvsp[(1) - (3)].ctype)->storage_class_specifier & STORAGE_CLASS_TYPEDEF)
+ if ((yyvsp[-2].ctype)->storage_class_specifier & STORAGE_CLASS_TYPEDEF)
sym->type = CSYMBOL_TYPE_TYPEDEF;
else
sym->type = CSYMBOL_TYPE_MEMBER;
- gi_source_symbol_merge_type (sym, gi_source_type_copy ((yyvsp[(1) - (3)].ctype)));
+ gi_source_symbol_merge_type (sym, gi_source_type_copy ((yyvsp[-2].ctype)));
sym->private = scanner->private;
(yyval.list) = g_list_append ((yyval.list), sym);
}
- ctype_free ((yyvsp[(1) - (3)].ctype));
+ ctype_free ((yyvsp[-2].ctype));
}
+#line 3237 "scannerparser.c" /* yacc.c:1646 */
break;
case 128:
-/* Line 1792 of yacc.c */
-#line 980 "giscanner/scannerparser.y"
+#line 980 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
- (yyval.ctype)->base_type = (yyvsp[(2) - (2)].ctype);
+ (yyval.ctype) = (yyvsp[-1].ctype);
+ (yyval.ctype)->base_type = (yyvsp[0].ctype);
}
+#line 3246 "scannerparser.c" /* yacc.c:1646 */
break;
case 130:
-/* Line 1792 of yacc.c */
-#line 986 "giscanner/scannerparser.y"
+#line 986 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
- (yyval.ctype)->type_qualifier |= (yyvsp[(1) - (2)].type_qualifier);
+ (yyval.ctype) = (yyvsp[0].ctype);
+ (yyval.ctype)->type_qualifier |= (yyvsp[-1].type_qualifier);
}
+#line 3255 "scannerparser.c" /* yacc.c:1646 */
break;
case 131:
-/* Line 1792 of yacc.c */
-#line 991 "giscanner/scannerparser.y"
+#line 991 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
- (yyval.ctype)->type_qualifier |= (yyvsp[(1) - (1)].type_qualifier);
+ (yyval.ctype)->type_qualifier |= (yyvsp[0].type_qualifier);
}
+#line 3264 "scannerparser.c" /* yacc.c:1646 */
break;
case 132:
-/* Line 1792 of yacc.c */
-#line 999 "giscanner/scannerparser.y"
+#line 999 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
+ (yyval.list) = g_list_append (NULL, (yyvsp[0].symbol));
}
+#line 3272 "scannerparser.c" /* yacc.c:1646 */
break;
case 133:
-/* Line 1792 of yacc.c */
-#line 1003 "giscanner/scannerparser.y"
+#line 1003 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
+ (yyval.list) = g_list_append ((yyvsp[-2].list), (yyvsp[0].symbol));
}
+#line 3280 "scannerparser.c" /* yacc.c:1646 */
break;
case 134:
-/* Line 1792 of yacc.c */
-#line 1010 "giscanner/scannerparser.y"
+#line 1010 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 3288 "scannerparser.c" /* yacc.c:1646 */
break;
case 136:
-/* Line 1792 of yacc.c */
-#line 1015 "giscanner/scannerparser.y"
+#line 1015 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
}
+#line 3296 "scannerparser.c" /* yacc.c:1646 */
break;
case 137:
-/* Line 1792 of yacc.c */
-#line 1019 "giscanner/scannerparser.y"
+#line 1019 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
- if ((yyvsp[(3) - (3)].symbol)->const_int_set) {
+ (yyval.symbol) = (yyvsp[-2].symbol);
+ if ((yyvsp[0].symbol)->const_int_set) {
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[0].symbol)->const_int;
}
}
+#line 3308 "scannerparser.c" /* yacc.c:1646 */
break;
case 138:
-/* Line 1792 of yacc.c */
-#line 1030 "giscanner/scannerparser.y"
+#line 1030 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = gi_source_enum_new ((yyvsp[(2) - (5)].str));
- (yyval.ctype)->child_list = (yyvsp[(4) - (5)].list);
+ (yyval.ctype) = gi_source_enum_new ((yyvsp[-3].str));
+ (yyval.ctype)->child_list = (yyvsp[-1].list);
(yyval.ctype)->is_bitfield = is_bitfield || scanner->flags;
last_enum_value = -1;
}
+#line 3319 "scannerparser.c" /* yacc.c:1646 */
break;
case 139:
-/* Line 1792 of yacc.c */
-#line 1037 "giscanner/scannerparser.y"
+#line 1037 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_enum_new (NULL);
- (yyval.ctype)->child_list = (yyvsp[(3) - (4)].list);
+ (yyval.ctype)->child_list = (yyvsp[-1].list);
(yyval.ctype)->is_bitfield = is_bitfield || scanner->flags;
last_enum_value = -1;
}
+#line 3330 "scannerparser.c" /* yacc.c:1646 */
break;
case 140:
-/* Line 1792 of yacc.c */
-#line 1044 "giscanner/scannerparser.y"
+#line 1044 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = gi_source_enum_new ((yyvsp[(2) - (6)].str));
- (yyval.ctype)->child_list = (yyvsp[(4) - (6)].list);
+ (yyval.ctype) = gi_source_enum_new ((yyvsp[-4].str));
+ (yyval.ctype)->child_list = (yyvsp[-2].list);
(yyval.ctype)->is_bitfield = is_bitfield || scanner->flags;
last_enum_value = -1;
}
+#line 3341 "scannerparser.c" /* yacc.c:1646 */
break;
case 141:
-/* Line 1792 of yacc.c */
-#line 1051 "giscanner/scannerparser.y"
+#line 1051 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_enum_new (NULL);
- (yyval.ctype)->child_list = (yyvsp[(3) - (5)].list);
+ (yyval.ctype)->child_list = (yyvsp[-2].list);
(yyval.ctype)->is_bitfield = is_bitfield || scanner->flags;
last_enum_value = -1;
}
+#line 3352 "scannerparser.c" /* yacc.c:1646 */
break;
case 142:
-/* Line 1792 of yacc.c */
-#line 1058 "giscanner/scannerparser.y"
+#line 1058 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.ctype) = gi_source_enum_new ((yyvsp[(2) - (2)].str));
+ (yyval.ctype) = gi_source_enum_new ((yyvsp[0].str));
}
+#line 3360 "scannerparser.c" /* yacc.c:1646 */
break;
case 143:
-/* Line 1792 of yacc.c */
-#line 1065 "giscanner/scannerparser.y"
+#line 1065 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
scanner->flags = FALSE;
scanner->private = FALSE;
}
+#line 3369 "scannerparser.c" /* yacc.c:1646 */
break;
case 144:
-/* Line 1792 of yacc.c */
-#line 1073 "giscanner/scannerparser.y"
+#line 1073 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
/* reset flag before the first enum value */
is_bitfield = FALSE;
}
+#line 3378 "scannerparser.c" /* yacc.c:1646 */
break;
case 145:
-/* Line 1792 of yacc.c */
-#line 1078 "giscanner/scannerparser.y"
+#line 1078 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyvsp[(2) - (2)].symbol)->private = scanner->private;
- (yyval.list) = g_list_append (NULL, (yyvsp[(2) - (2)].symbol));
+ (yyvsp[0].symbol)->private = scanner->private;
+ (yyval.list) = g_list_append (NULL, (yyvsp[0].symbol));
}
+#line 3387 "scannerparser.c" /* yacc.c:1646 */
break;
case 146:
-/* Line 1792 of yacc.c */
-#line 1083 "giscanner/scannerparser.y"
+#line 1083 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyvsp[(3) - (3)].symbol)->private = scanner->private;
- (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
+ (yyvsp[0].symbol)->private = scanner->private;
+ (yyval.list) = g_list_append ((yyvsp[-2].list), (yyvsp[0].symbol));
}
+#line 3396 "scannerparser.c" /* yacc.c:1646 */
break;
case 147:
-/* Line 1792 of yacc.c */
-#line 1091 "giscanner/scannerparser.y"
+#line 1091 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_OBJECT, scanner->current_file, lineno);
- (yyval.symbol)->ident = (yyvsp[(1) - (1)].str);
+ (yyval.symbol)->ident = (yyvsp[0].str);
(yyval.symbol)->const_int_set = TRUE;
(yyval.symbol)->const_int = ++last_enum_value;
g_hash_table_insert (const_table, g_strdup ((yyval.symbol)->ident), gi_source_symbol_ref ((yyval.symbol)));
}
+#line 3408 "scannerparser.c" /* yacc.c:1646 */
break;
case 148:
-/* Line 1792 of yacc.c */
-#line 1099 "giscanner/scannerparser.y"
+#line 1099 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_OBJECT, scanner->current_file, lineno);
- (yyval.symbol)->ident = (yyvsp[(1) - (3)].str);
+ (yyval.symbol)->ident = (yyvsp[-2].str);
(yyval.symbol)->const_int_set = TRUE;
- (yyval.symbol)->const_int = (yyvsp[(3) - (3)].symbol)->const_int;
+ (yyval.symbol)->const_int = (yyvsp[0].symbol)->const_int;
last_enum_value = (yyval.symbol)->const_int;
g_hash_table_insert (const_table, g_strdup ((yyval.symbol)->ident), gi_source_symbol_ref ((yyval.symbol)));
}
+#line 3421 "scannerparser.c" /* yacc.c:1646 */
break;
case 149:
-/* Line 1792 of yacc.c */
-#line 1111 "giscanner/scannerparser.y"
+#line 1111 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.type_qualifier) = TYPE_QUALIFIER_CONST;
}
+#line 3429 "scannerparser.c" /* yacc.c:1646 */
break;
case 150:
-/* Line 1792 of yacc.c */
-#line 1115 "giscanner/scannerparser.y"
+#line 1115 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.type_qualifier) = TYPE_QUALIFIER_RESTRICT;
}
+#line 3437 "scannerparser.c" /* yacc.c:1646 */
break;
case 151:
-/* Line 1792 of yacc.c */
-#line 1119 "giscanner/scannerparser.y"
+#line 1119 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.type_qualifier) = TYPE_QUALIFIER_EXTENSION;
}
+#line 3445 "scannerparser.c" /* yacc.c:1646 */
break;
case 152:
-/* Line 1792 of yacc.c */
-#line 1123 "giscanner/scannerparser.y"
+#line 1123 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.type_qualifier) = TYPE_QUALIFIER_VOLATILE;
}
+#line 3453 "scannerparser.c" /* yacc.c:1646 */
break;
case 153:
-/* Line 1792 of yacc.c */
-#line 1130 "giscanner/scannerparser.y"
+#line 1130 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.function_specifier) = FUNCTION_INLINE;
}
+#line 3461 "scannerparser.c" /* yacc.c:1646 */
break;
case 154:
-/* Line 1792 of yacc.c */
-#line 1137 "giscanner/scannerparser.y"
+#line 1137 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
- gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (2)].ctype));
+ (yyval.symbol) = (yyvsp[0].symbol);
+ gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[-1].ctype));
}
+#line 3470 "scannerparser.c" /* yacc.c:1646 */
break;
case 156:
-/* Line 1792 of yacc.c */
-#line 1146 "giscanner/scannerparser.y"
+#line 1146 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
- (yyval.symbol)->ident = (yyvsp[(1) - (1)].str);
+ (yyval.symbol)->ident = (yyvsp[0].str);
}
+#line 3479 "scannerparser.c" /* yacc.c:1646 */
break;
case 157:
-/* Line 1792 of yacc.c */
-#line 1151 "giscanner/scannerparser.y"
+#line 1151 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
+ (yyval.symbol) = (yyvsp[-1].symbol);
}
+#line 3487 "scannerparser.c" /* yacc.c:1646 */
break;
case 158:
-/* Line 1792 of yacc.c */
-#line 1155 "giscanner/scannerparser.y"
+#line 1155 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
- gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[(3) - (4)].symbol)));
+ (yyval.symbol) = (yyvsp[-3].symbol);
+ gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[-1].symbol)));
}
+#line 3496 "scannerparser.c" /* yacc.c:1646 */
break;
case 159:
-/* Line 1792 of yacc.c */
-#line 1160 "giscanner/scannerparser.y"
+#line 1160 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
+ (yyval.symbol) = (yyvsp[-2].symbol);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new (NULL));
}
+#line 3505 "scannerparser.c" /* yacc.c:1646 */
break;
case 160:
-/* Line 1792 of yacc.c */
-#line 1165 "giscanner/scannerparser.y"
+#line 1165 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list
- if ((yyvsp[(3) - (4)].list) != NULL && ((yyvsp[(3) - (4)].list)->next != NULL || ((GISourceSymbol *) (yyvsp[(3) - (4)].list)->data)->base_type->type != CTYPE_VOID)) {
- func->child_list = (yyvsp[(3) - (4)].list);
+ if ((yyvsp[-1].list) != NULL && ((yyvsp[-1].list)->next != NULL || ((GISourceSymbol *) (yyvsp[-1].list)->data)->base_type->type != CTYPE_VOID)) {
+ func->child_list = (yyvsp[-1].list);
}
- (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
+ (yyval.symbol) = (yyvsp[-3].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
+#line 3519 "scannerparser.c" /* yacc.c:1646 */
break;
case 161:
-/* Line 1792 of yacc.c */
-#line 1175 "giscanner/scannerparser.y"
+#line 1175 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceType *func = gi_source_function_new ();
- func->child_list = (yyvsp[(3) - (4)].list);
- (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
+ func->child_list = (yyvsp[-1].list);
+ (yyval.symbol) = (yyvsp[-3].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
+#line 3530 "scannerparser.c" /* yacc.c:1646 */
break;
case 162:
-/* Line 1792 of yacc.c */
-#line 1182 "giscanner/scannerparser.y"
+#line 1182 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceType *func = gi_source_function_new ();
- (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
+ (yyval.symbol) = (yyvsp[-2].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
+#line 3540 "scannerparser.c" /* yacc.c:1646 */
break;
case 163:
-/* Line 1792 of yacc.c */
-#line 1191 "giscanner/scannerparser.y"
+#line 1191 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_pointer_new (NULL);
- (yyval.ctype)->type_qualifier = (yyvsp[(2) - (2)].type_qualifier);
+ (yyval.ctype)->type_qualifier = (yyvsp[0].type_qualifier);
}
+#line 3549 "scannerparser.c" /* yacc.c:1646 */
break;
case 164:
-/* Line 1792 of yacc.c */
-#line 1196 "giscanner/scannerparser.y"
+#line 1196 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.ctype) = gi_source_pointer_new (NULL);
}
+#line 3557 "scannerparser.c" /* yacc.c:1646 */
break;
case 165:
-/* Line 1792 of yacc.c */
-#line 1200 "giscanner/scannerparser.y"
+#line 1200 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- GISourceType **base = &((yyvsp[(3) - (3)].ctype)->base_type);
+ GISourceType **base = &((yyvsp[0].ctype)->base_type);
while (*base != NULL) {
base = &((*base)->base_type);
}
*base = gi_source_pointer_new (NULL);
- (*base)->type_qualifier = (yyvsp[(2) - (3)].type_qualifier);
- (yyval.ctype) = (yyvsp[(3) - (3)].ctype);
+ (*base)->type_qualifier = (yyvsp[-1].type_qualifier);
+ (yyval.ctype) = (yyvsp[0].ctype);
}
+#line 3572 "scannerparser.c" /* yacc.c:1646 */
break;
case 166:
-/* Line 1792 of yacc.c */
-#line 1211 "giscanner/scannerparser.y"
+#line 1211 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- GISourceType **base = &((yyvsp[(2) - (2)].ctype)->base_type);
+ GISourceType **base = &((yyvsp[0].ctype)->base_type);
while (*base != NULL) {
base = &((*base)->base_type);
}
*base = gi_source_pointer_new (NULL);
- (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
+ (yyval.ctype) = (yyvsp[0].ctype);
}
+#line 3586 "scannerparser.c" /* yacc.c:1646 */
break;
case 168:
-/* Line 1792 of yacc.c */
-#line 1225 "giscanner/scannerparser.y"
+#line 1225 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier) | (yyvsp[(2) - (2)].type_qualifier);
+ (yyval.type_qualifier) = (yyvsp[-1].type_qualifier) | (yyvsp[0].type_qualifier);
}
+#line 3594 "scannerparser.c" /* yacc.c:1646 */
break;
case 169:
-/* Line 1792 of yacc.c */
-#line 1232 "giscanner/scannerparser.y"
+#line 1232 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
+ (yyval.list) = g_list_append (NULL, (yyvsp[0].symbol));
}
+#line 3602 "scannerparser.c" /* yacc.c:1646 */
break;
case 170:
-/* Line 1792 of yacc.c */
-#line 1236 "giscanner/scannerparser.y"
+#line 1236 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
+ (yyval.list) = g_list_append ((yyvsp[-2].list), (yyvsp[0].symbol));
}
+#line 3610 "scannerparser.c" /* yacc.c:1646 */
break;
case 171:
-/* Line 1792 of yacc.c */
-#line 1243 "giscanner/scannerparser.y"
+#line 1243 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
- gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (2)].ctype));
+ (yyval.symbol) = (yyvsp[0].symbol);
+ gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[-1].ctype));
}
+#line 3619 "scannerparser.c" /* yacc.c:1646 */
break;
case 172:
-/* Line 1792 of yacc.c */
-#line 1248 "giscanner/scannerparser.y"
+#line 1248 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
- gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (2)].ctype));
+ (yyval.symbol) = (yyvsp[0].symbol);
+ gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[-1].ctype));
}
+#line 3628 "scannerparser.c" /* yacc.c:1646 */
break;
case 173:
-/* Line 1792 of yacc.c */
-#line 1253 "giscanner/scannerparser.y"
+#line 1253 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
- (yyval.symbol)->base_type = (yyvsp[(1) - (1)].ctype);
+ (yyval.symbol)->base_type = (yyvsp[0].ctype);
}
+#line 3637 "scannerparser.c" /* yacc.c:1646 */
break;
case 174:
-/* Line 1792 of yacc.c */
-#line 1258 "giscanner/scannerparser.y"
+#line 1258 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_ELLIPSIS, scanner->current_file, lineno);
}
+#line 3645 "scannerparser.c" /* yacc.c:1646 */
break;
case 175:
-/* Line 1792 of yacc.c */
-#line 1265 "giscanner/scannerparser.y"
+#line 1265 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceSymbol *sym = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
- sym->ident = (yyvsp[(1) - (1)].str);
+ sym->ident = (yyvsp[0].str);
(yyval.list) = g_list_append (NULL, sym);
}
+#line 3655 "scannerparser.c" /* yacc.c:1646 */
break;
case 176:
-/* Line 1792 of yacc.c */
-#line 1271 "giscanner/scannerparser.y"
+#line 1271 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceSymbol *sym = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
- sym->ident = (yyvsp[(3) - (3)].str);
- (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), sym);
+ sym->ident = (yyvsp[0].str);
+ (yyval.list) = g_list_append ((yyvsp[-2].list), sym);
}
+#line 3665 "scannerparser.c" /* yacc.c:1646 */
break;
case 179:
-/* Line 1792 of yacc.c */
-#line 1285 "giscanner/scannerparser.y"
+#line 1285 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
- gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (1)].ctype));
+ gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[0].ctype));
}
+#line 3674 "scannerparser.c" /* yacc.c:1646 */
break;
case 181:
-/* Line 1792 of yacc.c */
-#line 1291 "giscanner/scannerparser.y"
+#line 1291 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
- gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (2)].ctype));
+ (yyval.symbol) = (yyvsp[0].symbol);
+ gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[-1].ctype));
}
+#line 3683 "scannerparser.c" /* yacc.c:1646 */
break;
case 182:
-/* Line 1792 of yacc.c */
-#line 1299 "giscanner/scannerparser.y"
+#line 1299 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
+ (yyval.symbol) = (yyvsp[-1].symbol);
}
+#line 3691 "scannerparser.c" /* yacc.c:1646 */
break;
case 183:
-/* Line 1792 of yacc.c */
-#line 1303 "giscanner/scannerparser.y"
+#line 1303 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new (NULL));
}
+#line 3700 "scannerparser.c" /* yacc.c:1646 */
break;
case 184:
-/* Line 1792 of yacc.c */
-#line 1308 "giscanner/scannerparser.y"
+#line 1308 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
- gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[(2) - (3)].symbol)));
+ gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[-1].symbol)));
}
+#line 3709 "scannerparser.c" /* yacc.c:1646 */
break;
case 185:
-/* Line 1792 of yacc.c */
-#line 1313 "giscanner/scannerparser.y"
+#line 1313 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
+ (yyval.symbol) = (yyvsp[-2].symbol);
gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new (NULL));
}
+#line 3718 "scannerparser.c" /* yacc.c:1646 */
break;
case 186:
-/* Line 1792 of yacc.c */
-#line 1318 "giscanner/scannerparser.y"
+#line 1318 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
- gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[(3) - (4)].symbol)));
+ (yyval.symbol) = (yyvsp[-3].symbol);
+ gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[-1].symbol)));
}
+#line 3727 "scannerparser.c" /* yacc.c:1646 */
break;
case 187:
-/* Line 1792 of yacc.c */
-#line 1323 "giscanner/scannerparser.y"
+#line 1323 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceType *func = gi_source_function_new ();
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
+#line 3737 "scannerparser.c" /* yacc.c:1646 */
break;
case 188:
-/* Line 1792 of yacc.c */
-#line 1329 "giscanner/scannerparser.y"
+#line 1329 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list
- if ((yyvsp[(2) - (3)].list) != NULL && ((yyvsp[(2) - (3)].list)->next != NULL || ((GISourceSymbol *) (yyvsp[(2) - (3)].list)->data)->base_type->type != CTYPE_VOID)) {
- func->child_list = (yyvsp[(2) - (3)].list);
+ if ((yyvsp[-1].list) != NULL && ((yyvsp[-1].list)->next != NULL || ((GISourceSymbol *) (yyvsp[-1].list)->data)->base_type->type != CTYPE_VOID)) {
+ func->child_list = (yyvsp[-1].list);
}
(yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
+#line 3751 "scannerparser.c" /* yacc.c:1646 */
break;
case 189:
-/* Line 1792 of yacc.c */
-#line 1339 "giscanner/scannerparser.y"
+#line 1339 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceType *func = gi_source_function_new ();
- (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
+ (yyval.symbol) = (yyvsp[-2].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
+#line 3761 "scannerparser.c" /* yacc.c:1646 */
break;
case 190:
-/* Line 1792 of yacc.c */
-#line 1345 "giscanner/scannerparser.y"
+#line 1345 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list
- if ((yyvsp[(3) - (4)].list) != NULL && ((yyvsp[(3) - (4)].list)->next != NULL || ((GISourceSymbol *) (yyvsp[(3) - (4)].list)->data)->base_type->type != CTYPE_VOID)) {
- func->child_list = (yyvsp[(3) - (4)].list);
+ if ((yyvsp[-1].list) != NULL && ((yyvsp[-1].list)->next != NULL || ((GISourceSymbol *) (yyvsp[-1].list)->data)->base_type->type != CTYPE_VOID)) {
+ func->child_list = (yyvsp[-1].list);
}
- (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
+ (yyval.symbol) = (yyvsp[-3].symbol);
gi_source_symbol_merge_type ((yyval.symbol), func);
}
+#line 3775 "scannerparser.c" /* yacc.c:1646 */
break;
case 191:
-/* Line 1792 of yacc.c */
-#line 1358 "giscanner/scannerparser.y"
+#line 1358 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.str) = g_strdup (yytext);
}
+#line 3783 "scannerparser.c" /* yacc.c:1646 */
break;
case 241:
-/* Line 1792 of yacc.c */
-#line 1465 "giscanner/scannerparser.y"
+#line 1465 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.str) = g_strdup (yytext + strlen ("#define "));
}
+#line 3791 "scannerparser.c" /* yacc.c:1646 */
break;
case 242:
-/* Line 1792 of yacc.c */
-#line 1472 "giscanner/scannerparser.y"
+#line 1472 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
(yyval.str) = g_strdup (yytext + strlen ("#define "));
}
+#line 3799 "scannerparser.c" /* yacc.c:1646 */
break;
case 244:
-/* Line 1792 of yacc.c */
-#line 1483 "giscanner/scannerparser.y"
+#line 1483 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (2)].symbol)->const_int_set || (yyvsp[(2) - (2)].symbol)->const_boolean_set || (yyvsp[(2) - (2)].symbol)->const_double_set || (yyvsp[(2) - (2)].symbol)->const_string != NULL) {
- (yyvsp[(2) - (2)].symbol)->ident = (yyvsp[(1) - (2)].str);
- gi_source_scanner_add_symbol (scanner, (yyvsp[(2) - (2)].symbol));
- gi_source_symbol_unref ((yyvsp[(2) - (2)].symbol));
+ if ((yyvsp[0].symbol)->const_int_set || (yyvsp[0].symbol)->const_boolean_set || (yyvsp[0].symbol)->const_double_set || (yyvsp[0].symbol)->const_string != NULL) {
+ (yyvsp[0].symbol)->ident = (yyvsp[-1].str);
+ gi_source_scanner_add_symbol (scanner, (yyvsp[0].symbol));
+ gi_source_symbol_unref ((yyvsp[0].symbol));
}
}
+#line 3811 "scannerparser.c" /* yacc.c:1646 */
break;
case 245:
-/* Line 1792 of yacc.c */
-#line 1494 "giscanner/scannerparser.y"
+#line 1494 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
push_conditional (scanner, FOR_GI_SCANNER);
update_skipping (scanner);
}
+#line 3820 "scannerparser.c" /* yacc.c:1646 */
break;
case 246:
-/* Line 1792 of yacc.c */
-#line 1499 "giscanner/scannerparser.y"
+#line 1499 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
push_conditional (scanner, NOT_GI_SCANNER);
update_skipping (scanner);
}
+#line 3829 "scannerparser.c" /* yacc.c:1646 */
break;
case 247:
-/* Line 1792 of yacc.c */
-#line 1504 "giscanner/scannerparser.y"
+#line 1504 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
warn_if_cond_has_gi_scanner (scanner, yytext);
push_conditional (scanner, IRRELEVANT);
}
+#line 3838 "scannerparser.c" /* yacc.c:1646 */
break;
case 248:
-/* Line 1792 of yacc.c */
-#line 1509 "giscanner/scannerparser.y"
+#line 1509 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
warn_if_cond_has_gi_scanner (scanner, yytext);
push_conditional (scanner, IRRELEVANT);
}
+#line 3847 "scannerparser.c" /* yacc.c:1646 */
break;
case 249:
-/* Line 1792 of yacc.c */
-#line 1514 "giscanner/scannerparser.y"
+#line 1514 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
warn_if_cond_has_gi_scanner (scanner, yytext);
push_conditional (scanner, IRRELEVANT);
}
+#line 3856 "scannerparser.c" /* yacc.c:1646 */
break;
case 250:
-/* Line 1792 of yacc.c */
-#line 1519 "giscanner/scannerparser.y"
+#line 1519 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
warn_if_cond_has_gi_scanner (scanner, yytext);
pop_conditional (scanner);
push_conditional (scanner, IRRELEVANT);
update_skipping (scanner);
}
+#line 3867 "scannerparser.c" /* yacc.c:1646 */
break;
case 251:
-/* Line 1792 of yacc.c */
-#line 1526 "giscanner/scannerparser.y"
+#line 1526 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
toggle_conditional (scanner);
update_skipping (scanner);
}
+#line 3876 "scannerparser.c" /* yacc.c:1646 */
break;
case 252:
-/* Line 1792 of yacc.c */
-#line 1531 "giscanner/scannerparser.y"
+#line 1531 "giscanner/scannerparser.y" /* yacc.c:1646 */
{
pop_conditional (scanner);
update_skipping (scanner);
}
+#line 3885 "scannerparser.c" /* yacc.c:1646 */
break;
-/* Line 1792 of yacc.c */
-#line 4127 "scannerparser.c"
+#line 3889 "scannerparser.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4145,7 +3907,7 @@ yyreduce:
*++yyvsp = yyval;
- /* Now `shift' the result of the reduction. Determine what state
+ /* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -4160,9 +3922,9 @@ yyreduce:
goto yynewstate;
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
+/*--------------------------------------.
+| yyerrlab -- here on detecting error. |
+`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
@@ -4213,20 +3975,20 @@ yyerrlab:
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
- error, discard it. */
+ error, discard it. */
if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval, scanner);
- yychar = YYEMPTY;
- }
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval, scanner);
+ yychar = YYEMPTY;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
@@ -4245,7 +4007,7 @@ yyerrorlab:
if (/*CONSTCOND*/ 0)
goto yyerrorlab;
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
@@ -4258,29 +4020,29 @@ yyerrorlab:
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
- YYABORT;
+ YYABORT;
yydestruct ("Error: popping",
- yystos[yystate], yyvsp, scanner);
+ yystos[yystate], yyvsp, scanner);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
@@ -4331,14 +4093,14 @@ yyreturn:
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, scanner);
}
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp, scanner);
+ yystos[*yyssp], yyvsp, scanner);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -4349,13 +4111,9 @@ yyreturn:
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
- /* Make sure YYID is used. */
- return YYID (yyresult);
+ return yyresult;
}
-
-
-/* Line 2055 of yacc.c */
-#line 1544 "giscanner/scannerparser.y"
+#line 1544 "giscanner/scannerparser.y" /* yacc.c:1906 */
static void
yyerror (GISourceScanner *scanner, const char *s)
diff --git a/scannerparser.h b/scannerparser.h
index bb4d3607..7e82e058 100644
--- a/scannerparser.h
+++ b/scannerparser.h
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,13 +26,13 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
#ifndef YY_YY_SCANNERPARSER_H_INCLUDED
# define YY_YY_SCANNERPARSER_H_INCLUDED
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
@@ -40,90 +40,89 @@
extern int yydebug;
#endif
-/* Tokens. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- IDENTIFIER = 258,
- TYPEDEF_NAME = 259,
- INTEGER = 260,
- FLOATING = 261,
- BOOLEAN = 262,
- CHARACTER = 263,
- STRING = 264,
- INTL_CONST = 265,
- INTUL_CONST = 266,
- ELLIPSIS = 267,
- ADDEQ = 268,
- SUBEQ = 269,
- MULEQ = 270,
- DIVEQ = 271,
- MODEQ = 272,
- XOREQ = 273,
- ANDEQ = 274,
- OREQ = 275,
- SL = 276,
- SR = 277,
- SLEQ = 278,
- SREQ = 279,
- EQ = 280,
- NOTEQ = 281,
- LTEQ = 282,
- GTEQ = 283,
- ANDAND = 284,
- OROR = 285,
- PLUSPLUS = 286,
- MINUSMINUS = 287,
- ARROW = 288,
- AUTO = 289,
- BOOL = 290,
- BREAK = 291,
- CASE = 292,
- CHAR = 293,
- CONST = 294,
- CONTINUE = 295,
- DEFAULT = 296,
- DO = 297,
- DOUBLE = 298,
- ELSE = 299,
- ENUM = 300,
- EXTENSION = 301,
- EXTERN = 302,
- FLOAT = 303,
- FOR = 304,
- GOTO = 305,
- IF = 306,
- INLINE = 307,
- INT = 308,
- LONG = 309,
- REGISTER = 310,
- RESTRICT = 311,
- RETURN = 312,
- SHORT = 313,
- SIGNED = 314,
- SIZEOF = 315,
- STATIC = 316,
- STRUCT = 317,
- SWITCH = 318,
- TYPEDEF = 319,
- UNION = 320,
- UNSIGNED = 321,
- VOID = 322,
- VOLATILE = 323,
- WHILE = 324,
- FUNCTION_MACRO = 325,
- OBJECT_MACRO = 326,
- IFDEF_GI_SCANNER = 327,
- IFNDEF_GI_SCANNER = 328,
- IFDEF_COND = 329,
- IFNDEF_COND = 330,
- IF_COND = 331,
- ELIF_COND = 332,
- ELSE_COND = 333,
- ENDIF_COND = 334
- };
+ enum yytokentype
+ {
+ IDENTIFIER = 258,
+ TYPEDEF_NAME = 259,
+ INTEGER = 260,
+ FLOATING = 261,
+ BOOLEAN = 262,
+ CHARACTER = 263,
+ STRING = 264,
+ INTL_CONST = 265,
+ INTUL_CONST = 266,
+ ELLIPSIS = 267,
+ ADDEQ = 268,
+ SUBEQ = 269,
+ MULEQ = 270,
+ DIVEQ = 271,
+ MODEQ = 272,
+ XOREQ = 273,
+ ANDEQ = 274,
+ OREQ = 275,
+ SL = 276,
+ SR = 277,
+ SLEQ = 278,
+ SREQ = 279,
+ EQ = 280,
+ NOTEQ = 281,
+ LTEQ = 282,
+ GTEQ = 283,
+ ANDAND = 284,
+ OROR = 285,
+ PLUSPLUS = 286,
+ MINUSMINUS = 287,
+ ARROW = 288,
+ AUTO = 289,
+ BOOL = 290,
+ BREAK = 291,
+ CASE = 292,
+ CHAR = 293,
+ CONST = 294,
+ CONTINUE = 295,
+ DEFAULT = 296,
+ DO = 297,
+ DOUBLE = 298,
+ ELSE = 299,
+ ENUM = 300,
+ EXTENSION = 301,
+ EXTERN = 302,
+ FLOAT = 303,
+ FOR = 304,
+ GOTO = 305,
+ IF = 306,
+ INLINE = 307,
+ INT = 308,
+ LONG = 309,
+ REGISTER = 310,
+ RESTRICT = 311,
+ RETURN = 312,
+ SHORT = 313,
+ SIGNED = 314,
+ SIZEOF = 315,
+ STATIC = 316,
+ STRUCT = 317,
+ SWITCH = 318,
+ TYPEDEF = 319,
+ UNION = 320,
+ UNSIGNED = 321,
+ VOID = 322,
+ VOLATILE = 323,
+ WHILE = 324,
+ FUNCTION_MACRO = 325,
+ OBJECT_MACRO = 326,
+ IFDEF_GI_SCANNER = 327,
+ IFNDEF_GI_SCANNER = 328,
+ IFDEF_COND = 329,
+ IFNDEF_COND = 330,
+ IF_COND = 331,
+ ELIF_COND = 332,
+ ELSE_COND = 333,
+ ENDIF_COND = 334
+ };
#endif
/* Tokens. */
#define IDENTIFIER 258
@@ -204,13 +203,12 @@ extern int yydebug;
#define ELSE_COND 333
#define ENDIF_COND 334
-
-
+/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
{
-/* Line 2058 of yacc.c */
-#line 212 "giscanner/scannerparser.y"
+#line 212 "giscanner/scannerparser.y" /* yacc.c:1909 */
char *str;
GList *list;
@@ -221,29 +219,17 @@ typedef union YYSTYPE
FunctionSpecifier function_specifier;
UnaryOperator unary_operator;
+#line 223 "scannerparser.h" /* yacc.c:1909 */
+};
-/* Line 2058 of yacc.c */
-#line 227 "scannerparser.h"
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
+
extern YYSTYPE yylval;
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
int yyparse (GISourceScanner* scanner);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_SCANNERPARSER_H_INCLUDED */
diff --git a/tests/Makefile.in b/tests/Makefile.in
index f4ebe739..3dd867ff 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -23,7 +23,17 @@
#
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -86,9 +96,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/common.mk $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/build-aux/depcomp \
- $(top_srcdir)/build-aux/test-driver
subdir = tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -98,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -397,6 +405,9 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/build-aux/depcomp \
+ $(top_srcdir)/build-aux/test-driver $(top_srcdir)/common.mk
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -484,6 +495,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -505,6 +517,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -591,6 +604,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -617,8 +631,13 @@ INTROSPECTION_SCANNER_ARGS = \
--add-include-path=$(top_builddir) \
--add-include-path=$(top_builddir)/gir
+
+# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler.
+# Normally will be undefined but can be set (e.g. to wine or qemu)
+# when cross-compiling
INTROSPECTION_COMPILER = \
env PATH=".libs:$(PATH)" \
+ $(GI_CROSS_LAUNCHER) \
$(top_builddir)/g-ir-compiler$(EXEEXT)
INTROSPECTION_COMPILER_ARGS = \
@@ -681,7 +700,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -690,7 +708,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/common.mk:
+$(top_srcdir)/common.mk $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -721,14 +739,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -893,7 +911,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -1222,6 +1240,8 @@ uninstall-am: uninstall-testsDATA
mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
uninstall uninstall-am uninstall-testsDATA
+.PRECIOUS: Makefile
+
everything-stamp.h: Makefile
$(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) \
diff --git a/tests/offsets/Makefile.in b/tests/offsets/Makefile.in
index b21a4ee7..bc838a66 100644
--- a/tests/offsets/Makefile.in
+++ b/tests/offsets/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -62,7 +62,17 @@
# CLEANFILES = $(dist_gir_DATA) $(typelib_DATA)
#
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -125,10 +135,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/common.mk \
- $(top_srcdir)/Makefile.introspection $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/build-aux/depcomp \
- $(top_srcdir)/build-aux/test-driver
EXTRA_PROGRAMS = gitestoffsets$(EXEEXT)
TESTS = gitestoffsets$(EXEEXT)
subdir = tests/offsets
@@ -140,6 +146,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -423,6 +430,10 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/Makefile.introspection \
+ $(top_srcdir)/build-aux/depcomp \
+ $(top_srcdir)/build-aux/test-driver $(top_srcdir)/common.mk
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -485,6 +496,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -506,6 +518,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -592,6 +605,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -618,8 +632,13 @@ INTROSPECTION_SCANNER_ARGS = \
--add-include-path=$(top_builddir) \
--add-include-path=$(top_builddir)/gir
+
+# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler.
+# Normally will be undefined but can be set (e.g. to wine or qemu)
+# when cross-compiling
INTROSPECTION_COMPILER = \
env PATH=".libs:$(PATH)" \
+ $(GI_CROSS_LAUNCHER) \
$(top_builddir)/g-ir-compiler$(EXEEXT)
INTROSPECTION_COMPILER_ARGS = \
@@ -680,7 +699,7 @@ _gir_silent_scanner_opts_0 = --quiet
_gir_silent_compiler = $(_gir_silent_compiler_$(V))
_gir_silent_compiler_ = $(_gir_silent_compiler_$(_gir_verbosity))
_gir_silent_compiler_0 = @echo " GICOMP $(1)";
-_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)"
+_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)"
BUILT_SOURCES = gitestoffsets.c
CLEANFILES = Offsets-1.0.gir Offsets-1.0.typelib liboffsets.la \
gitestoffsets.c $(EXTRA_PROGRAMS) offsets.compiled \
@@ -725,7 +744,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/offsets/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/offsets/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -734,7 +752,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/common.mk $(top_srcdir)/Makefile.introspection:
+$(top_srcdir)/common.mk $(top_srcdir)/Makefile.introspection $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -766,14 +784,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -891,7 +909,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -1182,6 +1200,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
recheck tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# Make sure the required variables are set, these should under normal
# circumstances come from introspection.m4
diff --git a/tests/offsets/offsets.h b/tests/offsets/offsets.h
index b57b1bfc..10485327 100644
--- a/tests/offsets/offsets.h
+++ b/tests/offsets/offsets.h
@@ -30,8 +30,6 @@ struct _OffsetsBasic {
gdouble field_double;
char dummy8;
gsize field_size;
- char dummy9;
- time_t field_time;
};
typedef enum {
diff --git a/tests/repository/Makefile.in b/tests/repository/Makefile.in
index 65be2623..2f97f08e 100644
--- a/tests/repository/Makefile.in
+++ b/tests/repository/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -82,9 +92,6 @@ EXTRA_PROGRAMS = gitestrepo$(EXEEXT) giteststructinfo$(EXEEXT) \
TESTS = gitestrepo$(EXEEXT) giteststructinfo$(EXEEXT) \
gitestthrows$(EXEEXT) gitypelibtest$(EXEEXT)
subdir = tests/repository
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/build-aux/depcomp \
- $(top_srcdir)/build-aux/test-driver
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
@@ -93,6 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -385,6 +393,9 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/build-aux/depcomp \
+ $(top_srcdir)/build-aux/test-driver
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -447,6 +458,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -468,6 +480,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,6 +567,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -599,7 +613,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/repository/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/repository/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -650,14 +663,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -810,7 +823,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -1119,6 +1132,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
recheck tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# 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.
diff --git a/tests/scanner/Makefile.in b/tests/scanner/Makefile.in
index 0abd09fb..61499de1 100644
--- a/tests/scanner/Makefile.in
+++ b/tests/scanner/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -63,7 +63,17 @@
#
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -126,10 +136,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/common.mk \
- $(top_srcdir)/Makefile.introspection $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/build-aux/depcomp \
- $(top_srcdir)/build-aux/test-driver
@HAVE_CAIRO_TRUE@am__append_1 = $(CAIRO_LIBS)
@HAVE_CAIRO_FALSE@am__append_2 = -D_GI_DISABLE_CAIRO
@HAVE_CAIRO_TRUE@am__append_3 = $(CAIRO_CFLAGS)
@@ -149,6 +155,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -499,6 +506,10 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/Makefile.introspection \
+ $(top_srcdir)/build-aux/depcomp \
+ $(top_srcdir)/build-aux/test-driver $(top_srcdir)/common.mk
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -586,6 +597,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -607,6 +619,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -693,6 +706,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -717,8 +731,13 @@ INTROSPECTION_SCANNER_ARGS = --verbose -I$(top_srcdir) \
--add-include-path=$(top_builddir) \
--add-include-path=$(top_builddir)/gir --warn-all \
--reparse-validate
+
+# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler.
+# Normally will be undefined but can be set (e.g. to wine or qemu)
+# when cross-compiling
INTROSPECTION_COMPILER = \
env PATH=".libs:$(PATH)" \
+ $(GI_CROSS_LAUNCHER) \
$(top_builddir)/g-ir-compiler$(EXEEXT)
INTROSPECTION_COMPILER_ARGS = \
@@ -779,7 +798,7 @@ _gir_silent_scanner_opts_0 = --quiet
_gir_silent_compiler = $(_gir_silent_compiler_$(V))
_gir_silent_compiler_ = $(_gir_silent_compiler_$(_gir_verbosity))
_gir_silent_compiler_0 = @echo " GICOMP $(1)";
-_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)"
+_gir_default_scanner_env = CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)"
SUBDIRS = . annotationparser
CLEANFILES = $(EXTRA_LTLIBRARIES) $(TYPELIBS) $(GIRS) $(am__append_6) \
Headeronly-1.0.gir Identfilter-1.0.gir Symbolfilter-1.0.gir \
@@ -922,7 +941,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/scanner/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/scanner/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -931,7 +949,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/common.mk $(top_srcdir)/Makefile.introspection:
+$(top_srcdir)/common.mk $(top_srcdir)/Makefile.introspection $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -990,14 +1008,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1246,7 +1264,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -1732,6 +1750,8 @@ uninstall-am: uninstall-testsDATA
mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
uninstall uninstall-am uninstall-testsDATA
+.PRECIOUS: Makefile
+
NULL ?=
# Make sure the required variables are set, these should under normal
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page
index dcb254b1..ab7407d5 100644
--- a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -14,7 +14,9 @@
void sig-with-array-len-prop (guint* arr,
gint len);
</code></synopsis>
- <p>This test signal similar to GSettings::change-event</p>
+<p>This test signal similar to GSettings::change-event.
+You can use this with <link xref="Regress.TestObj.emit_sig_with_array_len_prop"/>, or
+raise from the introspection client language.</p>
<terms>
<item>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_array_len_prop.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_array_len_prop.page
new file mode 100644
index 00000000..331e3eb4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_array_len_prop.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_array_len_prop"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_array_len_prop</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>regress_test_obj_emit_sig_with_array_len_prop</title>
+ <synopsis><code mime="text/x-csrc">
+void regress_test_obj_emit_sig_with_array_len_prop (RegressTestObj* obj);
+ </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page
new file mode 100644
index 00000000..ddc90078
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.not_nullable_element_typed_gpointer_in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_not_nullable_element_typed_gpointer_in</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint8*</api:type>
+ <api:name>input</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>count</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>regress_test_obj_not_nullable_element_typed_gpointer_in</title>
+ <synopsis><code mime="text/x-csrc">
+void regress_test_obj_not_nullable_element_typed_gpointer_in (RegressTestObj* obj,
+ guint8* input,
+ guint count);
+ </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+ <p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>input</code></title>
+ <p>some uint8 array</p>
+</item>
+<item>
+<title><code>count</code></title>
+ <p>length of <code>input</code></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page
new file mode 100644
index 00000000..7e04ac54
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.not_nullable_typed_gpointer_in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_not_nullable_typed_gpointer_in</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>input</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>regress_test_obj_not_nullable_typed_gpointer_in</title>
+ <synopsis><code mime="text/x-csrc">
+void regress_test_obj_not_nullable_typed_gpointer_in (RegressTestObj* obj,
+ gpointer input);
+ </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+ <p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>input</code></title>
+ <p>some <link href="../GObject-2.0/GObject.Object.html">GObject.Object</link></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_struct_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_struct_out.page
new file mode 100644
index 00000000..84aee10f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_struct_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_struct_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_struct_out</api:name>
+ <api:arg>
+ <api:type>RegressTestStructA**</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>regress_test_array_struct_out</title>
+ <synopsis><code mime="text/x-csrc">
+void regress_test_array_struct_out (RegressTestStructA** arr,
+ int* len);
+ </code></synopsis>
+<p>This is similar to gdk_keymap_get_entries_for_keyval().</p>
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>len</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page
index 6af8b356..588eab4a 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -13,7 +13,9 @@
<synopsis><code mime="text/x-gjs">
connect('sig-with-array-len-prop', function (testObj, arr: Array(Number(guint)), ): void);
</code></synopsis>
- <p>This test signal similar to GSettings::change-event</p>
+<p>This test signal similar to GSettings::change-event.
+You can use this with <link xref="Regress.TestObj.emit_sig_with_array_len_prop"/>, or
+raise from the introspection client language.</p>
<terms>
<item>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_array_len_prop.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_array_len_prop.page
new file mode 100644
index 00000000..014e56db
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_array_len_prop.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_array_len_prop"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_array_len_prop</api:name>
+ </api:function>
+ </info>
+ <title>Regress.TestObj.prototype.emit_sig_with_array_len_prop</title>
+ <synopsis><code mime="text/x-gjs">
+function emit_sig_with_array_len_prop(): void {
+ // Gjs wrapper for regress_test_obj_emit_sig_with_array_len_prop()
+}
+ </code></synopsis>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page
new file mode 100644
index 00000000..d14a4ad5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.not_nullable_element_typed_gpointer_in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_not_nullable_element_typed_gpointer_in</api:name>
+ <api:arg>
+ <api:type>ByteArray</api:type>
+ <api:name>input</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>Regress.TestObj.prototype.not_nullable_element_typed_gpointer_in</title>
+ <synopsis><code mime="text/x-gjs">
+function not_nullable_element_typed_gpointer_in(input: ByteArray): void {
+ // Gjs wrapper for regress_test_obj_not_nullable_element_typed_gpointer_in()
+}
+ </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>input</code></title>
+ <p>some uint8 array</p>
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page
new file mode 100644
index 00000000..eac06e1b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.not_nullable_typed_gpointer_in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_not_nullable_typed_gpointer_in</api:name>
+ <api:arg>
+ <api:type>GObject.Object</api:type>
+ <api:name>input</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>Regress.TestObj.prototype.not_nullable_typed_gpointer_in</title>
+ <synopsis><code mime="text/x-gjs">
+function not_nullable_typed_gpointer_in(input: <link href="../GObject-2.0/GObject.Object.html">GObject.Object</link>): void {
+ // Gjs wrapper for regress_test_obj_not_nullable_typed_gpointer_in()
+}
+ </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>input</code></title>
+ <p>some <link href="../GObject-2.0/GObject.Object.html">GObject.Object</link></p>
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_struct_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_struct_out.page
new file mode 100644
index 00000000..46c7c13c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_struct_out.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_struct_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_struct_out</api:name>
+ </api:function>
+ </info>
+ <title>Regress.test_array_struct_out</title>
+ <synopsis><code mime="text/x-gjs">
+function test_array_struct_out(): Array(<link xref="Regress.TestStructA">Regress.TestStructA</link>) {
+ // Gjs wrapper for regress_test_array_struct_out()
+}
+ </code></synopsis>
+<p>This is similar to gdk_keymap_get_entries_for_keyval().</p>
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page
index 2b38065c..04c8eb25 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -13,7 +13,9 @@
<synopsis><code mime="text/x-python">
def callback(test_obj, arr, len, user_param1, ...)
</code></synopsis>
- <p>This test signal similar to GSettings::change-event</p>
+<p>This test signal similar to GSettings::change-event.
+You can use this with <link xref="Regress.TestObj.emit_sig_with_array_len_prop"/>, or
+raise from the introspection client language.</p>
<terms>
<item>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_array_len_prop.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_array_len_prop.page
new file mode 100644
index 00000000..8c768bb4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_array_len_prop.page
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_array_len_prop"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_array_len_prop</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>Regress.TestObj.emit_sig_with_array_len_prop</title>
+ <synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(none)
+def emit_sig_with_array_len_prop(self):
+ # Python wrapper for regress_test_obj_emit_sig_with_array_len_prop()
+ </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page
new file mode 100644
index 00000000..4f60d9df
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.not_nullable_element_typed_gpointer_in.page
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.not_nullable_element_typed_gpointer_in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_not_nullable_element_typed_gpointer_in</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[guint8]</api:type>
+ <api:name>input</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>count</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>Regress.TestObj.not_nullable_element_typed_gpointer_in</title>
+ <synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, [guint8], int)
+@returns(none)
+def not_nullable_element_typed_gpointer_in(self, input, count):
+ # Python wrapper for regress_test_obj_not_nullable_element_typed_gpointer_in()
+ </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+ <p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>input</code></title>
+ <p>some uint8 array</p>
+</item>
+<item>
+<title><code>count</code></title>
+ <p>length of <code>input</code></p>
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page
new file mode 100644
index 00000000..eb0a23f7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.not_nullable_typed_gpointer_in.page
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.not_nullable_typed_gpointer_in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_not_nullable_typed_gpointer_in</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject.Object</api:type>
+ <api:name>input</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>Regress.TestObj.not_nullable_typed_gpointer_in</title>
+ <synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, GObject.Object)
+@returns(none)
+def not_nullable_typed_gpointer_in(self, input):
+ # Python wrapper for regress_test_obj_not_nullable_typed_gpointer_in()
+ </code></synopsis>
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+ <p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>input</code></title>
+ <p>some <link href="../GObject-2.0/GObject.Object.html">GObject.Object</link></p>
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_struct_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_struct_out.page
new file mode 100644
index 00000000..5ca13632
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_struct_out.page
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_struct_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_array_struct_out</api:name>
+ <api:arg>
+ <api:type>[Regress.TestStructA]</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+ </info>
+ <title>Regress.test_array_struct_out</title>
+ <synopsis><code mime="text/x-python">
+@accepts([Regress.TestStructA], int)
+@returns(none)
+def test_array_struct_out(arr, len):
+ # Python wrapper for regress_test_array_struct_out()
+ </code></synopsis>
+<p>This is similar to gdk_keymap_get_entries_for_keyval().</p>
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>len</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 6f991b78..658b17fb 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -3056,6 +3056,17 @@ case.</doc>
</parameter>
</parameters>
</method>
+ <method name="emit_sig_with_array_len_prop"
+ c:identifier="regress_test_obj_emit_sig_with_array_len_prop">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
<method name="emit_sig_with_foreign_struct"
c:identifier="regress_test_obj_emit_sig_with_foreign_struct">
<return-value transfer-ownership="none">
@@ -3151,6 +3162,44 @@ case.</doc>
</instance-parameter>
</parameters>
</method>
+ <method name="not_nullable_element_typed_gpointer_in"
+ c:identifier="regress_test_obj_not_nullable_element_typed_gpointer_in">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ <parameter name="input" transfer-ownership="none">
+ <doc xml:space="preserve">some uint8 array</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve">length of @input</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="not_nullable_typed_gpointer_in"
+ c:identifier="regress_test_obj_not_nullable_typed_gpointer_in">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ <parameter name="input" transfer-ownership="none">
+ <doc xml:space="preserve">some #GObject</doc>
+ <type name="GObject.Object" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="set_bare" c:identifier="regress_test_obj_set_bare">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
@@ -3590,7 +3639,9 @@ raise an error.</doc>
</return-value>
</glib:signal>
<glib:signal name="sig-with-array-len-prop" when="last">
- <doc xml:space="preserve">This test signal similar to GSettings::change-event</doc>
+ <doc xml:space="preserve">This test signal similar to GSettings::change-event.
+You can use this with regress_test_obj_emit_sig_with_array_len_prop(), or
+raise from the introspection client language.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -5253,6 +5304,29 @@ libgnome-keyring.</doc>
</parameter>
</parameters>
</function>
+ <function name="test_array_struct_out"
+ c:identifier="regress_test_array_struct_out">
+ <doc xml:space="preserve">This is similar to gdk_keymap_get_entries_for_keyval().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="arr"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <array length="1" zero-terminated="0" c:type="RegressTestStructA**">
+ <type name="TestStructA" c:type="RegressTestStructA*"/>
+ </array>
+ </parameter>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_async_ready_callback"
c:identifier="regress_test_async_ready_callback">
<return-value transfer-ownership="none">
diff --git a/tests/scanner/Regress-1.0-sections-expected.txt b/tests/scanner/Regress-1.0-sections-expected.txt
index e0f9a1b7..4c5100e4 100644
--- a/tests/scanner/Regress-1.0-sections-expected.txt
+++ b/tests/scanner/Regress-1.0-sections-expected.txt
@@ -73,6 +73,7 @@ regress_test_array_int_none_out
regress_test_array_int_null_in
regress_test_array_int_null_out
regress_test_array_int_out
+regress_test_array_struct_out
regress_test_async_ready_callback
regress_test_boolean
regress_test_boolean_false
@@ -335,6 +336,7 @@ RegressTestInterfaceIface
RegressTestObj
RegressTestObjClass
regress_test_obj_do_matrix
+regress_test_obj_emit_sig_with_array_len_prop
regress_test_obj_emit_sig_with_foreign_struct
regress_test_obj_emit_sig_with_int64
regress_test_obj_emit_sig_with_obj
@@ -343,6 +345,8 @@ regress_forced_method
regress_test_obj_instance_method
regress_test_obj_instance_method_callback
regress_test_obj_instance_method_full
+regress_test_obj_not_nullable_element_typed_gpointer_in
+regress_test_obj_not_nullable_typed_gpointer_in
regress_test_obj_set_bare
regress_test_obj_skip_inout_param
regress_test_obj_skip_out_param
diff --git a/tests/scanner/annotationparser/Makefile.in b/tests/scanner/annotationparser/Makefile.in
index 865c6eab..58b4be67 100644
--- a/tests/scanner/annotationparser/Makefile.in
+++ b/tests/scanner/annotationparser/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -22,7 +22,17 @@
# module itself.
#
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -85,9 +95,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/common.mk $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/build-aux/test-driver \
- README
subdir = tests/scanner/annotationparser
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -97,6 +104,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -325,6 +333,9 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/build-aux/test-driver $(top_srcdir)/common.mk \
+ README
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -387,6 +398,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -408,6 +420,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -494,6 +507,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -520,8 +534,13 @@ INTROSPECTION_SCANNER_ARGS = \
--add-include-path=$(top_builddir) \
--add-include-path=$(top_builddir)/gir
+
+# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler.
+# Normally will be undefined but can be set (e.g. to wine or qemu)
+# when cross-compiling
INTROSPECTION_COMPILER = \
env PATH=".libs:$(PATH)" \
+ $(GI_CROSS_LAUNCHER) \
$(top_builddir)/g-ir-compiler$(EXEEXT)
INTROSPECTION_COMPILER_ARGS = \
@@ -630,7 +649,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/scanner/annotationparser/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/scanner/annotationparser/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -639,7 +657,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/common.mk:
+$(top_srcdir)/common.mk $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -692,7 +710,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -981,6 +999,8 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \
uninstall uninstall-am
+.PRECIOUS: Makefile
+
# 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.
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 9a9ee679..c317682a 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -1740,6 +1740,23 @@ regress_test_struct_a_parse (RegressTestStructA *a_out,
}
/**
+ * regress_test_array_struct_out:
+ * @arr: (out) (array length=len) (transfer full):
+ * @len: (out)
+ *
+ * This is similar to gdk_keymap_get_entries_for_keyval().
+ */
+void
+regress_test_array_struct_out (RegressTestStructA **arr, int *len)
+{
+ *arr = g_new0(RegressTestStructA, 3);
+ (*arr)[0].some_int = 22;
+ (*arr)[1].some_int = 33;
+ (*arr)[2].some_int = 44;
+ *len = 3;
+}
+
+/**
* regress_test_struct_b_clone:
* @b: the structure
* @b_out: (out): the cloned structure
@@ -2312,7 +2329,9 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
* @arr: (array length=len) (element-type uint) (allow-none): numbers, or %NULL
* @len: length of @arr, or 0
*
- * This test signal similar to GSettings::change-event
+ * This test signal similar to GSettings::change-event.
+ * You can use this with regress_test_obj_emit_sig_with_array_len_prop(), or
+ * raise from the introspection client language.
*/
regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_SIG_NEW_WITH_ARRAY_LEN_PROP] =
g_signal_new ("sig-with-array-len-prop",
@@ -2739,6 +2758,16 @@ regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj)
g_assert (ret == G_MAXUINT64);
}
+/**
+ * regress_test_obj_emit_sig_with_array_len_prop:
+ */
+void
+regress_test_obj_emit_sig_with_array_len_prop (RegressTestObj *obj)
+{
+ int arr[] = { 0, 1, 2, 3, 4 };
+ g_signal_emit_by_name (obj, "sig-with-array-len-prop", &arr, 5);
+}
+
int
regress_test_obj_instance_method (RegressTestObj *obj)
{
@@ -3042,6 +3071,30 @@ regress_func_obj_nullable_in (RegressTestObj *obj)
}
/**
+ * regress_test_obj_not_nullable_typed_gpointer_in:
+ * @obj: A #RegressTestObj
+ * @input: (type GObject): some #GObject
+ */
+void
+regress_test_obj_not_nullable_typed_gpointer_in (RegressTestObj *obj,
+ gpointer input)
+{
+}
+
+/**
+ * regress_test_obj_not_nullable_element_typed_gpointer_in:
+ * @obj: A #RegressTestObj
+ * @input: (element-type guint8) (array length=count): some uint8 array
+ * @count: length of @input
+ */
+void
+regress_test_obj_not_nullable_element_typed_gpointer_in (RegressTestObj *obj,
+ gpointer input,
+ guint count)
+{
+}
+
+/**
* regress_test_array_fixed_out_objects:
* @objs: (out) (array fixed-size=2) (transfer full): An array of #RegressTestObj
*/
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index d77a7a97..c1106902 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -541,6 +541,9 @@ void regress_test_struct_a_clone (RegressTestStructA *a,
_GI_TEST_EXTERN
void regress_test_struct_a_parse (RegressTestStructA *a_out, const gchar *string);
+_GI_TEST_EXTERN
+void regress_test_array_struct_out (RegressTestStructA **arr, int *len);
+
struct _RegressTestStructB
{
gint8 some_int8;
@@ -825,6 +828,9 @@ _GI_TEST_EXTERN
void regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj);
_GI_TEST_EXTERN
+void regress_test_obj_emit_sig_with_array_len_prop (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
int regress_test_obj_instance_method (RegressTestObj *obj);
_GI_TEST_EXTERN
@@ -927,6 +933,13 @@ void regress_test_obj_null_out (RegressTestObj **obj);
void regress_func_obj_nullable_in (RegressTestObj *obj);
+void regress_test_obj_not_nullable_typed_gpointer_in (RegressTestObj *obj,
+ gpointer input);
+
+void regress_test_obj_not_nullable_element_typed_gpointer_in (RegressTestObj *obj,
+ gpointer input,
+ guint count);
+
/* inheritance */
#define REGRESS_TEST_TYPE_SUB_OBJ (regress_test_sub_obj_get_type ())
#define REGRESS_TEST_SUB_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REGRESS_TEST_TYPE_SUB_OBJ, RegressTestSubObj))
diff --git a/tests/warn/Makefile.in b/tests/warn/Makefile.in
index e56efe61..2416c14d 100644
--- a/tests/warn/Makefile.in
+++ b/tests/warn/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -22,7 +22,17 @@
# module itself.
#
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -85,8 +95,6 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/common.mk $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/build-aux/test-driver
subdir = tests/warn
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -96,6 +104,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -324,6 +333,8 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(top_srcdir)/build-aux/test-driver $(top_srcdir)/common.mk
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -386,6 +397,7 @@ GOBJECT_INTROSPECTION_LIBDIR = @GOBJECT_INTROSPECTION_LIBDIR@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -407,6 +419,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -493,6 +506,7 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -519,8 +533,13 @@ INTROSPECTION_SCANNER_ARGS = \
--add-include-path=$(top_builddir) \
--add-include-path=$(top_builddir)/gir
+
+# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler.
+# Normally will be undefined but can be set (e.g. to wine or qemu)
+# when cross-compiling
INTROSPECTION_COMPILER = \
env PATH=".libs:$(PATH)" \
+ $(GI_CROSS_LAUNCHER) \
$(top_builddir)/g-ir-compiler$(EXEEXT)
INTROSPECTION_COMPILER_ARGS = \
@@ -586,7 +605,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/warn/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/warn/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -595,7 +613,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/common.mk:
+$(top_srcdir)/common.mk $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -648,7 +666,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -1056,6 +1074,8 @@ uninstall-am:
mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \
uninstall uninstall-am
+.PRECIOUS: Makefile
+
# 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.
diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in
index f80730ec..edc68a4c 100644
--- a/tools/g-ir-tool-template.in
+++ b/tools/g-ir-tool-template.in
@@ -31,9 +31,9 @@ if sys.version_info.major < 3:
else:
import builtins
-debug = os.getenv('GI_SCANNER_DEBUG', '').split(',')
+debug = os.getenv('GI_SCANNER_DEBUG')
if debug:
- if 'pydevd' in debug:
+ if 'pydevd' in debug.split(','):
# http://pydev.org/manual_adv_remote_debugger.html
pydevdpath = os.getenv('PYDEVDPATH', None)
if pydevdpath is not None and os.path.isdir(pydevdpath):