Imported Upstream version 1.39.3 77/94077/1
authorDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 27 Oct 2016 05:13:10 +0000 (14:13 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 27 Oct 2016 05:13:21 +0000 (14:13 +0900)
Change-Id: Id3e1b75aae29bf312611fbc4d2fd3d9f9759a0cc
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
166 files changed:
Makefile-cmph.am
Makefile-girepository.am
Makefile-msvcproj.am
Makefile.am
Makefile.in
aclocal.m4
build-aux/config.guess
build-aux/config.sub
build/Makefile.am
build/Makefile.in
build/detectenv_msvc.mak [new file with mode: 0644]
build/gen-cairo-gir.py [moved from build/win32/create_nonglib_gir.py with 63% similarity]
build/gi-introspection-msvc.mak [new file with mode: 0644]
build/introspection-msvc.mak [new file with mode: 0644]
build/win32/Makefile.am
build/win32/Makefile.in
build/win32/gengir.bat [deleted file]
build/win32/vs10/Makefile.am
build/win32/vs10/Makefile.in
build/win32/vs10/README.txt
build/win32/vs10/_giscanner.vcxproj
build/win32/vs10/annotation.vcxproj
build/win32/vs10/cmph-bdz-test.vcxproj
build/win32/vs10/cmph.vcxproj
build/win32/vs10/cmph.vcxprojin
build/win32/vs10/everything.vcxproj [deleted file]
build/win32/vs10/everything.vcxproj.filters [deleted file]
build/win32/vs10/foo.vcxproj
build/win32/vs10/g-ir-compiler.vcxproj
build/win32/vs10/g-ir-compiler.vcxprojin
build/win32/vs10/g-ir-generate.vcxproj
build/win32/vs10/generate_typelibs.vcxproj [deleted file]
build/win32/vs10/gettype.vcxproj
build/win32/vs10/gi-build-defines.props [new file with mode: 0644]
build/win32/vs10/gi-extra-paths.props [new file with mode: 0644]
build/win32/vs10/gi-gen-srcs.props [new file with mode: 0644]
build/win32/vs10/gi-install.props [moved from build/win32/vs10/gir.props with 55% similarity]
build/win32/vs10/gi-install.propsin [new file with mode: 0644]
build/win32/vs10/gi-prebuild.vcxproj [new file with mode: 0644]
build/win32/vs10/gi-version-paths.props [new file with mode: 0644]
build/win32/vs10/gimarshallingtests.vcxproj
build/win32/vs10/gir.propsin [deleted file]
build/win32/vs10/girepository.vcxproj
build/win32/vs10/girepository.vcxproj.filters
build/win32/vs10/girepository.vcxproj.filtersin
build/win32/vs10/girepository.vcxprojin
build/win32/vs10/glib-print.vcxproj
build/win32/vs10/gobject-introspection.sln
build/win32/vs10/gtkfrob.vcxproj
build/win32/vs10/install.vcxproj
build/win32/vs10/regress.vcxproj
build/win32/vs10/sletter.vcxproj
build/win32/vs10/testinherit.vcxproj
build/win32/vs10/utility.vcxproj
build/win32/vs9/Makefile.am
build/win32/vs9/Makefile.in
build/win32/vs9/README.txt
build/win32/vs9/_giscanner.vcproj
build/win32/vs9/annotation.vcproj
build/win32/vs9/cmph-bdz-test.vcproj
build/win32/vs9/cmph.vcproj
build/win32/vs9/cmph.vcprojin
build/win32/vs9/everything.vcproj [deleted file]
build/win32/vs9/foo.vcproj
build/win32/vs9/g-ir-compiler.vcproj
build/win32/vs9/g-ir-compiler.vcprojin
build/win32/vs9/g-ir-generate.vcproj
build/win32/vs9/generate_typelibs.vcproj [deleted file]
build/win32/vs9/gettype.vcproj
build/win32/vs9/gi-build-defines.vsprops [new file with mode: 0644]
build/win32/vs9/gi-extra-paths.vsprops [new file with mode: 0644]
build/win32/vs9/gi-gen-srcs.vsprops [new file with mode: 0644]
build/win32/vs9/gi-install.vsprops [moved from build/win32/vs9/gir.vsprops with 59% similarity]
build/win32/vs9/gi-install.vspropsin [new file with mode: 0644]
build/win32/vs9/gi-prebuild.vcproj [new file with mode: 0644]
build/win32/vs9/gi-version-paths.vsprops [new file with mode: 0644]
build/win32/vs9/gimarshallingtests.vcproj
build/win32/vs9/gir.vspropsin [deleted file]
build/win32/vs9/girepository.vcproj
build/win32/vs9/girepository.vcprojin
build/win32/vs9/glib-print.vcproj
build/win32/vs9/gobject-introspection.sln
build/win32/vs9/gtkfrob.vcproj
build/win32/vs9/install.vcproj
build/win32/vs9/regress.vcproj
build/win32/vs9/sletter.vcproj
build/win32/vs9/testinherit.vcproj
build/win32/vs9/utility.vcproj
config.h.win32
configure
configure.ac
docs/reference/Makefile.in
docs/reference/html/GIRepository.html
docs/reference/html/gi-GIArgInfo.html
docs/reference/html/gi-GIBaseInfo.html
docs/reference/html/gi-GICallableInfo.html
docs/reference/html/gi-GIConstantInfo.html
docs/reference/html/gi-GIEnumInfo.html
docs/reference/html/gi-GIFieldInfo.html
docs/reference/html/gi-GIFunctionInfo.html
docs/reference/html/gi-GIInterfaceInfo.html
docs/reference/html/gi-GIObjectInfo.html
docs/reference/html/gi-GIPropertyInfo.html
docs/reference/html/gi-GIRegisteredTypeInfo.html
docs/reference/html/gi-GISignalInfo.html
docs/reference/html/gi-GIStructInfo.html
docs/reference/html/gi-GITypeInfo.html
docs/reference/html/gi-GITypelib.html
docs/reference/html/gi-GIUnionInfo.html
docs/reference/html/gi-GIVFuncInfo.html
docs/reference/html/gi-common-types.html
docs/reference/html/gi-gir-reference.html
docs/reference/html/gi-girffi.html
docs/reference/html/gi-gitypelib.html
docs/reference/html/index.html
docs/reference/version.xml
gir/gio-2.0.c
gir/glib-2.0.c
gir/gmodule-2.0.c
gir/gobject-2.0.c
girepository/giobjectinfo.c
girepository/girmodule.c
girepository/girnode.c
girepository/gthash.c
giscanner/ast.py
giscanner/dumper.py
giscanner/gdumpparser.py
giscanner/giscannermodule.c
giscanner/scannerlexer.l
giscanner/scannerparser.y
giscanner/sourcescanner.c
giscanner/sourcescanner.h
giscanner/sourcescanner.py
giscanner/transformer.py
gobject-introspection-1.0.pc
gobject-introspection-no-export-1.0.pc
gtk-doc.make
m4/libtool.m4
scannerlexer.c
scannerparser.c
scannerparser.h
tests/Makefile.am
tests/Makefile.in
tests/gi-tester [new file with mode: 0755]
tests/offsets/Makefile.am
tests/offsets/Makefile.in
tests/repository/Makefile.am
tests/repository/Makefile.in
tests/scanner/Headeronly-1.0-expected.gir [new file with mode: 0644]
tests/scanner/Makefile.am
tests/scanner/Makefile.in
tests/scanner/Regress-1.0-expected.gir
tests/scanner/Typedefs-1.0-expected.gir [new file with mode: 0644]
tests/scanner/annotationparser/Makefile.am [new file with mode: 0644]
tests/scanner/annotationparser/Makefile.in [new file with mode: 0644]
tests/scanner/annotationparser/test_parser.py
tests/scanner/annotationparser/test_patterns.py
tests/scanner/regress.c
tests/scanner/regress.h
tests/scanner/test_sourcescanner.py [new file with mode: 0644]
tests/scanner/test_transformer.py [new file with mode: 0644]
tests/scanner/typedefs.c [new file with mode: 0644]
tests/scanner/typedefs.h [new file with mode: 0644]
tests/warn/Makefile.am
tests/warn/Makefile.in
tests/warn/warntestrunner [deleted file]

index 7bca06b..a2edcf6 100644 (file)
@@ -1,4 +1,4 @@
-noinst_LTLIBRARIES += libcmph.la
+EXTRA_LTLIBRARIES += libcmph.la
 
 libcmph_la_CPPFLAGS = -Icmph $(GLIB_CFLAGS)
 libcmph_la_LIBADD = -lm $(GLIB_LIBS)
@@ -66,9 +66,12 @@ libcmph_la_SOURCES = \
        girepository/cmph/vstack.c \
        girepository/cmph/vstack.h
 
-GTESTER_PROGS += cmph-bdz-test
+
+TESTS += cmph-bdz-test
+EXTRA_PROGRAMS += cmph-bdz-test
 
 cmph_bdz_test_SOURCES = girepository/cmph-bdz-test.c
 cmph_bdz_test_CFLAGS = -I$(top_srcdir)/girepository/cmph $(GOBJECT_CFLAGS)
 cmph_bdz_test_LDADD = libcmph.la $(GOBJECT_LIBS)
 
+CLEANFILES += cmph-bdz-test libcmph.la
index c91c41c..1f956ed 100644 (file)
@@ -90,7 +90,9 @@ gi_dump_types_CFLAGS = $(GIO_UNIX_CFLAGS) $(GMODULE_CFLAGS)
 gi_dump_types_LDADD = $(GIO_UNIX_LIBS) $(GMODULE_LIBS)
 endif
 
-GTESTER_PROGS += gthash-test
+EXTRA_PROGRAMS += gthash-test
+CLEANFILES += gthash-test
+TESTS += gthash-test
 
 gthash_test_SOURCES = girepository/gthash.c girepository/gthash-test.c
 gthash_test_CFLAGS = -I$(top_srcdir)/girepository $(GOBJECT_CFLAGS)
index 32b9314..6e5b796 100644 (file)
 # and Python scripts to install
 #--------------------------------
 ./build/win32/vs9/gir.vs9.install:
-       echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(GIApiVersion)\girepository&#x0D;&#x0A;' >./build/win32/vs9/gir.vs9.install
+       echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository&#x0D;&#x0A;' >./build/win32/vs9/gir.vs9.install
        echo '' >>./build/win32/vs9/gir.vs9.install
        for F in `echo $(girepo_HEADERS) | tr '/' '\\\\'`; do \
                case $$F in \
-               *.h) echo 'copy ..\..\..\'$$F' $$(CopyDir)\include\gobject-introspection-$$(GIApiVersion)\girepository&#x0D;&#x0A;' \
+               *.h) echo 'copy ..\..\..\'$$F' $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository&#x0D;&#x0A;' \
                        ;; \
                esac; \
        done >>./build/win32/vs9/gir.vs9.install
        done >>./build/win32/vs9/gir.vs9.install
 
 ./build/win32/vs10/gir.vs10.install:
-       echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(GIApiVersion)\girepository' >./build/win32/vs10/gir.vs10.install
+       echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository' >./build/win32/vs10/gir.vs10.install
        echo '' >>./build/win32/vs10/gir.vs10.install
        for F in `echo $(girepo_HEADERS) | tr '/' '\\\\'`; do \
                case $$F in \
-               *.h) echo 'copy ..\..\..\'$$F' $$(CopyDir)\include\gobject-introspection-$$(GIApiVersion)\girepository' && \
+               *.h) echo 'copy ..\..\..\'$$F' $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository' && \
                        echo '' \
                        ;; \
                esac; \
                esac; \
        done >>./build/win32/vs10/gir.vs10.install
 
-./build/win32/vs9/gir.vsprops: ./build/win32/vs9/gir.vs9.install $(top_srcdir)/build/win32/vs9/gir.vspropsin
-       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gir.vspropsin >$@
+./build/win32/vs9/gi-install.vsprops: ./build/win32/vs9/gir.vs9.install $(top_srcdir)/build/win32/vs9/gi-install.vspropsin
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gi-install.vspropsin >$@
        rm ./build/win32/vs9/gir.vs9.install
 
-./build/win32/vs10/gir.props: ./build/win32/vs10/gir.vs10.install $(top_srcdir)/build/win32/vs10/gir.propsin
-       $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gir.propsin >$@
+./build/win32/vs10/gi-install.props: ./build/win32/vs10/gir.vs10.install $(top_srcdir)/build/win32/vs10/gi-install.propsin
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gi-install.propsin >$@
        rm ./build/win32/vs10/gir.vs10.install
 
 GENERATED_MSVC_FILES = \
index 18fe091..1a988a5 100644 (file)
@@ -9,8 +9,10 @@ check_LTLIBRARIES =
 check_PROGRAMS =
 bin_PROGRAMS =
 bin_SCRIPTS =
-GTESTER_PROGS =
-noinst_PROGRAMS = $(GTESTER_PROGS)
+noinst_PROGRAMS =
+EXTRA_LTLIBRARIES =
+EXTRA_PROGRAMS =
+TESTS =
 
 include common.mk
 include Makefile.introspection
@@ -59,16 +61,11 @@ EXTRA_DIST +=                       \
 PEP8_EXCLUDES=--exclude='.svn,CVS,.bzr,.hg,.git,__pycache__,.\#*'
 
 check-local:
-       gtester --verbose $(GTESTER_PROGS)
        @echo "TEST: PEP-8 INQUISITION"
        @find $(top_srcdir)/giscanner -name \*.py | sort | uniq | xargs \
                $(PYTHON) $(top_srcdir)/misc/pep8.py --max-line-length=99 --ignore=E128 $(PEP8_EXCLUDES)
        @find $(top_srcdir)/tests -name \*.py | sort | uniq | xargs \
                $(PYTHON) $(top_srcdir)/misc/pep8.py --ignore=E127,E501 $(PEP8_EXCLUDES)
-       @echo "TEST: Annotation pattern programs"
-       PYTHONPATH="$(top_builddir):$(top_srcdir)" $(PYTHON) $(top_srcdir)/tests/scanner/annotationparser/test_patterns.py
-       @echo "TEST: GTK-Doc Annotation Parser"
-       PYTHONPATH="$(top_builddir):$(top_srcdir)" $(PYTHON) $(top_srcdir)/tests/scanner/annotationparser/test_parser.py
 
 check-pyflakes:
        @echo "  CHECK Pyflakes"
index 4f55332..d4c9623 100644 (file)
@@ -135,7 +135,9 @@ build_triplet = @build@
 host_triplet = @host@
 check_PROGRAMS =
 bin_PROGRAMS = g-ir-compiler$(EXEEXT) g-ir-generate$(EXEEXT)
-noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) glib-print$(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 \
@@ -150,10 +152,11 @@ DIST_COMMON = $(srcdir)/common.mk $(srcdir)/Makefile.introspection \
        $(top_srcdir)/build-aux/ylwrap $(collections_PYTHON) \
        $(pkgpyexec_PYTHON) $(top_srcdir)/build-aux/py-compile \
        $(dist_make_DATA) $(nobase_dist_template_DATA) \
-       $(girepo_HEADERS) 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 \
+       $(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 \
@@ -315,8 +318,7 @@ libgiscanner_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
        $(libgiscanner_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
        -o $@
-am__EXEEXT_1 = cmph-bdz-test$(EXEEXT) gthash-test$(EXEEXT)
-@OS_WIN32_FALSE@am__EXEEXT_2 = gi-dump-types$(EXEEXT)
+@OS_WIN32_FALSE@am__EXEEXT_1 = gi-dump-types$(EXEEXT)
 PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
 am_cmph_bdz_test_OBJECTS = cmph_bdz_test-cmph-bdz-test.$(OBJEXT)
 cmph_bdz_test_OBJECTS = $(am_cmph_bdz_test_OBJECTS)
@@ -464,7 +466,7 @@ am__recursive_targets = \
   $(RECURSIVE_CLEAN_TARGETS) \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-       cscope distdir dist dist-all distcheck
+       cscope check recheck distdir dist dist-all distcheck
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
        $(LISP)config.h.in
 # Read a list of newline-separated strings from the standard input,
@@ -486,6 +488,182 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+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)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -716,17 +894,18 @@ EXTRA_DIST = girepository/docs.c $(STATIC_GIRSOURCES) \
        COPYING.LGPL COPYING.GPL CONTRIBUTORS $(pkgconfig_DATA) \
        $(man_MANS) $(m4_DATA) misc/pep8.py misc/pyflakes.py
 lib_LTLIBRARIES = libgirepository-1.0.la
-noinst_LTLIBRARIES = libcmph.la libgirepository-internals.la \
+noinst_LTLIBRARIES = libgirepository-internals.la \
        libgirepository-gthash.la libgiscanner.la
 BUILT_SOURCES = scannerparser.c scannerparser.h scannerlexer.c \
        scannerlexer.h gir/cairo-1.0.gir
-CLEANFILES = $(BUILT_SOURCES) gir/cairo-1.0.gir $(BUILT_GIRSOURCES) \
-       $(typelibs_DATA) g-ir-scanner g-ir-annotation-tool \
-       g-ir-doc-tool $(GENERATED_MSVC_FILES)
+CLEANFILES = $(BUILT_SOURCES) cmph-bdz-test libcmph.la gthash-test \
+       gir/cairo-1.0.gir $(BUILT_GIRSOURCES) $(typelibs_DATA) \
+       g-ir-scanner g-ir-annotation-tool g-ir-doc-tool \
+       $(GENERATED_MSVC_FILES)
 INTROSPECTION_GIRS = $(BUILT_GIRSOURCES)
 check_LTLIBRARIES = 
 bin_SCRIPTS = g-ir-scanner g-ir-annotation-tool $(am__append_5)
-GTESTER_PROGS = cmph-bdz-test gthash-test
+EXTRA_LTLIBRARIES = libcmph.la
 INTROSPECTION_SCANNER = \
     env PATH=.libs:$(PATH) \
         LPATH=.libs \
@@ -1281,7 +1460,7 @@ all: $(BUILT_SOURCES) config.h
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .l .lo .o .obj .y
+.SUFFIXES: .c .l .lo .log .o .obj .test .test$(EXEEXT) .trs .y
 am--refresh: Makefile
        @:
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(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 $(am__configure_deps)
@@ -2599,6 +2778,176 @@ distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
        -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS:
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all $(check_LTLIBRARIES) $(check_PROGRAMS)
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+cmph-bdz-test.log: cmph-bdz-test$(EXEEXT)
+       @p='cmph-bdz-test$(EXEEXT)'; \
+       b='cmph-bdz-test'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+gthash-test.log: gthash-test$(EXEEXT)
+       @p='gthash-test$(EXEEXT)'; \
+       b='gthash-test'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+
 distdir: $(DISTFILES)
        $(am__remove_distdir)
        test -d "$(distdir)" || mkdir "$(distdir)"
@@ -2781,7 +3130,7 @@ distcleancheck: distclean
               exit 1; } >&2
 check-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS)
-       $(MAKE) $(AM_MAKEFLAGS) check-local
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-recursive
 all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \
@@ -2814,6 +3163,9 @@ install-strip:
            "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
        fi
 mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -2922,9 +3274,9 @@ uninstall-man: uninstall-man1
        install-strip
 
 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
-       am--refresh check check-am check-local clean clean-binPROGRAMS \
-       clean-checkLTLIBRARIES clean-checkPROGRAMS clean-cscope \
-       clean-generic clean-libLTLIBRARIES clean-libtool \
+       am--refresh check check-TESTS check-am check-local clean \
+       clean-binPROGRAMS clean-checkLTLIBRARIES clean-checkPROGRAMS \
+       clean-cscope clean-generic clean-libLTLIBRARIES clean-libtool \
        clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
        clean-pkgpyexecLTLIBRARIES cscope cscopelist-am ctags ctags-am \
        dist dist-all dist-bzip2 dist-gzip dist-lzip dist-shar \
@@ -2945,14 +3297,15 @@ uninstall-man: uninstall-man1
        install-typelibsDATA installcheck installcheck-am installdirs \
        installdirs-am maintainer-clean maintainer-clean-generic \
        mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-       uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \
-       uninstall-collectionsPYTHON uninstall-dist_makeDATA \
-       uninstall-gdumpDATA uninstall-girDATA uninstall-girepoHEADERS \
-       uninstall-libLTLIBRARIES uninstall-m4DATA uninstall-man \
-       uninstall-man1 uninstall-nobase_dist_templateDATA \
-       uninstall-pkgconfigDATA uninstall-pkgpyexecLTLIBRARIES \
-       uninstall-pkgpyexecPYTHON uninstall-typelibsDATA
+       mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
+       uninstall uninstall-am uninstall-binPROGRAMS \
+       uninstall-binSCRIPTS uninstall-collectionsPYTHON \
+       uninstall-dist_makeDATA uninstall-gdumpDATA uninstall-girDATA \
+       uninstall-girepoHEADERS uninstall-libLTLIBRARIES \
+       uninstall-m4DATA uninstall-man uninstall-man1 \
+       uninstall-nobase_dist_templateDATA uninstall-pkgconfigDATA \
+       uninstall-pkgpyexecLTLIBRARIES uninstall-pkgpyexecPYTHON \
+       uninstall-typelibsDATA
 
 
 # Make sure the required variables are set, these should under normal
@@ -3199,11 +3552,11 @@ g-ir-doc-tool: tools/g-ir-doc-tool.in _giscanner.la Makefile
 # and Python scripts to install
 #--------------------------------
 ./build/win32/vs9/gir.vs9.install:
-       echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(GIApiVersion)\girepository&#x0D;&#x0A;' >./build/win32/vs9/gir.vs9.install
+       echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository&#x0D;&#x0A;' >./build/win32/vs9/gir.vs9.install
        echo '' >>./build/win32/vs9/gir.vs9.install
        for F in `echo $(girepo_HEADERS) | tr '/' '\\\\'`; do \
                case $$F in \
-               *.h) echo 'copy ..\..\..\'$$F' $$(CopyDir)\include\gobject-introspection-$$(GIApiVersion)\girepository&#x0D;&#x0A;' \
+               *.h) echo 'copy ..\..\..\'$$F' $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository&#x0D;&#x0A;' \
                        ;; \
                esac; \
        done >>./build/win32/vs9/gir.vs9.install
@@ -3233,11 +3586,11 @@ g-ir-doc-tool: tools/g-ir-doc-tool.in _giscanner.la Makefile
        done >>./build/win32/vs9/gir.vs9.install
 
 ./build/win32/vs10/gir.vs10.install:
-       echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(GIApiVersion)\girepository' >./build/win32/vs10/gir.vs10.install
+       echo 'mkdir $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository' >./build/win32/vs10/gir.vs10.install
        echo '' >>./build/win32/vs10/gir.vs10.install
        for F in `echo $(girepo_HEADERS) | tr '/' '\\\\'`; do \
                case $$F in \
-               *.h) echo 'copy ..\..\..\'$$F' $$(CopyDir)\include\gobject-introspection-$$(GIApiVersion)\girepository' && \
+               *.h) echo 'copy ..\..\..\'$$F' $$(CopyDir)\include\gobject-introspection-$$(ApiVersion)\girepository' && \
                        echo '' \
                        ;; \
                esac; \
@@ -3267,25 +3620,20 @@ g-ir-doc-tool: tools/g-ir-doc-tool.in _giscanner.la Makefile
                esac; \
        done >>./build/win32/vs10/gir.vs10.install
 
-./build/win32/vs9/gir.vsprops: ./build/win32/vs9/gir.vs9.install $(top_srcdir)/build/win32/vs9/gir.vspropsin
-       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gir.vspropsin >$@
+./build/win32/vs9/gi-install.vsprops: ./build/win32/vs9/gir.vs9.install $(top_srcdir)/build/win32/vs9/gi-install.vspropsin
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gi-install.vspropsin >$@
        rm ./build/win32/vs9/gir.vs9.install
 
-./build/win32/vs10/gir.props: ./build/win32/vs10/gir.vs10.install $(top_srcdir)/build/win32/vs10/gir.propsin
-       $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gir.propsin >$@
+./build/win32/vs10/gi-install.props: ./build/win32/vs10/gir.vs10.install $(top_srcdir)/build/win32/vs10/gi-install.propsin
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gi-install.propsin >$@
        rm ./build/win32/vs10/gir.vs10.install
 
 check-local:
-       gtester --verbose $(GTESTER_PROGS)
        @echo "TEST: PEP-8 INQUISITION"
        @find $(top_srcdir)/giscanner -name \*.py | sort | uniq | xargs \
                $(PYTHON) $(top_srcdir)/misc/pep8.py --max-line-length=99 --ignore=E128 $(PEP8_EXCLUDES)
        @find $(top_srcdir)/tests -name \*.py | sort | uniq | xargs \
                $(PYTHON) $(top_srcdir)/misc/pep8.py --ignore=E127,E501 $(PEP8_EXCLUDES)
-       @echo "TEST: Annotation pattern programs"
-       PYTHONPATH="$(top_builddir):$(top_srcdir)" $(PYTHON) $(top_srcdir)/tests/scanner/annotationparser/test_patterns.py
-       @echo "TEST: GTK-Doc Annotation Parser"
-       PYTHONPATH="$(top_builddir):$(top_srcdir)" $(PYTHON) $(top_srcdir)/tests/scanner/annotationparser/test_parser.py
 
 check-pyflakes:
        @echo "  CHECK Pyflakes"
index 557b75b..3f462c9 100644 (file)
@@ -1557,21 +1557,6 @@ m4_popdef([pkg_default])
 m4_popdef([pkg_description])
 ]) dnl PKG_NOARCH_INSTALLDIR
 
-
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# 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
-])# PKG_CHECK_VAR
-
 m4_include([m4/gtk-doc.m4])
 m4_include([m4/libtool.m4])
 m4_include([m4/ltoptions.m4])
index 1804e9f..b79252d 100755 (executable)
@@ -1,10 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012, 2013 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-12-29'
+timestamp='2013-06-10'
 
 # 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
@@ -26,7 +24,7 @@ timestamp='2012-12-29'
 # 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.
 #
 # 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
@@ -52,9 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-2012, 2013 Free Software Foundation, Inc.
+Copyright 1992-2013 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."
@@ -136,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+       # If the system lacks a compiler, then just pick glibc.
+       # We could probably try harder.
+       LIBC=gnu
+
+       eval $set_cc_for_build
+       cat <<-EOF > $dummy.c
+       #include <features.h>
+       #if defined(__UCLIBC__)
+       LIBC=uclibc
+       #elif defined(__dietlibc__)
+       LIBC=dietlibc
+       #else
+       LIBC=gnu
+       #endif
+       EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+       ;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -857,21 +874,21 @@ EOF
        exit ;;
     *:GNU:*:*)
        # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
        exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit ;;
     aarch64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     aarch64_be:Linux:*:*)
        UNAME_MACHINE=aarch64_be
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -884,59 +901,54 @@ EOF
          EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     arm*:Linux:*:*)
        eval $set_cc_for_build
        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_EABI__
        then
-           echo ${UNAME_MACHINE}-unknown-linux-gnu
+           echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        else
            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
                | grep -q __ARM_PCS_VFP
            then
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
            else
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
            fi
        fi
        exit ;;
     avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     cris:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     crisv32:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     frv:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     hexagon:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     i*86:Linux:*:*)
-       LIBC=gnu
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
        exit ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
        eval $set_cc_for_build
@@ -955,54 +967,63 @@ EOF
        #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
+    or1k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     or32:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     padre:Linux:*:*)
-       echo sparc-unknown-linux-gnu
+       echo sparc-unknown-linux-${LIBC}
        exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
+       echo hppa64-unknown-linux-${LIBC}
        exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
+         PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+         PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+         *)    echo hppa-unknown-linux-${LIBC} ;;
        esac
        exit ;;
     ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
+       echo powerpc64-unknown-linux-${LIBC}
        exit ;;
     ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
+       echo powerpc-unknown-linux-${LIBC}
+       exit ;;
+    ppc64le:Linux:*:*)
+       echo powerpc64le-unknown-linux-${LIBC}
+       exit ;;
+    ppcle:Linux:*:*)
+       echo powerpcle-unknown-linux-${LIBC}
        exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
+       echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
        exit ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
+       echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1235,19 +1256,21 @@ EOF
        exit ;;
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           i386)
-               eval $set_cc_for_build
-               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
-                     UNAME_PROCESSOR="x86_64"
-                 fi
-               fi ;;
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
+       eval $set_cc_for_build
+       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
+           fi
+       fi
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
index 52f04bc..c765b34 100755 (executable)
@@ -1,10 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012, 2013 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-12-29'
+timestamp='2013-04-24'
 
 # 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
@@ -70,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-2012, 2013 Free Software Foundation, Inc.
+Copyright 1992-2013 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."
@@ -256,7 +252,7 @@ case $basic_machine in
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
-       | arc \
+       | arc | arceb \
        | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
        | avr | avr32 \
        | be32 | be64 \
@@ -290,16 +286,17 @@ case $basic_machine in
        | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipsr5900 | mipsr5900el \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
        | moxie \
        | mt \
        | msp430 \
        | nds32 | nds32le | nds32be \
-       | nios | nios2 \
+       | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
        | open8 \
-       | or32 \
+       | or1k | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
@@ -369,7 +366,7 @@ case $basic_machine in
        | aarch64-* | aarch64_be-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
        | be32-* | be64-* \
@@ -407,12 +404,13 @@ case $basic_machine in
        | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipsr5900-* | mipsr5900el-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
        | mt-* \
        | msp430-* \
        | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
+       | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
        | orion-* \
@@ -1354,7 +1352,7 @@ case $os in
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* \
+             | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
              | -aos* | -aros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
@@ -1500,9 +1498,6 @@ case $os in
        -aros*)
                os=-aros
                ;;
-       -kaos*)
-               os=-kaos
-               ;;
        -zvmoe)
                os=-zvmoe
                ;;
@@ -1594,6 +1589,9 @@ case $basic_machine in
        mips*-*)
                os=-elf
                ;;
+       or1k-*)
+               os=-elf
+               ;;
        or32-*)
                os=-coff
                ;;
index 0f81afe..42ce0fb 100644 (file)
@@ -1 +1,7 @@
 SUBDIRS = win32
+
+EXTRA_DIST =   \
+       detectenv_msvc.mak      \
+       gen-cairo-gir.py        \
+       gi-introspection-msvc.mak       \
+       introspection-msvc.mak
index 94f00fb..76734ad 100644 (file)
@@ -349,6 +349,12 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 SUBDIRS = win32
+EXTRA_DIST = \
+       detectenv_msvc.mak      \
+       gen-cairo-gir.py        \
+       gi-introspection-msvc.mak       \
+       introspection-msvc.mak
+
 all: all-recursive
 
 .SUFFIXES:
diff --git a/build/detectenv_msvc.mak b/build/detectenv_msvc.mak
new file mode 100644 (file)
index 0000000..3e3dcdf
--- /dev/null
@@ -0,0 +1,65 @@
+# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or\r
+# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir)\r
+!if !defined(VCINSTALLDIR) && !defined(WINDOWSSDKDIR)\r
+MSG = ^\r
+This Makefile is only for Visual Studio 2008 and later.^\r
+You need to ensure that the Visual Studio Environment is properly set up^\r
+before running this Makefile.\r
+!error $(MSG)\r
+!endif\r
+\r
+ERRNUL  = 2>NUL\r
+_HASH=^#\r
+\r
+!if ![echo VCVERSION=_MSC_VER > vercl.x] \\r
+    && ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \\r
+    && ![echo PLAT=Win32 >> vercl.x] \\r
+    && ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \\r
+    && ![echo PLAT=x64 >> vercl.x] \\r
+    && ![echo $(_HASH)endif >> vercl.x] \\r
+    && ![cl -nologo -TC -P vercl.x $(ERRNUL)]\r
+!include vercl.i\r
+!if ![echo VCVER= ^\> vercl.vc] \\r
+    && ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]\r
+!include vercl.vc\r
+!endif\r
+!endif\r
+!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]\r
+!endif\r
+\r
+!if $(VCVERSION) > 1499 && $(VCVERSION) < 1600\r
+VSVER = 9\r
+!elseif $(VCVERSION) > 1599 && $(VCVERSION) < 1700\r
+VSVER = 10\r
+!elseif $(VCVERSION) > 1699 && $(VCVERSION) < 1800\r
+VSVER = 11\r
+!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900\r
+VSVER = 12\r
+!else\r
+VSVER = 0\r
+!endif\r
+\r
+!if "$(VSVER)" == "0"\r
+MSG = ^\r
+This NMake Makefile set supports Visual Studio^\r
+9 (2008) through 12 (2013).  Your Visual Studio^\r
+version is not supported.\r
+!error $(MSG)\r
+!endif\r
+\r
+VALID_CFGSET = FALSE\r
+!if "$(CFG)" == "release" || "$(CFG)" == "debug"\r
+VALID_CFGSET = TRUE\r
+!endif\r
+\r
+!if "$(CFG)" == "release"\r
+CFLAGS_ADD = /MD /O2\r
+!else\r
+CFLAGS_ADD = /MDd /Od /Zi /DG_ENABLE_DEBUG\r
+!endif\r
+\r
+!if "$(PLAT)" == "x64"\r
+LDFLAGS_ARCH = /machine:x64\r
+!else\r
+LDFLAGS_ARCH = /machine:x86\r
+!endif
\ No newline at end of file
similarity index 63%
rename from build/win32/create_nonglib_gir.py
rename to build/gen-cairo-gir.py
index e3df714..a4b4fff 100644 (file)
@@ -1,10 +1,10 @@
 #!/usr/bin/python\r
 #\r
-# Expand the bundled *.gir.in files\r
+# Expand the bundled cairo-1.0.gir.in files\r
 # for use in Visual C++ builds of G-I\r
 #\r
 # Author: Fan, Chun-wei\r
-# Date: January 21, 2013\r
+# Date: January 20, 2014\r
 #\r
 # (Adapted from setup.py in\r
 # $(glib_src_root)/build/win32/setup.py written by Shixin Zeng)\r
@@ -24,16 +24,6 @@ def process_in(src, dest, vars):
                 i = RE_VARS.sub(lambda x: str(vars[x.group(1)]), i)\r
                 d.write(i)\r
 \r
-def get_vsver(vsver):\r
-    return {\r
-        '9': '9',\r
-        '10': '10',\r
-        '11': '11',\r
-        '2008': '9',\r
-        '2010': '10',\r
-        '2012': '11',\r
-        }.get(vsver, '0')\r
-\r
 def parent_dir(path):\r
     if not os.path.isabs(path):\r
         path = os.path.abspath(path)\r
@@ -41,32 +31,29 @@ def parent_dir(path):
         path = os.path.dirname(path)\r
     return os.path.split(path)[0]\r
 \r
-def setup_vars_cairo(src, dest, vsver):\r
+def setup_vars_cairo(src, dest, dllname):\r
     vars = {}\r
     vars['CAIRO_GIR_PACKAGE'] = 'cairo-gobject'\r
-    vars['CAIRO_SHARED_LIBRARY'] = '%s-vs%s.dll' % (vars['CAIRO_GIR_PACKAGE'], vsver)\r
+    vars['CAIRO_SHARED_LIBRARY'] = '%s' % dllname\r
     process_in (src, dest, vars)\r
 \r
 def main(argv):\r
     parser = optparse.OptionParser()\r
+    parser.add_option('--dllname', dest='dllname', action='store', help='Full file name of the Cairo-GObject DLL for the Cairo Introspection File')\r
     parser.add_option('--vsver', dest='vsver', action='store', help='Version of Visual Studio used, 9 or 2008 for VS 2008, 10 or 2010 for VS2010, 11 or 2012 for VS2012')\r
     opt, args = parser.parse_args(argv)\r
-    if opt.vsver is None:\r
-        print ('vsver must be specified.  Please use %s -h to see the valid values' % os.path.basename(__file__))\r
-        sys.exit()\r
-    vsver = get_vsver(opt.vsver)\r
-    if vsver is '0':\r
-        print ('You must specify a valid vsver.  Please use %s -h to see the valid values' % os.path.basename(__file__))\r
+    if opt.dllname is None:\r
+        print ('dllname must be specified.  Please refer to %s -h for more information' % os.path.basename(__file__))\r
         sys.exit()\r
 \r
     # Get the srcroot and the path where the bundled .gir files reside in the package\r
-    srcroot = parent_dir(parent_dir(__file__))\r
+    srcroot = parent_dir(__file__)\r
     preset_gir_path = os.path.join(srcroot, 'gir')\r
 \r
     # Set up variables in cairo-1.0.gir.in to produce cairo-1.0.gir\r
     setup_vars_cairo(os.path.join(preset_gir_path, 'cairo-1.0.gir.in'),\r
                      os.path.join(preset_gir_path, 'cairo-1.0.gir'),\r
-                     vsver)\r
+                     opt.dllname)\r
 \r
 if __name__ == '__main__':\r
     sys.exit(main(sys.argv))\r
diff --git a/build/gi-introspection-msvc.mak b/build/gi-introspection-msvc.mak
new file mode 100644 (file)
index 0000000..5b345fa
--- /dev/null
@@ -0,0 +1,210 @@
+# NMake Makefile to build Introspection Files for G-I
+
+# Change or pass in as a variable/env var if needed
+# The main DLLs that are used to build introspection files that are "installed"
+GI_DLLNAME = girepository-1-vs$(VSVER)
+GLIB_DLLNAME = glib-2-vs$(VSVER)
+GMODULE_DLLNAME = gmodule-2-vs$(VSVER)
+GOBJECT_DLLNAME = gobject-2-vs$(VSVER)
+GIO_DLLNAME = gio-2-vs$(VSVER)
+CAIROGOBJECT_DLLNAME= cairo-gobject-vs$(VSVER)
+
+# Please do not change anything after this line
+
+!include detectenv_msvc.mak
+
+GI_APIVERSION = 1.0
+GLIB_APIVERSION = 2.0
+
+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_COMPILER_CURRENT = $(BINDIR)\g-ir-compiler.exe
+
+!if "$(PLAT)" == "x64"
+TIME_T_DEFINE = -Dtime_t=long long
+!else
+TIME_T_DEFINE = -Dtime_t=long
+!endif
+
+# The .gir's that are in $(srcroot)/gir, applicable to Windows
+# cairo-1.0.gir is not listed as it needs to be processed first
+bundled_girs = \
+       win32-1.0.gir   \
+       fontconfig-2.0.gir      \
+       freetype2-2.0.gir       \
+       GL-1.0.gir      \
+       libxml2-2.0.gir
+
+# The .typelib's that are build from the .gir's bundled with the
+# G-I package, applicable to Windows
+bundled_typelibs =     \
+       cairo-1.0.typelib       \
+       fontconfig-2.0.typelib  \
+       freetype2-2.0.typelib   \
+       GL-1.0.typelib  \
+       libxml2-2.0.typelib     \
+       win32-1.0.typelib
+
+# The .gir's for GLib/G-I that are built and "installed"
+built_install_girs =   \
+       GLib-$(GLIB_APIVERSION).gir     \
+       GModule-$(GLIB_APIVERSION).gir  \
+       GObject-$(GLIB_APIVERSION).gir  \
+       Gio-$(GLIB_APIVERSION).gir      \
+       GIRepository-$(GLIB_APIVERSION).gir
+
+# The .typelib's for GLib/G-I that are built and "installed"
+built_install_typelibs =       \
+       GLib-$(GLIB_APIVERSION).typelib \
+       GModule-$(GLIB_APIVERSION).typelib      \
+       GObject-$(GLIB_APIVERSION).typelib      \
+       Gio-$(GLIB_APIVERSION).typelib  \
+       GIRepository-$(GLIB_APIVERSION).typelib
+
+!include introspection-msvc.mak
+
+!if "$(BUILD_INTROSPECTION)" == "TRUE"
+all: setgirbuildnev $(built_install_girs) $(built_install_typelibs) $(bundled_girs) $(bundled_typelibs)
+
+setgirbuildnev:
+       @set CC=$(CC)
+       @set PYTHONPATH=..;$(BINDIR)
+       @set PATH=$(BINDIR);$(BASEDIR)\bin;$(PATH);$(MINGWDIR)\bin
+       @set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)
+       @set LIB=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(BASEDIR)\lib;$(LIB)
+       @set UNINSTALLED_INTROSPECTION_SRCDIR=..
+
+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>> $@
+
+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>> $@
+
+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>> $@
+
+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 >> $@
+
+# Make a copy of girepository-1.0.lib to girepository-2.0.lib for use
+# during the linking stage of the dump binary, in the generation
+# of GIRepository-2.0.gir (the resulting binary will still be
+# linked and referring to the original girepository DLL)
+win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\girepository-$(GLIB_APIVERSION).lib: win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\girepository-$(GI_APIVERSION).lib
+       @-copy /b win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\girepository-$(GI_APIVERSION).lib $@
+
+# 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_DLLNAME) --library=$(GOBJECT_DLLNAME)      \
+       --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  \
+       -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      \
+       --no-libtool --include=GLib-$(GLIB_APIVERSION) --pkg=gmodule-$(GLIB_APIVERSION) --library=$(GMODULE_DLLNAME)    \
+       --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 $@
+
+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)       \
+       --no-libtool --include=GLib-$(GLIB_APIVERSION) --pkg=gobject-$(GLIB_APIVERSION) --library=$(GOBJECT_DLLNAME)    \
+       --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    \
+       -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)   \
+       --no-libtool --pkg=gio-$(GLIB_APIVERSION) --pkg=gio-windows-$(GLIB_APIVERSION) --include=GObject-$(GLIB_APIVERSION)     \
+       --library=$(GIO_DLLNAME) --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 $@
+
+GIRepository-$(GLIB_APIVERSION).gir: gi_list GObject-$(GLIB_APIVERSION).gir win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\girepository-$(GLIB_APIVERSION).lib
+       @-echo Generating $@...
+       $(PYTHON2) $(G_IR_SCANNER_CURRENT) --verbose --warn-all \
+       --add-include-path=..\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=$(GI_DLLNAME) -I..\girepository -I.. -I%BASEDIR%\include      \
+       -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\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
+       @-echo Generating and copying $@ from $*.gir.in...
+       @-if not exist ..\gir\$*.gir $(PYTHON2) gen-cairo-gir.py --dllname=$(CAIROGOBJECT_DLLNAME).dll
+       @-copy ..\gir\$*.gir $@
+
+# 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
+       @-echo Copying the bundled $*.gir that came with the GobjectIntrospection package...
+       @-copy ..\gir\$*.gir $@
+
+# Generate .typelib's from generated .gir's
+$(built_install_typelibs): $(built_install_girs)
+       @-echo Compiling $*.typelib...
+       @-$(G_IR_COMPILER_CURRENT) --includedir=. --debug --verbose $*.gir -o $@
+
+# Generate .typelib's from bundled .gir's
+$(bundled_typelibs): cairo-1.0.gir $(bundled_girs)
+       @-echo Compiling the bundled $*.gir that came with the GobjectIntrospection package...
+       @-$(G_IR_COMPILER_CURRENT) --includedir=. --debug --verbose $*.gir -o $@
+
+install-introspection: setgirbuildnev $(built_install_girs) $(built_install_typelibs) $(bundled_girs) cairo-1.0.gir $(bundled_typelibs)
+       @-copy cairo-1.0.gir $(G_IR_INCLUDEDIR)
+       @-for %a in ($(built_install_girs)) do @copy %a $(G_IR_INCLUDEDIR)
+       @-for %b in ($(built_install_typelibs)) do @copy %b $(G_IR_TYPELIBDIR)
+       @-for %c in ($(bundled_girs)) do @copy %c $(G_IR_INCLUDEDIR)
+       @-for %d in ($(bundled_typelibs)) do @copy %d $(G_IR_TYPELIBDIR)
+
+!else
+all: install-introspection
+
+install-introspection:
+       @-echo $(ERROR_MSG)
+!endif
+
+clean:
+       @-del /f/q ..\gir\cairo-$(GI_APIVERSION).gir
+       @-del /f/q *.typelib
+       @-del /f/q *.gir
+       @-del /f/q win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin\girepository-$(GLIB_APIVERSION).lib
+       @-del /f/q gi_list
+       @-del /f/q gio_list
+       @-del /f/q gobject_list
+       @-del /f/q glib_list
+       @-del /f/q *.pyc
diff --git a/build/introspection-msvc.mak b/build/introspection-msvc.mak
new file mode 100644 (file)
index 0000000..beff817
--- /dev/null
@@ -0,0 +1,79 @@
+# Common Utility NMake Makefile Template
+# Used to Generate Introspection files for various Projects
+
+# 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)
+
+# 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
+
+# This is required, and gobject-introspection needs to be built
+# before this can be successfully run.
+PYTHON2=python
+
+# Don't change anything following this line!
+VALID_PKG_CONFIG_PATH = FALSE
+VALID_GCC_INSTPATH = FALSE
+
+MSG_INVALID_PKGCONFIG = You must set or specifiy a valid PKG_CONFIG_PATH
+MSG_INVALID_MINGWDIR = You must set or specifiy a valid MINGWDIR, where gcc.exe can be found in %MINGWDIR%\bin
+MSG_INVALID_CFG = You need to specify or set CFG to be release or debug to use this Makefile to build the Introspection Files
+
+ERROR_MSG =
+
+BUILD_INTROSPECTION = TRUE
+
+!if ![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]       \
+       && ![del $(ERRNUL) /q/f pkgconfig.x]
+!endif
+
+!include pkgconfig.chksize
+!if "$(PKG_CHECK_SIZE)" == "0"
+VALID_PKG_CONFIG_PATH = TRUE
+!else
+VALID_PKG_CONFIG_PATH = FALSE
+!endif
+
+!if ![IF EXIST %MINGWDIR%\bin\gcc.exe @echo VALID_GCC_INSTPATH=TRUE > gcccheck.x]
+!endif
+
+!if ![IF NOT EXIST %MINGWDIR%\bin\gcc.exe @echo VALID_GCC_INSTPATH=FALSE > gcccheck.x]
+!endif
+
+!include gcccheck.x
+
+!if ![del $(ERRNUL) /q/f pkgconfig.chksize gcccheck.x]
+!endif
+
+VALID_CFGSET = FALSE
+!if "$(CFG)" == "release" || "$(CFG)" == "debug"
+VALID_CFGSET = TRUE
+!endif
+
+!if "$(VALID_GCC_INSTPATH)" != "TRUE"
+BUILD_INTROSPECTION = FALSE
+ERROR_MSG = $(MSG_INVALID_MINGWDIR)
+!endif
+
+!if "$(VALID_PKG_CONFIG_PATH)" != "TRUE"
+BUILD_INTROSPECTION = FALSE
+ERROR_MSG = $(MSG_INVALID_PKGCONFIG)
+!endif
+
+!if "$(VALID_CFGSET)" != "TRUE"
+BUILD_INTROSPECTION = FALSE
+ERROR_MSG = $(MSG_INVALID_CFG)
+!endif
index f404aa1..0056ece 100644 (file)
@@ -4,8 +4,6 @@ EXTRA_DIST = \
        annotation.def  \
        everything.def  \
        foo.def \
-       gengir.bat      \
-       create_nonglib_gir.py   \
        gettype.def     \
        gimarshallingtests.def  \
        gtkfrob.def     \
index 31a4777..db18ba4 100644 (file)
@@ -353,8 +353,6 @@ EXTRA_DIST = \
        annotation.def  \
        everything.def  \
        foo.def \
-       gengir.bat      \
-       create_nonglib_gir.py   \
        gettype.def     \
        gimarshallingtests.def  \
        gtkfrob.def     \
diff --git a/build/win32/gengir.bat b/build/win32/gengir.bat
deleted file mode 100644 (file)
index 0392a86..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-@echo off
-
-setlocal EnableDelayedExpansion
-
-rem Needed environmental variables:
-rem PLAT: Windows platform-Win32 (i.e. x86) or x64 (i.e. x86-64)
-rem CONF: Configuration Type, Release or Debug
-rem VSVER: Visual C++ version used
-
-rem Check the environemental variables...
-if /i "%PLAT%" == "Win32" goto PLAT_OK
-if /i "%PLAT%" == "x64" goto PLAT_OK
-if /i "%PLAT%" == "x86" (
-   set PLAT=Win32
-   goto PLAT_OK
-)
-if /i "%PLAT%" == "x86-64" (
-   set PLAT=x64
-   goto PLAT_OK
-)
-goto ERR_PLAT
-:PLAT_OK
-if %VSVER% == 9 goto VSVER_OK
-if %VSVER% == 10 goto VSVER_OK
-if %VSVER% == 11 goto VSVER_OK
-goto ERR_VSVER
-:VSVER_OK
-if /i "%CONF%" == "Release" goto CONF_OK
-if /i "%CONF%" == "Debug" goto CONF_OK
-goto ERR_CONF
-:CONF_OK
-if "%BASEDIR%" == "" goto ERR_BASEDIR
-if not exist %BASEDIR% goto ERR_BASEDIR
-
-
-set BINDIR=..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\bin
-set PATH=%BINDIR%;%PATH%
-set PYTHONPATH=..\..;%BINDIR%
-
-set UNINSTALLED_INTROSPECTION_SRCDIR=..\..
-echo Setup .bat for generating GLib .gir's...
-
-rem =====================================================
-rem Feed the "installed" GLib headers into a listing file
-rem =====================================================
-echo %BASEDIR%\lib\glib-2.0\include\glibconfig.h> glib_list
-for /f %%a in ('dir /b %BASEDIR%\include\glib-2.0\glib\*.h') do (
-   echo %BASEDIR%\include\glib-2.0\glib\%%a>> glib_list
-)
-echo %BASEDIR%\include\glib-2.0\gobject\glib-types.h>> glib_list
-echo ..\..\gir\glib-2.0.c>> glib_list
-
-rem ========================================================
-rem Feed the "installed" GObject headers into a listing file
-rem ========================================================
-
-if exist gobject_list del gobject_list
-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>> gobject_list
-   )
-)
-echo ..\..\gir\gobject-2.0.c>> gobject_list
-
-rem =====================================================
-rem Feed the "installed" Gio headers into a listing file
-rem =====================================================
-
-for /f %%a in ('dir /b %BASEDIR%\include\gio-win32-2.0\gio\*.h') do (
-   echo %BASEDIR%\include\gio-win32-2.0\gio\%%a> gio_list
-)
-
-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>> gio_list
-   )
-)
-echo ..\..\gir\gio-2.0.c>> gio_list
-
-rem =================================================================================================
-rem Begin setup of glib_gir.bat to create GLib-2.0.gir
-rem (The ^^ is necessary to span the command to multiple lines on Windows cmd.exe!)
-rem =================================================================================================
-
-echo echo Generating GLib-2.0.gir...> glib_gir.bat
-echo @echo on>> glib_gir.bat
-echo.>> glib_gir.bat
-rem ================================================================
-rem Setup the command line flags to g-ir-scanner for GLib-2.0.gir...
-rem ================================================================
-echo python ..\..\tools\g-ir-scanner --verbose -I..\.. --add-include-path=..\.. ^^>> glib_gir.bat
-echo --add-include-path=..\..\gir --add-include-path=. --namespace=GLib --nsversion=2.0 ^^>> glib_gir.bat
-echo --no-libtool --pkg=glib-2.0 --include=win32-1.0 --library=glib-2-vs%VSVER% --library=gobject-2-vs%VSVER% ^^>> glib_gir.bat
-echo --external-library --reparse-validate --identifier-prefix=G --symbol-prefix=g ^^>> glib_gir.bat
-echo --symbol-prefix=glib --c-include="glib.h" -I%BASEDIR%\include\glib-2.0 ^^>> glib_gir.bat
-echo -I%BASEDIR%\lib\glib-2.0\include -I%BASEDIR%\include -DGETTEXT_PACKAGE=Dummy ^^>> glib_gir.bat
-echo -DGLIB_COMPILATION -D__G_I18N_LIB_H__ ^^>> glib_gir.bat
-echo --filelist=glib_list ^^>> glib_gir.bat
-echo -o GLib-2.0.gir>> glib_gir.bat
-echo.>> glib_gir.bat
-
-echo Completed setup of .bat for generating GLib-2.0.gir.
-echo.>> glib_gir.bat
-
-rem ===================================================
-rem Finish setup of glib_gir.bat to create GLib-2.0.gir
-rem ===================================================
-
-rem ====================================================================
-rem Next, begin the setup for the glib_gir.bat to create GModule-2.0.gir
-rem ====================================================================
-echo echo Generating GModule-2.0.gir...>> glib_gir.bat
-echo.>> glib_gir.bat
-
-rem ===================================================================
-rem Setup the command line flags to g-ir-scanner for GModule-2.0.gir...
-rem ===================================================================
-
-echo python ..\..\tools\g-ir-scanner --verbose -I..\.. --add-include-path=..\.. ^^>> glib_gir.bat
-echo --add-include-path=..\..\gir --add-include-path=. --namespace=GModule --nsversion=2.0 ^^>> glib_gir.bat
-echo --no-libtool --include=GLib-2.0 --pkg=gmodule-2.0 --library=gmodule-2-vs%VSVER% ^^>> glib_gir.bat
-echo --external-library --reparse-validate --identifier-prefix=G --c-include="gmodule.h" ^^>> glib_gir.bat
-echo -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\lib\glib-2.0\include -I%BASEDIR%\include ^^>> glib_gir.bat
-echo %BASEDIR%\include\glib-2.0\gmodule.h ..\..\gir\gmodule-2.0.c -o GModule-2.0.gir>> glib_gir.bat
-echo.>> glib_gir.bat
-
-echo Completed setup of .bat for generating GModule-2.0.gir.
-echo.>> glib_gir.bat
-
-rem ======================================================
-rem Finish setup of glib_gir.bat to create GModule-2.0.gir
-rem ======================================================
-
-rem ====================================================================
-rem Next, begin the setup for the glib_gir.bat to create GObject-2.0.gir
-rem ====================================================================
-
-echo echo Generating GObject-2.0.gir...>> glib_gir.bat
-echo.>> glib_gir.bat
-
-rem ===================================================================
-rem Setup the command line flags to g-ir-scanner for GObject-2.0.gir...
-rem ===================================================================
-
-echo python ..\..\tools\g-ir-scanner --verbose -I..\.. --add-include-path=..\.. ^^>> glib_gir.bat
-echo --add-include-path=..\..\gir --add-include-path=. --namespace=GObject --nsversion=2.0 ^^>> glib_gir.bat
-echo --no-libtool --include=GLib-2.0 --pkg=gobject-2.0 --library=gobject-2-vs%VSVER% ^^>> glib_gir.bat
-echo --external-library --reparse-validate --identifier-prefix=G --c-include="glib-gobject.h" ^^>> glib_gir.bat
-echo -I%BASEDIR%/include/glib-2.0 -I%BASEDIR%/lib/glib-2.0/include -I%BASEDIR%/include ^^>> glib_gir.bat
-echo -DGOBJECT_COMPILATION ^^>> glib_gir.bat
-echo --filelist=gobject_list -o GObject-2.0.gir>> glib_gir.bat
-echo.>> glib_gir.bat
-
-echo Completed setup of .bat for generating GObject-2.0.gir.
-echo.>> glib_gir.bat
-rem ======================================================
-rem Finish setup of glib_gir.bat to create GObject-2.0.gir
-rem ======================================================
-
-rem ================================================================
-rem Next, begin the setup for the glib_gir.bat to create Gio-2.0.gir
-rem ================================================================
-echo echo Generating Gio-2.0.gir...>> glib_gir.bat
-echo.>> glib_gir.bat
-
-rem ===============================================================
-rem Setup the command line flags to g-ir-scanner for Gio-2.0.gir...
-rem ===============================================================
-echo python ..\..\tools\g-ir-scanner --verbose -I..\.. --add-include-path=..\.. ^^>> glib_gir.bat
-echo --add-include-path=..\..\gir --add-include-path=. --namespace=Gio --nsversion=2.0 ^^>> glib_gir.bat
-echo --no-libtool --pkg=gio-2.0 --pkg=gio-windows-2.0 --include=GObject-2.0 ^^>> glib_gir.bat
-echo --library=gio-2-vs%VSVER% --external-library --reparse-validate --warn-all ^^>> glib_gir.bat
-echo --identifier-prefix=G --include=GLib-2.0 --c-include="gio/gio.h" -DGIO_COMPILATION ^^>> glib_gir.bat
-echo -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\lib\glib-2.0\include ^^>> glib_gir.bat
-echo -I%BASEDIR%\include ^^>> glib_gir.bat
-echo --filelist=gio_list ^^>> glib_gir.bat
-echo -o Gio-2.0.gir>> glib_gir.bat
-echo.>> glib_gir.bat
-
-echo Completed setup of .bat for generating Gio-2.0.gir.
-echo.>> glib_gir.bat
-rem ==================================================
-rem Finish setup of glib_gir.bat to create Gio-2.0.gir
-rem ==================================================
-
-rem =========================================================================
-rem Next, begin the setup for the glib_gir.bat to create GIRepository-2.0.gir
-rem =========================================================================
-copy /b %BINDIR%\girepository-1.0.lib %BINDIR%\girepository-2.0.lib
-echo echo Generating GIRepository-2.0.gir...>> glib_gir.bat
-echo.>> glib_gir.bat
-
-rem ========================================================================
-rem Setup the command line flags to g-ir-scanner for GIRepository-2.0.gir...
-rem ========================================================================
-echo python ..\..\tools\g-ir-scanner --verbose --warn-all ^^>> glib_gir.bat
-echo --add-include-path=..\..\gir --add-include-path=. --namespace=GIRepository --nsversion=2.0 ^^>> glib_gir.bat
-echo --identifier-prefix=GI --symbol-prefix=g --c-include="girepository.h" --add-include-path=. ^^>> glib_gir.bat
-echo --no-libtool --pkg=gobject-2.0 --include=GObject-2.0 ^^>> glib_gir.bat
-echo --library=girepository-1-vs%VSVER% -I..\..\girepository -I..\.. -I%BASEDIR%\include  ^^>> glib_gir.bat
-echo -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\lib\glib-2.0\include -DGI_COMPILATION ^^>> glib_gir.bat
-echo ..\..\girepository\girepository.h ^^>> glib_gir.bat
-echo ..\..\girepository\girepository.c ^^>> glib_gir.bat
-
-for /f %%a in ('dir /b ..\..\girepository\gi*info.c') do (
-   echo ..\..\girepository\%%a ^^>> glib_gir.bat
-)
-
-for /f %%a in ('dir /b ..\..\girepository\gi*info.h') do (
-   echo ..\..\girepository\%%a ^^>> glib_gir.bat
-)
-
-echo ..\..\girepository\gitypelib.h ^^>> glib_gir.bat
-echo ..\..\girepository\gitypes.h ^^>> glib_gir.bat
-echo -o GIRepository-2.0.gir>> glib_gir.bat
-echo.>> glib_gir.bat
-
-echo Completed setup of .bat for generating GIRepository-2.0.gir.
-echo.>> glib_gir.bat
-rem ===========================================================
-rem Finish setup of glib_gir.bat to create GIRepository-2.0.gir
-rem ===========================================================
-
-rem =======================
-rem Now generate the .gir's
-rem =======================
-CALL glib_gir.bat
-
-@echo off
-rem =======
-rem Cleanup
-rem =======
-rem del %BINDIR%\girepository-2.0.lib
-del gio_list
-del gobject_list
-del glib_list
-del glib_gir.bat
-goto DO_COMPILE_GIR
-:ERR_PLAT
-echo You need to specify a valid Platform [set PLAT=Win32 or PLAT=x64]
-goto DONE
-:ERR_VSVER
-echo You need to specify your Visual Studio version [set VSVER=9 or VSVER=10 or VSVER=11]
-goto DONE
-:ERR_CONF
-echo You need to specify a valid Configuration [set CONF=Release or CONF=Debug]
-goto DONE
-:ERR_BASEDIR
-echo You need to specify a valid BASEDIR.
-goto DONE
-:DO_COMPILE_GIR
-rem Now compile the generated .gir files
-g-ir-compiler --includedir=. --includedir=..\..\gir --debug --verbose GLib-2.0.gir -o GLib-2.0.typelib
-g-ir-compiler --includedir=. --includedir=..\..\gir --debug --verbose GModule-2.0.gir -o GModule-2.0.typelib
-g-ir-compiler --includedir=. --includedir=..\..\gir --debug --verbose GObject-2.0.gir -o GObject-2.0.typelib
-g-ir-compiler --includedir=. --includedir=..\..\gir --debug --verbose Gio-2.0.gir -o Gio-2.0.typelib
-g-ir-compiler --includedir=. --includedir=..\..\gir --debug --verbose GIRepository-2.0.gir -o GIRepository-2.0.typelib
-
-rem Now process the bundled .gir files
-python create_nonglib_gir.py --vsver=%VSVER%
-set CURRDIR=%CD%
-cd ..\..\gir
-g-ir-compiler --includedir=. --debug --verbose cairo-1.0.gir -o cairo-1.0.typelib
-g-ir-compiler --includedir=. --debug --verbose freetype2-2.0.gir -o freetype2-2.0.typelib
-g-ir-compiler --includedir=. --debug --verbose GL-1.0.gir -o GL-1.0.typelib
-g-ir-compiler --includedir=. --debug --verbose libxml2-2.0.gir -o libxml2-2.0.typelib
-g-ir-compiler --includedir=. --debug --verbose win32-1.0.gir -o win32-1.0.typelib
-cd %CURRDIR%
-
-rem Copy the generated .girs and .typelibs to their appropriate places
-
-mkdir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0
-move /y *.gir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0\
-copy /y ..\..\gir\freetype2-2.0.gir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0\
-copy /y ..\..\gir\GL-1.0.gir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0\
-copy /y ..\..\gir\libxml2-2.0.gir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0\
-copy /y ..\..\gir\cairo-1.0.gir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0\
-copy /y ..\..\gir\win32-1.0.gir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0\
-
-mkdir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\lib\girepository-1.0
-move /y *.typelib ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\lib\girepository-1.0\
-move /y ..\..\gir\*.typelib ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\lib\girepository-1.0\
-:DONE
-
index 0046bc4..dd43a31 100644 (file)
@@ -1,17 +1,20 @@
 EXTRA_DIST = \
        gobject-introspection.sln       \
+       gi-build-defines.props  \
+       gi-extra-paths.props    \
+       gi-gen-srcs.props       \
+       gi-install.propsin      \
+       gi-install.props        \
+       gi-version-paths.props  \
+       gi-prebuild.vcxproj     \
        girepository.vcxprojin  \
        girepository.vcxproj.filtersin  \
-       gir.propsin     \
-       gir.props       \
        annotation.vcxproj      \
        annotation.vcxproj.filters      \
        cmph-bdz-test.vcxproj   \
        cmph-bdz-test.vcxproj.filters   \
        cmph.vcxprojin  \
        cmph.vcxproj.filtersin  \
-       everything.vcxproj      \
-       everything.vcxproj.filters      \
        foo.vcxproj     \
        foo.vcxproj.filters     \
        g-ir-compiler.vcxprojin \
@@ -36,12 +39,11 @@ EXTRA_DIST = \
        utility.vcxproj.filters \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
-       generate_typelibs.vcxproj       \
        install.vcxproj \
        README.txt
 
-gir.props: $(top_srcdir)/build/win32/vs10/gir.propsin gir.vs10.install
-       $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gir.propsin >$@
+gi-install.props: $(top_srcdir)/build/win32/vs10/gi-install.propsin gir.vs10.install
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gi-install.propsin >$@
        rm gir.vs10.install
 
-CLEANFILES = gir.props
+CLEANFILES = gi-install.props
index ed7e426..e2cd66e 100644 (file)
@@ -290,18 +290,21 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 EXTRA_DIST = \
        gobject-introspection.sln       \
+       gi-build-defines.props  \
+       gi-extra-paths.props    \
+       gi-gen-srcs.props       \
+       gi-install.propsin      \
+       gi-install.props        \
+       gi-version-paths.props  \
+       gi-prebuild.vcxproj     \
        girepository.vcxprojin  \
        girepository.vcxproj.filtersin  \
-       gir.propsin     \
-       gir.props       \
        annotation.vcxproj      \
        annotation.vcxproj.filters      \
        cmph-bdz-test.vcxproj   \
        cmph-bdz-test.vcxproj.filters   \
        cmph.vcxprojin  \
        cmph.vcxproj.filtersin  \
-       everything.vcxproj      \
-       everything.vcxproj.filters      \
        foo.vcxproj     \
        foo.vcxproj.filters     \
        g-ir-compiler.vcxprojin \
@@ -326,11 +329,10 @@ EXTRA_DIST = \
        utility.vcxproj.filters \
        _giscanner.vcxproj      \
        _giscanner.vcxproj.filters      \
-       generate_typelibs.vcxproj       \
        install.vcxproj \
        README.txt
 
-CLEANFILES = gir.props
+CLEANFILES = gi-install.props
 all: all-am
 
 .SUFFIXES:
@@ -523,8 +525,8 @@ uninstall-am:
        tags-am uninstall uninstall-am
 
 
-gir.props: $(top_srcdir)/build/win32/vs10/gir.propsin gir.vs10.install
-       $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gir.propsin >$@
+gi-install.props: $(top_srcdir)/build/win32/vs10/gi-install.propsin gir.vs10.install
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gi-install.propsin >$@
        rm gir.vs10.install
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 06f216e..db905a1 100644 (file)
@@ -59,16 +59,38 @@ http://www.gtk.org/download/win32.php [32-bit]
 http://www.gtk.org/download/win64.php [64-bit]\r
 \r
 *** Note! ***\r
-Please note that due to numerous possible configurations on Python, some environmental\r
-variables need to be set before launching the gobject-introsection.sln solution file.\r
-\r
-These variables are namely:\r
-PYTHONDIR: Root installation folder of your Python interpretor, where python.exe is\r
-           located.  Currently only Python 2.6.x and 2.7.x is supported.\r
-           It must match your build configuration (Win32 or x64/amd64)\r
+Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH and\r
+MinGW, the build of G-I is now a 2-step process: one with the Visual Studio Projects that\r
+will build the libraries, tools, Python Module and test DLLs (except for the everything\r
+test), and the other one with NMake Makefiles for building the introspection files.\r
+Please note that if one needs to change the installation location\r
+of Python, one needs to change the values of PythonDir (for x86/Win32 builds) and/or\r
+PythonDirX64 (for x64 builds) in gi-extra-paths.props\r
+\r
+The use of Visual Studio Projects will no longer require the setting of environmental\r
+variables, but the following environmental variables are needed (either by using "set xxx=yyy"\r
+or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which\r
+should be done after successfully building the Project Files):\r
+\r
+PYTHON2: Full path to your Python 2.6.x/2.7.x interpretor (python.exe) if it is\r
+         not in your PATH.  Please note that only 2.6.x and 2.7.x works at this time.\r
+         You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86\r
+         version of Python for Win32/x86 builds\r
 PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.\r
 MINGWDIR: Root installation folder for your Windows GCC (such as MinGW).  For example,\r
           if your gcc executable (gcc.exe) is in c:\mingw\bin, use "set MINGWDIR=c:\mingw"\r
+          You need to use an x64/amd64 version of gcc for x64 builds, and a Win32/x86\r
+          version of gcc for Win32/x86 builds\r
+\r
+GCC is currently needed to as the GCC preprocessor is used to create the introspection dump source\r
+file, which is then compiled with the Visual C++ compiler to produce the .gir files.\r
+\r
+Please see $(srcroot)\build\gi-introspection-msvc.mak for more details.  Doing\r
+"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,\r
+and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection\r
+files to <root>\vs10\<PlatformName>\share\gir-1.0 (.gir files) and\r
+<root>\vs10\<PlatformName>\lib\girepository-1.0 (.typelib files)\r
+\r
 *** End of Note! ***\r
 \r
 The "install" project will copy build results and headers into their\r
@@ -77,9 +99,6 @@ built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
 <root>\vs10\<PlatformName>\lib and gobject-introspection headers into\r
 <root>\vs10\<PlatformName>\include\gobject-introsection-1.0.\r
 \r
-The generated .gir files will end up in <root>\vs10\<PlatformName>\share\gir-1.0\r
-and .typelib files will end up in <root>\vs10\<PlatformName>\lib\girepository-1.0\r
-\r
 This is then from where\r
 project files higher in the stack are supposed to look for them, not\r
 from a specific gobject-introspection source tree.\r
index 07f2611..6b4b611 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-extra-paths.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-extra-paths.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-extra-paths.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-extra-paths.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -75,7 +75,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\giscanner;$(PYTHONDIR)\include;$(PYTHONDIR)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\giscanner;$(PythonDir)\include;$(PythonDir)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <ForcedIncludeFiles>%(ForcedIncludeFiles);io.h</ForcedIncludeFiles>
       <PreprocessorDefinitions>_DEBUG;YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
@@ -88,7 +88,7 @@
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
-      <AdditionalLibraryDirectories>$(PYTHONDIR)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(PythonDir)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <TargetMachine>MachineX86</TargetMachine>
@@ -98,7 +98,7 @@
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\..\giscanner;$(PYTHONDIR)\include;$(PYTHONDIR)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\giscanner;$(PythonDir)\include;$(PythonDir)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <ForcedIncludeFiles>%(ForcedIncludeFiles);io.h</ForcedIncludeFiles>
       <PreprocessorDefinitions>YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
-      <AdditionalLibraryDirectories>$(PYTHONDIR)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(PythonDir)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\giscanner;$(PYTHONDIR)\include;$(PYTHONDIR)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\giscanner;$(PythonDirX64)\include;$(PythonDirX64)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <ForcedIncludeFiles>%(ForcedIncludeFiles);io.h</ForcedIncludeFiles>
       <PreprocessorDefinitions>_DEBUG;YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
-      <AdditionalLibraryDirectories>$(PYTHONDIR)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(PythonDirX64)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <AdditionalIncludeDirectories>..\..\..\giscanner;$(PYTHONDIR)\include;$(PYTHONDIR)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\giscanner;$(PythonDirX64)\include;$(PythonDirX64)\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <ForcedIncludeFiles>%(ForcedIncludeFiles);io.h</ForcedIncludeFiles>
       <PreprocessorDefinitions>YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
-      <AdditionalLibraryDirectories>$(PYTHONDIR)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(PythonDirX64)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
     <ClCompile Include="..\..\..\scannerparser.c" />
     <ClCompile Include="..\..\..\giscanner\sourcescanner.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index b732cad..8ee2f1d 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -89,7 +89,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\tests\scanner\annotation.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index e5308e8..cdd3b17 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
index adf6092..698bf82 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
     <ClCompile Include="..\..\..\girepository\cmph\vqueue.c" />
     <ClCompile Include="..\..\..\girepository\cmph\vstack.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index 1bdbe64..9bab7e0 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
   <ItemGroup>
 #include "cmph.vs10.sourcefiles"
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/build/win32/vs10/everything.vcxproj b/build/win32/vs10/everything.vcxproj
deleted file mode 100644 (file)
index fe13528..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2986281A-BD41-4BD1-8B43-25B7D7E7F234}</ProjectGuid>
-    <RootNamespace>everything</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <PreBuildEvent>
-      <Command>
-      $(GenEverythingH)
-      </Command>
-    </PreBuildEvent>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
-      <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <PreBuildEvent>
-      <Command>
-      $(GenEverythingH)
-      </Command>
-    </PreBuildEvent>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
-      <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <PreBuildEvent>
-      <Command>
-      $(GenEverythingH)
-      </Command>
-    </PreBuildEvent>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
-      <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <PreBuildEvent>
-      <Command>
-      $(GenEverythingH)
-      </Command>
-    </PreBuildEvent>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
-      <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\tests\everything.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="_giscanner.vcxproj">
-      <Project>{8311394f-9114-4c97-80f2-51bcaba054c9}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/everything.vcxproj.filters b/build/win32/vs10/everything.vcxproj.filters
deleted file mode 100644 (file)
index c284b23..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Sources">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Headers">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\..\tests\everything.c">
-      <Filter>Sources</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>
\ No newline at end of file
index 480f11e..2e03f83 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -89,7 +89,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
index 65777b1..6254737 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -75,7 +75,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -97,7 +97,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <PrecompiledHeader>
       <Optimization>MinSpace</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <WholeProgramOptimization>false</WholeProgramOptimization>
-      <PreprocessorDefinitions>FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <PrecompiledHeader>
index b1f507a..4961ece 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -75,7 +75,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -97,7 +97,7 @@
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <PrecompiledHeader>
       <Optimization>MinSpace</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <WholeProgramOptimization>false</WholeProgramOptimization>
-      <PreprocessorDefinitions>FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <PrecompiledHeader>
index 60d468f..52dfda8 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
diff --git a/build/win32/vs10/generate_typelibs.vcxproj b/build/win32/vs10/generate_typelibs.vcxproj
deleted file mode 100644 (file)
index 8fe6789..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{BE771349-F11E-42AE-A23F-DA083FDC6FB8}</ProjectGuid>
-    <RootNamespace>generate_typelibs</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Utility</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Utility</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Utility</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Utility</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v100</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <PreBuildEvent>
-      <Command>$(GenerateGIR)</Command>
-    </PreBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <PreBuildEvent>
-      <Command>$(GenerateGIR)</Command>
-    </PreBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <PreBuildEvent>
-      <Command>$(GenerateGIR)</Command>
-    </PreBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <PreBuildEvent>
-      <Command>$(GenerateGIR)</Command>
-    </PreBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ProjectReference Include="g-ir-compiler.vcxproj">
-      <Project>{5dcb55ce-f32c-4c77-8bf4-b4dad3ec7774}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="_giscanner.vcxproj">
-      <Project>{8311394f-9114-4c97-80f2-51bcaba054c9}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
index 197e1c9..2e6973f 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -89,7 +89,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\tests\scanner\gettype.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/build/win32/vs10/gi-build-defines.props b/build/win32/vs10/gi-build-defines.props
new file mode 100644 (file)
index 0000000..160b17f
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets">
+    <Import Project="gi-version-paths.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros">
+    <FFIDefines>FFI_BUILDING</FFIDefines>
+    <GIRepositoryBuildDefines>G_IREPOSITORY_COMPILATION;$(FFIDefines);DLL_EXPORT</GIRepositoryBuildDefines>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>gibuilddefinesprops</_PropertySheetDisplayName>
+    <OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
+    <IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>gio-2.0.lib;gobject-2.0.lib;gmodule-2.0.lib;gthread-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <BuildMacro Include="FFIDefines">
+      <Value>$(FFIDefines)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GIRepositoryBuildDefines">
+      <Value>$(GIRepositoryBuildDefines)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs10/gi-extra-paths.props b/build/win32/vs10/gi-extra-paths.props
new file mode 100644 (file)
index 0000000..93b847d
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets">
+    <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 -->
+    <PythonDirX64>c:\\python27.x64</PythonDirX64>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>giextrapathsprops</_PropertySheetDisplayName>
+  </PropertyGroup>
+  <ItemGroup>
+    <BuildMacro Include="PythonDir">
+      <Value>$(PythonDir)</Value>
+    </BuildMacro>
+    <BuildMacro Include="PythonDirX64">
+      <Value>$(PythonDirX64)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs10/gi-gen-srcs.props b/build/win32/vs10/gi-gen-srcs.props
new file mode 100644 (file)
index 0000000..0cda3d5
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets">
+    <Import Project="gi-build-defines.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros">
+    <CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
+    <CopyGIRScanner>copy ..\..\..\tools\g-ir-scanner.in ..\..\..\tools\g-ir-scanner</CopyGIRScanner>
+    <CopyGIRDocTool>copy ..\..\..\tools\g-ir-doc-tool.in ..\..\..\tools\g-ir-doc-tool</CopyGIRDocTool>
+    <CopyGIRAnnotationTool>copy ..\..\..\tools\g-ir-annotation-tool.in ..\..\..\tools\g-ir-annotation-tool</CopyGIRAnnotationTool>
+    <GenerateGIRDef>
+echo EXPORTS &gt; $(DefDir)\girepository.def
+cl -EP ..\..\..\girepository\girepository.symbols &gt;&gt; $(DefDir)\girepository.def
+    </GenerateGIRDef>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>gigensrcsprops</_PropertySheetDisplayName>
+  </PropertyGroup>
+  <ItemGroup>
+    <BuildMacro Include="CopyConfigH">
+      <Value>$(CopyConfigH)</Value>
+    </BuildMacro>
+    <BuildMacro Include="CopyGIRScanner">
+      <Value>$(CopyGIRScanner)</Value>
+    </BuildMacro>
+    <BuildMacro Include="CopyGIRDocTool">
+      <Value>$(CopyGIRDocTool)</Value>
+    </BuildMacro>
+    <BuildMacro Include="CopyGIRAnnotationTool">
+      <Value>$(CopyGIRAnnotationTool)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GenerateGIRDef">
+      <Value>$(GenerateGIRDef)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
similarity index 55%
rename from build/win32/vs10/gir.props
rename to build/win32/vs10/gi-install.props
index 2e066e4..7ee51f1 100644 (file)
@@ -1,66 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets">
+    <Import Project="gi-build-defines.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros">
-    <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
-    <VSVER>10</VSVER>
-    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
-    <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
-    <GIApiVersion>1.0</GIApiVersion>
-    <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
-    <GenerateGIRDef>
-        echo EXPORTS &gt; $(DefDir)\girepository.def
-        cl -EP ..\..\..\girepository\girepository.symbols &gt;&gt; $(DefDir)\girepository.def
-    </GenerateGIRDef>
-    <GenEverythingH>
-if exist ..\..\..\tests\everything.h goto DONE_GEN_EVERYTHING_C
-cd ..\..\..\tests
-set PATH=$(GlibEtcInstallRoot)\bin;$(SolutionDir)$(Configuration)\$(PlatformName)\bin;%PYTHONDIR%;%PATH%
-set PYTHONPATH=$(SolutionDir)$(Configuration)\$(PlatformName)\bin;$(BASE_GI_DIR)
-set UNINSTALLED_INTROSPECTION_SRCDIR=$(BASE_GI_DIR)
-python ..\tools\g-ir-scanner --verbose -I. --add-include-path=..\ --add-include-path=..\gir --generate-typelib-tests=Everything,everything.h,everything.c
-cd $(SolutionDir)
-:DONE_GEN_EVERYTHING_C
- </GenEverythingH>
-    <GenerateGIR>
-@echo off
-set CC=cl
-if "$(MINGWDIR)" == "" goto ERR_NOGCC
-if "$(PYTHONDIR)" == "" goto ERR_NOPYPATH
-if "$(PKG_CONFIG_PATH)" == "" goto ERR_NOPKGCONFIG
-set PYTHONPATH=$(SolutionDir)$(Configuration)\$(PlatformName)\bin\;$(BASE_GI_DIR)
-set UNINSTALLED_INTROSPECTION_SRCDIR=$(BASE_GI_DIR)
-set PATH=$(GlibEtcInstallRoot)\bin;$(SolutionDir)$(Configuration)\$(PlatformName)\bin\;$(PATH);$(PYTHONDIR);$(MINGWDIR)\bin
-set LIB=$(GlibEtcInstallRoot)\lib;$(SolutionDir)$(Configuration)\$(PlatformName)\bin\;$(LIB);$(PYTHONDIR)\libs
-set INCLUDE=$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(INCLUDE);$(PYTHONDIR)\include
-set PLAT=$(Platform)
-set CONF=$(Configuration)
-set BASEDIR=$(GlibEtcInstallRoot)
-set VSVER=$(VSVER)
-cd ..
-call gengir.bat
-cd .\vs$(VSVER)
-goto DONE
-:ERR_NOGCC
-echo You need a Windows GCC installation to preprocess the headers to generate .gir files
-echo Please set MINGWDIR accordingly before launching the Project
-goto DONE
-:ERR_NOPYPATH
-echo You need a Python installation to build the Python module and run the Python scripts to generate .gir files
-echo The Python installation needs to correspond to the configuration of your build, i.e. Win32 or x64
-echo Please set PYTHONDIR accordingly before launching the Project
-goto DONE
-:ERR_NOPKGCONFIG
-echo You need pkg-config and need to set PKG_CONFIG_PATH to point to pkgconfig (.pc) files to generate .gir files
-echo Please set PKG_CONFIG_PATH accordingly before launching the Project
-goto DONE
-:DONE
-     </GenerateGIR>
-    <LibGILibtoolCompatibleDllPrefix>lib</LibGILibtoolCompatibleDllPrefix>
-    <LibGILibtoolCompatibleDllSuffix>-$(GIApiVersion)-0</LibGILibtoolCompatibleDllSuffix>
-    <LibGISeparateVS10DllPrefix />
-    <LibGISeparateVS10DllSuffix>-1-vs10</LibGISeparateVS10DllSuffix>
-    <LibGIDllPrefix>$(LibGISeparateVS10DllPrefix)</LibGIDllPrefix>
-    <LibGIDllSuffix>$(LibGISeparateVS10DllSuffix)</LibGIDllSuffix>
     <GIDoInstall>
 mkdir $(CopyDir)
 mkdir $(CopyDir)\bin
@@ -70,27 +13,27 @@ copy $(SolutionDir)$(Configuration)\$(Platform)\bin\g-ir-generate.exe $(CopyDir)
 copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin
 copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin
-mkdir $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\giarginfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gibaseinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gicallableinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\giconstantinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gienuminfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gifieldinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gifunctioninfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\giinterfaceinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\giobjectinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gipropertyinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\giregisteredtypeinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\girepository.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\girffi.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gisignalinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gistructinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gitypeinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gitypelib.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\gitypes.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\giunioninfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
-copy ..\..\..\girepository\givfuncinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository
+mkdir $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\giarginfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gibaseinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gicallableinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\giconstantinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gienuminfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gifieldinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gifunctioninfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\giinterfaceinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\giobjectinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gipropertyinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\giregisteredtypeinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\girepository.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\girffi.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gisignalinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gistructinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gitypeinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gitypelib.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\gitypes.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\giunioninfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
+copy ..\..\..\girepository\givfuncinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository
 mkdir $(CopyDir)\lib\gobject-introspection\giscanner\collections
 mkdir $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates
 mkdir $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates\C
@@ -160,85 +103,20 @@ copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-intr
 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
 copy $(SolutionDir)$(Configuration)\$(Platform)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
-mkdir $(CopyDir)\share\gir-$(GIApiVersion)
-copy $(SolutionDir)$(Configuration)\$(Platform)\share\gir-$(GIApiVersion)\*.gir $(CopyDir)\share\gir-$(GIApiVersion)
-mkdir $(CopyDir)\share\gobject-introspection-$(GIApiVersion)
-copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(GIApiVersion)
-mkdir $(CopyDir)\lib\girepository-$(GIApiVersion)
-copy $(SolutionDir)$(Configuration)\$(Platform)\bin\girepository-$(GIApiVersion).lib $(CopyDir)\lib
-copy $(SolutionDir)$(Configuration)\$(Platform)\lib\girepository-$(GIApiVersion)\*.typelib $(CopyDir)\lib\girepository-$(GIApiVersion)
+mkdir $(CopyDir)\share\gir-$(ApiVersion)
+mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+mkdir $(CopyDir)\lib\girepository-$(ApiVersion)
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\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
 </GIDoInstall>
   </PropertyGroup>
   <PropertyGroup>
-    <_PropertySheetDisplayName>giprops</_PropertySheetDisplayName>
-    <OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
-    <IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
+    <_PropertySheetDisplayName>giinstallprops</_PropertySheetDisplayName>
   </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
-    </ClCompile>
-    <Link>
-      <AdditionalDependencies>gio-2.0.lib;gobject-2.0.lib;gmodule-2.0.lib;gthread-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-    </Link>
-    <PreBuildEvent>
-      <Command>
-if not exist ..\..\..\config.h copy ..\..\..\config.h.win32 ..\..\..\config.h
-if not exist ..\..\..\tools\g-ir-scanner copy ..\..\..\tools\g-ir-scanner.in ..\..\..\tools\g-ir-scanner
-if not exist ..\..\..\tools\g-ir-doc-tool copy ..\..\..\tools\g-ir-doc-tool.in ..\..\..\tools\g-ir-doc-tool
-if not exist ..\..\..\tools\g-ir-annotation-tool copy ..\..\..\tools\g-ir-annotation-tool.in ..\..\..\tools\g-ir-annotation-tool
-</Command>
-    </PreBuildEvent>
-  </ItemDefinitionGroup>
   <ItemGroup>
-    <BuildMacro Include="GlibEtcInstallRoot">
-      <Value>$(GlibEtcInstallRoot)</Value>
-    </BuildMacro>
-    <BuildMacro Include="VSVER">
-      <Value>$(VSVER)</Value>
-    </BuildMacro>
-    <BuildMacro Include="BASE_GI_DIR">
-      <Value>$(BASE_GI_DIR)</Value>
-    </BuildMacro>
-    <BuildMacro Include="CopyDir">
-      <Value>$(CopyDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GIApiVersion">
-      <Value>$(GIApiVersion)</Value>
-    </BuildMacro>
-    <BuildMacro Include="DefDir">
-      <Value>$(DefDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GenerateGIRDef">
-      <Value>$(GenerateGIRDef)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GenEverythingH">
-      <Value>$(GenEverythingH)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GenerateGIR">
-      <Value>$(GenerateGIR)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGILibtoolCompatibleDllPrefix">
-      <Value>$(LibGILibtoolCompatibleDllPrefix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGILibtoolCompatibleDllSuffix">
-      <Value>$(LibGILibtoolCompatibleDllSuffix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGISeparateVS10DllPrefix">
-      <Value>$(LibGISeparateVS10DllPrefix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGISeparateVS10DllSuffix">
-      <Value>$(LibGISeparateVS10DllSuffix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGIDllPrefix">
-      <Value>$(LibGIDllPrefix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGIDllSuffix">
-      <Value>$(LibGIDllSuffix)</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
new file mode 100644 (file)
index 0000000..b576c3b
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets">
+    <Import Project="gi-build-defines.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros">
+    <GIDoInstall>
+mkdir $(CopyDir)
+mkdir $(CopyDir)\bin
+
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\g-ir-compiler.exe $(CopyDir)\bin
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\g-ir-generate.exe $(CopyDir)\bin
+copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin
+copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin
+copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin
+
+#include "gir.vs10.install"
+
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
+
+mkdir $(CopyDir)\share\gir-$(ApiVersion)
+mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)
+
+mkdir $(CopyDir)\lib\girepository-$(ApiVersion)
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\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
+</GIDoInstall>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>giinstallprops</_PropertySheetDisplayName>
+  </PropertyGroup>
+  <ItemGroup>
+    <BuildMacro Include="GIDoInstall">
+      <Value>$(GIDoInstall)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs10/gi-prebuild.vcxproj b/build/win32/vs10/gi-prebuild.vcxproj
new file mode 100644 (file)
index 0000000..feab029
--- /dev/null
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2093D218-190E-4194-9421-3BA7CBF33B11}</ProjectGuid>
+    <RootNamespace>giprebuild</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v100</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v100</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v100</PlatformToolset>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v100</PlatformToolset>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gi-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gi-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gi-gen-srcs.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="gi-gen-srcs.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\..\..\config.h.win32">
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying config.h from config.h.win32...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(CopyConfigH)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\config.h;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying config.h from config.h.win32...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(CopyConfigH)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\config.h;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying config.h from config.h.win32...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(CopyConfigH)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\config.h;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying config.h from config.h.win32...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(CopyConfigH)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\config.h;%(Outputs)</Outputs>
+    </CustomBuild>
+    <CustomBuild Include="..\..\..\tools\g-ir-scanner.in">
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying g-ir-scanner from g-ir-scanner.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(CopyGIRScanner)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\tools\g-ir-scanner;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying g-ir-scanner from g-ir-scanner.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(CopyGIRScanner)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\tools\g-ir-scanner;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying g-ir-scanner from g-ir-scanner.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(CopyGIRScanner)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\tools\g-ir-scanner;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying g-ir-scanner from g-ir-scanner.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(CopyGIRScanner)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\tools\g-ir-scanner;%(Outputs)</Outputs>
+    </CustomBuild>
+    <CustomBuild Include="..\..\..\tools\g-ir-doc-tool.in">
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying g-ir-doc-tool from g-ir-doc-tool.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(CopyGIRDocTool)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\tools\g-ir-doc-tool;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying g-ir-doc-tool from g-ir-doc-tool.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(CopyGIRDocTool)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\tools\g-ir-doc-tool;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying g-ir-doc-tool from g-ir-doc-tool.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(CopyGIRDocTool)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\tools\g-ir-doc-tool;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying g-ir-doc-tool from g-ir-doc-tool.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(CopyGIRDocTool)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\tools\g-ir-doc-tool;%(Outputs)</Outputs>
+    </CustomBuild>
+    <CustomBuild Include="..\..\..\tools\g-ir-annotation-tool.in">
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying g-ir-annotation-tool from g-ir-annotation-tool.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(CopyGIRAnnotationTool)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying g-ir-annotation-tool from g-ir-annotation-tool.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(CopyGIRAnnotationTool)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying g-ir-annotation-tool from g-ir-annotation-tool.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(CopyGIRAnnotationTool)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying g-ir-annotation-tool from g-ir-annotation-tool.in...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(CopyGIRAnnotationTool)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\tools\g-ir-annotation-tool;%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/gi-version-paths.props b/build/win32/vs10/gi-version-paths.props
new file mode 100644 (file)
index 0000000..88e4348
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Label="UserMacros">
+    <VSVER>10</VSVER>
+    <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVER)\$(Platform)</GlibEtcInstallRoot>
+    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
+    <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
+    <ApiVersion>1.0</ApiVersion>
+    <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
+    <LibGILibtoolCompatibleDllPrefix>lib</LibGILibtoolCompatibleDllPrefix>
+    <LibGILibtoolCompatibleDllSuffix>-$(ApiVersion)-0</LibGILibtoolCompatibleDllSuffix>
+    <LibGISeparateVSDllPrefix />
+    <LibGISeparateVSDllSuffix>-1-vs$(VSVER)</LibGISeparateVSDllSuffix>
+    <LibGIDllPrefix>$(LibGISeparateVSDllPrefix)</LibGIDllPrefix>
+    <LibGIDllSuffix>$(LibGISeparateVSDllSuffix)</LibGIDllSuffix>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>giversionpathsprops</_PropertySheetDisplayName>
+  </PropertyGroup>
+  <ItemGroup>
+    <BuildMacro Include="VSVER">
+      <Value>$(VSVER)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GlibEtcInstallRoot">
+      <Value>$(GlibEtcInstallRoot)</Value>
+    </BuildMacro>
+    <BuildMacro Include="BASE_GI_DIR">
+      <Value>$(BASE_GI_DIR)</Value>
+    </BuildMacro>
+    <BuildMacro Include="CopyDir">
+      <Value>$(CopyDir)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ApiVersion">
+      <Value>$(ApiVersion)</Value>
+    </BuildMacro>
+    <BuildMacro Include="DefDir">
+      <Value>$(DefDir)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibGILibtoolCompatibleDllPrefix">
+      <Value>$(LibGILibtoolCompatibleDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibGILibtoolCompatibleDllSuffix">
+      <Value>$(LibGILibtoolCompatibleDllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibGISeparateVSDllPrefix">
+      <Value>$(LibGISeparateVSDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibGISeparateVSDllSuffix">
+      <Value>$(LibGISeparateVSDllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibGIDllPrefix">
+      <Value>$(LibGIDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibGIDllSuffix">
+      <Value>$(LibGIDllSuffix)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
index d87fa7c..fbbb162 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -89,7 +89,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\tests\gimarshallingtests.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/build/win32/vs10/gir.propsin b/build/win32/vs10/gir.propsin
deleted file mode 100644 (file)
index 47c855c..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup Label="UserMacros">
-    <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
-    <VSVER>10</VSVER>
-    <BASE_GI_DIR>$(SolutionDir)\..\..\..</BASE_GI_DIR>
-    <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
-    <GIApiVersion>1.0</GIApiVersion>
-    <DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
-    <GenerateGIRDef>
-        echo EXPORTS &gt; $(DefDir)\girepository.def
-
-        cl -EP ..\..\..\girepository\girepository.symbols &gt;&gt; $(DefDir)\girepository.def
-    </GenerateGIRDef>
-    <GenEverythingH>
-if exist ..\..\..\tests\everything.h goto DONE_GEN_EVERYTHING_C
-
-cd ..\..\..\tests
-
-set PATH=$(GlibEtcInstallRoot)\bin;$(SolutionDir)$(Configuration)\$(PlatformName)\bin;%PYTHONDIR%;%PATH%
-
-set PYTHONPATH=$(SolutionDir)$(Configuration)\$(PlatformName)\bin;$(BASE_GI_DIR)
-
-set UNINSTALLED_INTROSPECTION_SRCDIR=$(BASE_GI_DIR)
-
-python ..\tools\g-ir-scanner --verbose -I. --add-include-path=..\ --add-include-path=..\gir --generate-typelib-tests=Everything,everything.h,everything.c
-
-cd $(SolutionDir)
-
-:DONE_GEN_EVERYTHING_C
-       </GenEverythingH>
-    <GenerateGIR>
-@echo off
-
-set CC=cl
-
-if "$(MINGWDIR)" == "" goto ERR_NOGCC
-
-if "$(PYTHONDIR)" == "" goto ERR_NOPYPATH
-
-if "$(PKG_CONFIG_PATH)" == "" goto ERR_NOPKGCONFIG
-
-
-set PYTHONPATH=$(SolutionDir)$(Configuration)\$(PlatformName)\bin\;$(BASE_GI_DIR)
-
-set UNINSTALLED_INTROSPECTION_SRCDIR=$(BASE_GI_DIR)
-
-set PATH=$(GlibEtcInstallRoot)\bin;$(SolutionDir)$(Configuration)\$(PlatformName)\bin\;$(PATH);$(PYTHONDIR);$(MINGWDIR)\bin
-
-set LIB=$(GlibEtcInstallRoot)\lib;$(SolutionDir)$(Configuration)\$(PlatformName)\bin\;$(LIB);$(PYTHONDIR)\libs
-
-set INCLUDE=$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(INCLUDE);$(PYTHONDIR)\include
-
-
-set PLAT=$(Platform)
-
-set CONF=$(Configuration)
-
-set BASEDIR=$(GlibEtcInstallRoot)
-
-set VSVER=$(VSVER)
-
-
-cd ..
-
-call gengir.bat
-
-cd .\vs$(VSVER)
-
-goto DONE
-
-
-:ERR_NOGCC
-
-echo You need a Windows GCC installation to preprocess the headers to generate .gir files
-
-echo Please set MINGWDIR accordingly before launching the Project
-
-goto DONE
-
-
-:ERR_NOPYPATH
-
-echo You need a Python installation to build the Python module and run the Python scripts to generate .gir files
-
-echo The Python installation needs to correspond to the configuration of your build, i.e. Win32 or x64
-
-echo Please set PYTHONDIR accordingly before launching the Project
-
-goto DONE
-
-
-:ERR_NOPKGCONFIG
-
-echo You need pkg-config and need to set PKG_CONFIG_PATH to point to pkgconfig (.pc) files to generate .gir files
-
-echo Please set PKG_CONFIG_PATH accordingly before launching the Project
-
-goto DONE
-
-
-:DONE
-
-     </GenerateGIR>
-    <LibGILibtoolCompatibleDllPrefix>lib</LibGILibtoolCompatibleDllPrefix>
-    <LibGILibtoolCompatibleDllSuffix>-$(GIApiVersion)-0</LibGILibtoolCompatibleDllSuffix>
-    <LibGISeparateVS10DllPrefix />
-    <LibGISeparateVS10DllSuffix>-1-vs10</LibGISeparateVS10DllSuffix>
-    <LibGIDllPrefix>$(LibGISeparateVS10DllPrefix)</LibGIDllPrefix>
-    <LibGIDllSuffix>$(LibGISeparateVS10DllSuffix)</LibGIDllSuffix>
-    <GIDoInstall>
-mkdir $(CopyDir)
-
-mkdir $(CopyDir)\bin
-
-copy $(SolutionDir)$(Configuration)\$(Platform)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin
-
-copy $(SolutionDir)$(Configuration)\$(Platform)\bin\g-ir-compiler.exe $(CopyDir)\bin
-
-copy $(SolutionDir)$(Configuration)\$(Platform)\bin\g-ir-generate.exe $(CopyDir)\bin
-
-copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin
-
-copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin
-
-copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin
-
-
-#include "gir.vs10.install"
-
-copy $(SolutionDir)$(Configuration)\$(Platform)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner
-
-
-mkdir $(CopyDir)\share\gir-$(GIApiVersion)
-
-copy $(SolutionDir)$(Configuration)\$(Platform)\share\gir-$(GIApiVersion)\*.gir $(CopyDir)\share\gir-$(GIApiVersion)
-
-mkdir $(CopyDir)\share\gobject-introspection-$(GIApiVersion)
-
-copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(GIApiVersion)
-
-
-mkdir $(CopyDir)\lib\girepository-$(GIApiVersion)
-
-copy $(SolutionDir)$(Configuration)\$(Platform)\bin\girepository-$(GIApiVersion).lib $(CopyDir)\lib
-
-copy $(SolutionDir)$(Configuration)\$(Platform)\lib\girepository-$(GIApiVersion)\*.typelib $(CopyDir)\lib\girepository-$(GIApiVersion)
-
-</GIDoInstall>
-  </PropertyGroup>
-  <PropertyGroup>
-    <_PropertySheetDisplayName>giprops</_PropertySheetDisplayName>
-    <OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
-    <IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <AdditionalIncludeDirectories>..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>HAVE_CONFIG_H;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
-    </ClCompile>
-    <Link>
-      <AdditionalDependencies>gio-2.0.lib;gobject-2.0.lib;gmodule-2.0.lib;gthread-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-    </Link>
-    <PreBuildEvent>
-      <Command>
-if not exist ..\..\..\config.h copy ..\..\..\config.h.win32 ..\..\..\config.h
-
-if not exist ..\..\..\tools\g-ir-scanner copy ..\..\..\tools\g-ir-scanner.in ..\..\..\tools\g-ir-scanner
-
-if not exist ..\..\..\tools\g-ir-doc-tool copy ..\..\..\tools\g-ir-doc-tool.in ..\..\..\tools\g-ir-doc-tool
-
-if not exist ..\..\..\tools\g-ir-annotation-tool copy ..\..\..\tools\g-ir-annotation-tool.in ..\..\..\tools\g-ir-annotation-tool
-</Command>
-    </PreBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <BuildMacro Include="GlibEtcInstallRoot">
-      <Value>$(GlibEtcInstallRoot)</Value>
-    </BuildMacro>
-    <BuildMacro Include="VSVER">
-      <Value>$(VSVER)</Value>
-    </BuildMacro>
-    <BuildMacro Include="BASE_GI_DIR">
-      <Value>$(BASE_GI_DIR)</Value>
-    </BuildMacro>
-    <BuildMacro Include="CopyDir">
-      <Value>$(CopyDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GIApiVersion">
-      <Value>$(GIApiVersion)</Value>
-    </BuildMacro>
-    <BuildMacro Include="DefDir">
-      <Value>$(DefDir)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GenerateGIRDef">
-      <Value>$(GenerateGIRDef)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GenEverythingH">
-      <Value>$(GenEverythingH)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GenerateGIR">
-      <Value>$(GenerateGIR)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGILibtoolCompatibleDllPrefix">
-      <Value>$(LibGILibtoolCompatibleDllPrefix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGILibtoolCompatibleDllSuffix">
-      <Value>$(LibGILibtoolCompatibleDllSuffix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGISeparateVS10DllPrefix">
-      <Value>$(LibGISeparateVS10DllPrefix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGISeparateVS10DllSuffix">
-      <Value>$(LibGISeparateVS10DllSuffix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGIDllPrefix">
-      <Value>$(LibGIDllPrefix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="LibGIDllSuffix">
-      <Value>$(LibGIDllSuffix)</Value>
-    </BuildMacro>
-    <BuildMacro Include="GIDoInstall">
-      <Value>$(GIDoInstall)</Value>
-    </BuildMacro>
-  </ItemGroup>
-</Project>
index 72f6c14..6d5ef27 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-gen-srcs.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -76,7 +76,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_DEBUG;G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -94,7 +94,7 @@
       <ModuleDefinitionFile>$(IntDir)girepository.def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>..\..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <PrecompiledHeader>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_DEBUG;G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <ModuleDefinitionFile>$(IntDir)girepository.def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>..\..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <PrecompiledHeader>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
     <ClCompile Include="..\..\..\girepository\gthash.c" />
   </ItemGroup>
   <ItemGroup>
+    <CustomBuild Include="..\..\..\girepository\girepository.symbols">
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating $(DefDir)\girepository.def...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenerateGIRDef)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(DefDir)\girepository.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating $(DefDir)\girepository.def...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenerateGIRDef)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(DefDir)\girepository.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating $(DefDir)\girepository.def...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenerateGIRDef)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(DefDir)\girepository.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating $(DefDir)\girepository.def...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateGIRDef)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(DefDir)\girepository.def;%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
     <ProjectReference Include="cmph.vcxproj">
       <Project>{442c007e-d901-41da-9706-5db4afb4c06b}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 71d1877..e8564db 100644 (file)
@@ -38,4 +38,7 @@
     <ClCompile Include="..\..\..\girepository\givfuncinfo.c"><Filter>Sources</Filter></ClCompile>
     <ClCompile Include="..\..\..\girepository\gthash.c"><Filter>Sources</Filter></ClCompile>
   </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\..\..\girepository\girepository.symbols"><Filter>Resource Files</Filter></CustomBuild>
+  </ItemGroup>
 </Project>
index ccc6895..c0245dc 100644 (file)
@@ -17,4 +17,7 @@
   <ItemGroup>
 #include "girepository.vs10.sourcefiles.filters"
   </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\..\..\girepository\girepository.symbols"><Filter>Resource Files</Filter></CustomBuild>
+  </ItemGroup>
 </Project>
\ No newline at end of file
index ef8b96f..76702e9 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-gen-srcs.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -76,7 +76,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_DEBUG;G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -94,7 +94,7 @@
       <ModuleDefinitionFile>$(IntDir)girepository.def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>..\..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <PrecompiledHeader>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_DEBUG;G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>_DEBUG;$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <ModuleDefinitionFile>$(IntDir)girepository.def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>..\..\..\girepository;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>$(GIRepositoryBuildDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <PrecompiledHeader>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
 #include "girepository.vs10.sourcefiles"
   </ItemGroup>
   <ItemGroup>
+    <CustomBuild Include="..\..\..\girepository\girepository.symbols">
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating $(DefDir)\girepository.def...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenerateGIRDef)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(DefDir)\girepository.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating $(DefDir)\girepository.def...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenerateGIRDef)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(DefDir)\girepository.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating $(DefDir)\girepository.def...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenerateGIRDef)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(DefDir)\girepository.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating $(DefDir)\girepository.def...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateGIRDef)</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(DefDir)\girepository.def;%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
     <ProjectReference Include="cmph.vcxproj">
       <Project>{442c007e-d901-41da-9706-5db4afb4c06b}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index 57dc430..179d607 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
index 916cbb8..0794f3c 100644 (file)
@@ -1,6 +1,8 @@
 ï»¿\r
 Microsoft Visual Studio Solution File, Format Version 11.00\r
 # Visual Studio 2010\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-prebuild", "gi-prebuild.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B11}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmph", "cmph.vcxproj", "{442C007E-D901-41DA-9706-5DB4AFB4C06B}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmph-bdz-test", "cmph-bdz-test.vcxproj", "{E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}"\r
@@ -33,10 +35,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtkfrob", "gtkfrob.vcxproj"
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sletter", "sletter.vcxproj", "{86A35E44-E4C8-4628-87E9-942D136D72BC}"\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "everything", "everything.vcxproj", "{2986281A-BD41-4BD1-8B43-25B7D7E7F234}"\r
-EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_typelibs", "generate_typelibs.vcxproj", "{BE771349-F11E-42AE-A23F-DA083FDC6FB8}"\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
 EndProject\r
 Global\r
@@ -47,6 +45,14 @@ Global
                Release|x64 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|x64.Build.0 = Release|x64\r
                {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|Win32.Build.0 = Debug|Win32\r
                {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|x64.ActiveCfg = Debug|x64\r
@@ -175,22 +181,6 @@ Global
                {86A35E44-E4C8-4628-87E9-942D136D72BC}.Release|Win32.Build.0 = Release|Win32\r
                {86A35E44-E4C8-4628-87E9-942D136D72BC}.Release|x64.ActiveCfg = Release|x64\r
                {86A35E44-E4C8-4628-87E9-942D136D72BC}.Release|x64.Build.0 = Release|x64\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Debug|Win32.Build.0 = Debug|Win32\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Debug|x64.ActiveCfg = Debug|x64\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Debug|x64.Build.0 = Debug|x64\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Release|Win32.ActiveCfg = Release|Win32\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Release|Win32.Build.0 = Release|Win32\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Release|x64.ActiveCfg = Release|x64\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Release|x64.Build.0 = Release|x64\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Debug|Win32.Build.0 = Debug|Win32\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Debug|x64.ActiveCfg = Debug|x64\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Debug|x64.Build.0 = Debug|x64\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Release|Win32.ActiveCfg = Release|Win32\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Release|Win32.Build.0 = Release|Win32\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Release|x64.ActiveCfg = Release|x64\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Release|x64.Build.0 = Release|x64\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
index efbbb63..f3f55ce 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -89,7 +89,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\tests\scanner\gtkfrob.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index 976590e..73e34f2 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-install.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-install.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-install.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-install.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
       <Project>{f4e6621f-a7dd-4863-8ccf-ba04dfc601e3}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="generate_typelibs.vcxproj">
-      <Project>{be771349-f11e-42ae-a23f-da083fdc6fb8}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
     <ProjectReference Include="girepository.vcxproj">
       <Project>{23e28245-8fc7-4b41-b1c5-8785bd4366a7}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index f4b7e28..a3b4b48 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -90,7 +90,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\tests\scanner\regress.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index bfaea78..7f6d62a 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -89,7 +89,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\tests\scanner\sletter.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index 65c914b..1464d7b 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -89,7 +89,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\tests\scanner\drawable.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index 8ef0fe8..21beb6f 100644 (file)
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="gir.props" />
+    <Import Project="gi-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -89,7 +89,7 @@
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <ModuleDefinitionFile>..\$(ProjectName).def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(GIApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\tests\scanner\utility.c" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="gi-prebuild.vcxproj">
+      <Project>{2093d218-190e-4194-9421-3ba7cbf33b11}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index ed82cbc..7662681 100644 (file)
@@ -1,16 +1,19 @@
 EXTRA_DIST = \
        gobject-introspection.sln       \
+       gi-build-defines.vsprops        \
+       gi-extra-paths.vsprops  \
+       gi-gen-srcs.vsprops     \
+       gi-install.vspropsin    \
+       gi-install.vsprops      \
+       gi-version-paths.vsprops        \
+       gi-prebuild.vcproj      \
        girepository.vcprojin   \
-       gir.vspropsin   \
-       gir.vsprops     \
        annotation.vcproj       \
        cmph-bdz-test.vcproj    \
        cmph.vcprojin   \
-       everything.vcproj       \
        foo.vcproj      \
        g-ir-compiler.vcprojin  \
        g-ir-generate.vcproj    \
-       generate_typelibs.vcproj        \
        gettype.vcproj  \
        gimarshallingtests.vcproj       \
        glib-print.vcproj       \
@@ -23,8 +26,8 @@ EXTRA_DIST = \
        _giscanner.vcproj       \
        README.txt
 
-gir.vsprops: $(top_srcdir)/build/win32/vs9/gir.vspropsin gir.vs9.install
-       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gir.vspropsin >$@
+gi-install.vsprops: $(top_srcdir)/build/win32/vs9/gi-install.vspropsin gir.vs9.install
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gi-install.vspropsin >$@
        rm gir.vs9.install
 
-CLEANFILES = gir.vsprops
+CLEANFILES = gi-install.vsprops
index 3825e63..7c9d51f 100644 (file)
@@ -290,17 +290,20 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 EXTRA_DIST = \
        gobject-introspection.sln       \
+       gi-build-defines.vsprops        \
+       gi-extra-paths.vsprops  \
+       gi-gen-srcs.vsprops     \
+       gi-install.vspropsin    \
+       gi-install.vsprops      \
+       gi-version-paths.vsprops        \
+       gi-prebuild.vcproj      \
        girepository.vcprojin   \
-       gir.vspropsin   \
-       gir.vsprops     \
        annotation.vcproj       \
        cmph-bdz-test.vcproj    \
        cmph.vcprojin   \
-       everything.vcproj       \
        foo.vcproj      \
        g-ir-compiler.vcprojin  \
        g-ir-generate.vcproj    \
-       generate_typelibs.vcproj        \
        gettype.vcproj  \
        gimarshallingtests.vcproj       \
        glib-print.vcproj       \
@@ -313,7 +316,7 @@ EXTRA_DIST = \
        _giscanner.vcproj       \
        README.txt
 
-CLEANFILES = gir.vsprops
+CLEANFILES = gi-install.vsprops
 all: all-am
 
 .SUFFIXES:
@@ -506,8 +509,8 @@ uninstall-am:
        tags-am uninstall uninstall-am
 
 
-gir.vsprops: $(top_srcdir)/build/win32/vs9/gir.vspropsin gir.vs9.install
-       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gir.vspropsin >$@
+gi-install.vsprops: $(top_srcdir)/build/win32/vs9/gi-install.vspropsin gir.vs9.install
+       $(CPP) -P - <$(top_srcdir)/build/win32/vs9/gi-install.vspropsin >$@
        rm gir.vs9.install
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 579e5ec..c7de4ee 100644 (file)
@@ -59,16 +59,38 @@ http://www.gtk.org/download/win32.php [32-bit]
 http://www.gtk.org/download/win64.php [64-bit]\r
 \r
 *** Note! ***\r
-Please note that due to numerous possible configurations on Python, some environmental\r
-variables need to be set before launching the gobject-introsection.sln solution file.\r
-\r
-These variables are namely:\r
-PYTHONDIR: Root installation folder of your Python interpretor, where python.exe is\r
-           located.  Currently only Python 2.6.x and 2.7.x is supported.\r
-           It must match your build configuration (Win32 or x64/amd64)\r
+Please note that due to numerous possible configurations on Python, PKG_CONFIG_PATH and\r
+MinGW, the build of G-I is now a 2-step process: one with the Visual Studio Projects that\r
+will build the libraries, tools, Python Module and test DLLs (except for the everything\r
+test), and the other one with NMake Makefiles for building the introspection files.\r
+Please note that if one needs to change the installation location\r
+of Python, one needs to change the values of PythonDir (for x86/Win32 builds) and/or\r
+PythonDirX64 (for x64 builds) in gi-extra-paths.vsprops\r
+\r
+The use of Visual Studio Projects will no longer require the setting of environmental\r
+variables, but the following environmental variables are needed (either by using "set xxx=yyy"\r
+or by nmake -f gi-introspection-msvc.mak xxx=yyy) for building the introspection files (which\r
+should be done after successfully building the Project Files):\r
+\r
+PYTHON2: Full path to your Python 2.6.x/2.7.x interpretor (python.exe) if it is\r
+         not in your PATH.  Please note that only 2.6.x and 2.7.x works at this time.\r
+         You need to use an x64/amd64 version of Python for x64 builds, and a Win32/x86\r
+         version of Python for Win32/x86 builds\r
 PKG_CONFIG_PATH: Location of the .pc (pkg-config) files, especially for the GLib .pc files.\r
 MINGWDIR: Root installation folder for your Windows GCC (such as MinGW).  For example,\r
           if your gcc executable (gcc.exe) is in c:\mingw\bin, use "set MINGWDIR=c:\mingw"\r
+          You need to use an x64/amd64 version of gcc for x64 builds, and a Win32/x86\r
+          version of gcc for Win32/x86 builds\r
+\r
+GCC is currently needed to as the GCC preprocessor is used to create the introspection dump source\r
+file, which is then compiled with the Visual C++ compiler to produce the .gir files.\r
+\r
+Please see $(srcroot)\build\gi-introspection-msvc.mak for more details.  Doing\r
+"nmake -f gi-introspection-msvc.mak (options omitted)" will build the various introspection files,\r
+and "nmake -f gi-introspection-msvc.mak (options omitted) install-introspection" will copy the introspection\r
+files to <root>\vs9\<PlatformName>\share\gir-1.0 (.gir files) and <root>\vs9\<PlatformName>\lib\girepository-1.0\r
+(.typelib files)\r
+\r
 *** End of Note! ***\r
 \r
 The "install" project will copy build results and headers into their\r
@@ -77,9 +99,6 @@ built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
 <root>\vs9\<PlatformName>\lib and gobject-introspection headers into\r
 <root>\vs9\<PlatformName>\include\gobject-introsection-1.0.\r
 \r
-The generated .gir files will end up in <root>\vs9\<PlatformName>\share\gir-1.0\r
-and .typelib files will end up in <root>\vs9\<PlatformName>\lib\girepository-1.0\r
-\r
 This is then from where\r
 project files higher in the stack are supposed to look for them, not\r
 from a specific gobject-introspection source tree.\r
index 3619a2f..8f1e2a6 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-extra-paths.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               AdditionalIncludeDirectories="..\..\..\giscanner;;$(PYTHONDIR)\include;$(PYTHONDIR)\PC"
+                               AdditionalIncludeDirectories="..\..\..\giscanner;;$(PythonDir)\include;$(PythonDir)\PC"
                                ForcedIncludeFiles="msvc_recommended_pragmas.h;io.h"
                                PreprocessorDefinitions="_DEBUG;YY_NO_UNISTD_H"
                                MinimalRebuild="true"
@@ -45,7 +42,7 @@
                                Name="VCLinkerTool"
                                OutputFile="$(OutDir)\$(ProjectName).pyd"
                                LinkIncremental="2"
-                               AdditionalLibraryDirectories="$(PYTHONDIR)\libs"
+                               AdditionalLibraryDirectories="$(PythonDir)\libs"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                TargetMachine="1"
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-extra-paths.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
-                               AdditionalIncludeDirectories="..\..\..\giscanner;;$(PYTHONDIR)\include;$(PYTHONDIR)\PC"
+                               AdditionalIncludeDirectories="..\..\..\giscanner;;$(PythonDir)\include;$(PythonDir)\PC"
                                ForcedIncludeFiles="msvc_recommended_pragmas.h;io.h"
                                PreprocessorDefinitions="YY_NO_UNISTD_H"
                                RuntimeLibrary="2"
@@ -78,7 +72,7 @@
                                Name="VCLinkerTool"
                                OutputFile="$(OutDir)\$(ProjectName).pyd"
                                LinkIncremental="1"
-                               AdditionalLibraryDirectories="$(PYTHONDIR)\libs"
+                               AdditionalLibraryDirectories="$(PythonDir)\libs"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-extra-paths.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               AdditionalIncludeDirectories="..\..\..\giscanner;;$(PYTHONDIR)\include;$(PYTHONDIR)\PC"
+                               AdditionalIncludeDirectories="..\..\..\giscanner;;$(PythonDirX64)\include;$(PythonDirX64)\PC"
                                ForcedIncludeFiles="msvc_recommended_pragmas.h;io.h"
                                PreprocessorDefinitions="_DEBUG;YY_NO_UNISTD_H"
                                MinimalRebuild="true"
                                Name="VCLinkerTool"
                                OutputFile="$(OutDir)\$(ProjectName).pyd"
                                LinkIncremental="2"
-                               AdditionalLibraryDirectories="$(PYTHONDIR)\libs"
+                               AdditionalLibraryDirectories="$(PythonDirX64)\libs"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                TargetMachine="17"
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-extra-paths.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
-                               AdditionalIncludeDirectories="..\..\..\giscanner;;$(PYTHONDIR)\include;$(PYTHONDIR)\PC"
+                               AdditionalIncludeDirectories="..\..\..\giscanner;;$(PythonDirX64)\include;$(PythonDirX64)\PC"
                                ForcedIncludeFiles="msvc_recommended_pragmas.h;io.h"
                                PreprocessorDefinitions="YY_NO_UNISTD_H"
                                RuntimeLibrary="2"
                                Name="VCLinkerTool"
                                OutputFile="$(OutDir)\$(ProjectName).pyd"
                                LinkIncremental="1"
-                               AdditionalLibraryDirectories="$(PYTHONDIR)\libs"
+                               AdditionalLibraryDirectories="$(PythonDirX64)\libs"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                OptimizeReferences="2"
index 8104594..b40a5be 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
index 0bd8106..d83bcdb 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                AdditionalIncludeDirectories="..\..\..\girepository\cmph"
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
index d690f96..930afd5 100644 (file)
   <Configuration
    Name="Debug|Win32"
    ConfigurationType="4"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-build-defines.vsprops"
    CharacterSet="2"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCCLCompilerTool"
     Optimization="0"
     PreprocessorDefinitions="_DEBUG"
   <Configuration
    Name="Release|Win32"
    ConfigurationType="4"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-build-defines.vsprops"
    CharacterSet="2"
    WholeProgramOptimization="1"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCCLCompilerTool"
     Optimization="2"
     EnableIntrinsicFunctions="true"
   <Configuration
    Name="Debug|x64"
    ConfigurationType="4"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-build-defines.vsprops"
    CharacterSet="2"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCMIDLTool"
     TargetEnvironment="3"
    />
   <Configuration
    Name="Release|x64"
    ConfigurationType="4"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-build-defines.vsprops"
    CharacterSet="2"
    WholeProgramOptimization="1"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCMIDLTool"
     TargetEnvironment="3"
    />
index ff56d37..5801d73 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="4"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="4"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="4"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="4"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
diff --git a/build/win32/vs9/everything.vcproj b/build/win32/vs9/everything.vcproj
deleted file mode 100644 (file)
index c8f1eac..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="big5"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="9.00"
-       Name="everything"
-       ProjectGUID="{2986281A-BD41-4BD1-8B43-25B7D7E7F234}"
-       RootNamespace="everything"
-       Keyword="Win32Proj"
-       TargetFrameworkVersion="196613"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-               <Platform
-                       Name="x64"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                               CommandLine="$(GenEverythingH)"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               PreprocessorDefinitions="_DEBUG"
-                               MinimalRebuild="true"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               DebugInformationFormat="4"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
-                               LinkIncremental="2"
-                               ModuleDefinitionFile="..\$(ProjectName).def"
-                               GenerateDebugInformation="true"
-                               SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
-                               TargetMachine="1"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
-                       CharacterSet="2"
-                       WholeProgramOptimization="1"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                               CommandLine="$(GenEverythingH)"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               EnableIntrinsicFunctions="true"
-                               PreprocessorDefinitions=""
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="true"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               DebugInformationFormat="3"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
-                               LinkIncremental="1"
-                               ModuleDefinitionFile="..\$(ProjectName).def"
-                               GenerateDebugInformation="true"
-                               SubSystem="2"
-                               OptimizeReferences="2"
-                               EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
-                               TargetMachine="1"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Debug|x64"
-                       ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                               CommandLine="$(GenEverythingH)"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               TargetEnvironment="3"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               PreprocessorDefinitions="_DEBUG"
-                               MinimalRebuild="true"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               DebugInformationFormat="3"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
-                               LinkIncremental="2"
-                               ModuleDefinitionFile="..\$(ProjectName).def"
-                               GenerateDebugInformation="true"
-                               SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
-                               TargetMachine="17"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|x64"
-                       ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
-                       CharacterSet="2"
-                       WholeProgramOptimization="1"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                               CommandLine="$(GenEverythingH)"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               TargetEnvironment="3"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               EnableIntrinsicFunctions="true"
-                               PreprocessorDefinitions=""
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="true"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               DebugInformationFormat="3"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
-                               LinkIncremental="1"
-                               ModuleDefinitionFile="..\$(ProjectName).def"
-                               GenerateDebugInformation="true"
-                               SubSystem="2"
-                               OptimizeReferences="2"
-                               EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
-                               TargetMachine="17"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Sources"
-                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-                       >
-                       <File RelativePath="..\..\..\tests\everything.c" />
-               </Filter>
-               <Filter
-                       Name="Headers"
-                       Filter="h;hpp;hxx;hm;inl;inc;xsd"
-                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-                       >
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-                       >
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
index 3a2aeef..f88dfd8 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
index f220160..b8234f3 100644 (file)
   <Configuration
    Name="Debug|Win32"
    ConfigurationType="1"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-build-defines.vsprops"
    CharacterSet="2"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCCLCompilerTool"
     Optimization="0"
-    PreprocessorDefinitions="_DEBUG;FFI_BUILDING"
+    PreprocessorDefinitions="_DEBUG;$(FFIDefines)"
     MinimalRebuild="true"
     BasicRuntimeChecks="3"
     RuntimeLibrary="3"
   <Configuration
    Name="Debug|x64"
    ConfigurationType="1"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-build-defines.vsprops"
    CharacterSet="2"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCMIDLTool"
     TargetEnvironment="3"
    />
    <Tool
     Name="VCCLCompilerTool"
     Optimization="0"
-    PreprocessorDefinitions="_DEBUG;FFI_BUILDING"
+    PreprocessorDefinitions="_DEBUG;$(FFIDefines)"
     MinimalRebuild="true"
     BasicRuntimeChecks="3"
     RuntimeLibrary="3"
   <Configuration
    Name="Release|Win32"
    ConfigurationType="1"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-build-defines.vsprops"
    CharacterSet="2"
    WholeProgramOptimization="1"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCCLCompilerTool"
     Optimization="2"
     EnableIntrinsicFunctions="true"
-    PreprocessorDefinitions="FFI_BUILDING"
+    PreprocessorDefinitions="$(FFIDefines)"
     RuntimeLibrary="2"
     EnableFunctionLevelLinking="true"
     UsePrecompiledHeader="0"
   <Configuration
    Name="Release|x64"
    ConfigurationType="1"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-build-defines.vsprops"
    CharacterSet="2"
    WholeProgramOptimization="1"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCMIDLTool"
     TargetEnvironment="3"
    />
     EnableIntrinsicFunctions="true"
     EnableMinimalRebuild="true"
     WholeProgramOptimization="false"
-    PreprocessorDefinitions="FFI_BUILDING"
+    PreprocessorDefinitions="$(FFIDefines)"
     RuntimeLibrary="2"
     EnableFunctionLevelLinking="true"
     UsePrecompiledHeader="0"
index f08b919..b18648f 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               PreprocessorDefinitions="_DEBUG;FFI_BUILDING"
+                               PreprocessorDefinitions="_DEBUG;$(FFIDefines)"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
                                RuntimeLibrary="3"
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
-                               PreprocessorDefinitions="_DEBUG;FFI_BUILDING"
+                               PreprocessorDefinitions="_DEBUG;$(FFIDefines)"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
                                RuntimeLibrary="3"
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
-                               PreprocessorDefinitions="FFI_BUILDING"
+                               PreprocessorDefinitions="$(FFIDefines)"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"
                                UsePrecompiledHeader="0"
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                EnableIntrinsicFunctions="true"
                                EnableMinimalRebuild="true"
                                WholeProgramOptimization="false"
-                               PreprocessorDefinitions="FFI_BUILDING"
+                               PreprocessorDefinitions="$(FFIDefines)"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"
                                UsePrecompiledHeader="0"
index 0e5973a..ebd3c2b 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
diff --git a/build/win32/vs9/generate_typelibs.vcproj b/build/win32/vs9/generate_typelibs.vcproj
deleted file mode 100644 (file)
index e8b0059..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="9.00"
-       Name="generate_typelibs"
-       ProjectGUID="{BE771349-F11E-42AE-A23F-DA083FDC6FB8}"
-       RootNamespace="generate_typelibs"
-       TargetFrameworkVersion="196613"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-               <Platform
-                       Name="x64"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       ConfigurationType="10"
-                       InheritedPropertySheets=".\gir.vsprops"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                               CommandLine="$(GenerateGIR)"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       ConfigurationType="10"
-                       InheritedPropertySheets=".\gir.vsprops"
-                       CharacterSet="2"
-                       WholeProgramOptimization="1"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                               CommandLine="$(GenerateGIR)"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Debug|x64"
-                       ConfigurationType="10"
-                       InheritedPropertySheets=".\gir.vsprops"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                               CommandLine="$(GenerateGIR)"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|x64"
-                       ConfigurationType="10"
-                       InheritedPropertySheets=".\gir.vsprops"
-                       CharacterSet="2"
-                       WholeProgramOptimization="1"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                               CommandLine="$(GenerateGIR)"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
index 5806277..d4c1889 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
diff --git a/build/win32/vs9/gi-build-defines.vsprops b/build/win32/vs9/gi-build-defines.vsprops
new file mode 100644 (file)
index 0000000..12cd0cf
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+       ProjectType="Visual C++"
+       Version="8.00"
+       Name="gibuilddefinesprops"
+       InheritedPropertySheets=".\gi-version-paths.vsprops"
+       OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
+       IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)\"
+       >
+       <Tool
+               Name="VCCLCompilerTool"
+               AdditionalIncludeDirectories="..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include"
+               PreprocessorDefinitions="HAVE_CONFIG_H;WIN32"
+               ForcedIncludeFiles="msvc_recommended_pragmas.h"
+       />
+       <Tool
+               Name="VCLinkerTool"
+               AdditionalDependencies="gio-2.0.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib"
+               AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
+       />
+       <UserMacro
+               Name="FFIDefines"
+               Value="FFI_BUILDING"
+       />
+       <UserMacro
+               Name="GIRepositoryBuildDefines"
+               Value="G_IREPOSITORY_COMPILATION;$(FFIDefines);DLL_EXPORT"
+       />
+</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/gi-extra-paths.vsprops b/build/win32/vs9/gi-extra-paths.vsprops
new file mode 100644 (file)
index 0000000..4658fc2
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+       ProjectType="Visual C++"
+       Version="8.00"
+       Name="giextrapaths"
+       InheritedPropertySheets=".\gi-build-defines.vsprops"
+       >
+       <!-- PythonDir currently needs to point to a 32-bit/x86 Python 2.6/2.7 installation -->
+       <UserMacro
+               Name="PythonDir"
+               Value="c:\\python27"
+       />
+       <!-- PythonDirX64 currently needs to point to an x86-64/x64 Python 2.6/2.7 installation -->
+       <UserMacro
+               Name="PythonDirX64"
+               Value="c:\\python27.x64"
+       />
+</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/gi-gen-srcs.vsprops b/build/win32/vs9/gi-gen-srcs.vsprops
new file mode 100644 (file)
index 0000000..82c7f68
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+       ProjectType="Visual C++"
+       Version="8.00"
+       Name="gigensrcsprops"
+       InheritedPropertySheets=".\gi-build-defines.vsprops"
+       >
+       <UserMacro
+               Name="CopyConfigH"
+               Value="
+copy ..\..\..\config.h.win32 ..\..\..\config.h
+                         "
+       />
+       <UserMacro
+               Name="CopyGIRScanner"
+               Value="
+copy ..\..\..\tools\g-ir-scanner.in ..\..\..\tools\g-ir-scanner
+                         "
+       />
+       <UserMacro
+               Name="CopyGIRDocTool"
+               Value="
+copy ..\..\..\tools\g-ir-doc-tool.in ..\..\..\tools\g-ir-doc-tool
+                         "
+       />
+       <UserMacro
+               Name="CopyGIRAnnotationTool"
+               Value="
+copy ..\..\..\tools\g-ir-annotation-tool.in ..\..\..\tools\g-ir-annotation-tool
+                     "
+       />
+       <UserMacro
+               Name="GenerateGIRDef"
+               Value="
+echo EXPORTS &gt; $(DefDir)\girepository.def&#x0D;&#x0A;
+cl -EP ..\..\..\girepository\girepository.symbols &gt;&gt; $(DefDir)\girepository.def&#x0D;&#x0A;
+                         "
+       />
+</VisualStudioPropertySheet>
similarity index 59%
rename from build/win32/vs9/gir.vsprops
rename to build/win32/vs9/gi-install.vsprops
index 05c8316..618aad8 100644 (file)
@@ -2,137 +2,9 @@
 <VisualStudioPropertySheet
  ProjectType="Visual C++"
  Version="8.00"
- Name="giprops"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
- IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)\"
+ Name="giinstallprops"
+ InheritedPropertySheets=".\gi-build-defines.vsprops"
  >
- <Tool
-  Name="VCCLCompilerTool"
-  AdditionalIncludeDirectories="..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include"
-  PreprocessorDefinitions="HAVE_CONFIG_H;WIN32"
-  ForcedIncludeFiles="msvc_recommended_pragmas.h"
- />
- <Tool
-  Name="VCLinkerTool"
-  AdditionalDependencies="gio-2.0.lib gobject-2.0.lib gmodule-2.0.lib gthread-2.0.lib glib-2.0.lib"
-  AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
- />
- <Tool
-  Name="VCPreBuildEventTool"
-  CommandLine="
-if not exist ..\..\..\config.h copy ..\..\..\config.h.win32 ..\..\..\config.h&#x0D;&#x0A;
-if not exist ..\..\..\tools\g-ir-scanner copy ..\..\..\tools\g-ir-scanner.in ..\..\..\tools\g-ir-scanner&#x0D;&#x0A;
-if not exist ..\..\..\tools\g-ir-doc-tool copy ..\..\..\tools\g-ir-doc-tool.in ..\..\..\tools\g-ir-doc-tool&#x0D;&#x0A;
-if not exist ..\..\..\tools\g-ir-annotation-tool copy ..\..\..\tools\g-ir-annotation-tool.in ..\..\..\tools\g-ir-annotation-tool&#x0D;&#x0A;
-"
- />
- <UserMacro
-  Name="GlibEtcInstallRoot"
-  Value="$(SolutionDir)\..\..\..\..\vs9\$(PlatformName)"
- />
- <UserMacro
-  Name="VSVER"
-  Value="9"
- />
- <UserMacro
-  Name="BASE_GI_DIR"
-  Value="$(SolutionDir)\..\..\.."
- />
- <UserMacro
-  Name="CopyDir"
-  Value="$(GlibEtcInstallRoot)"
- />
- <UserMacro
-  Name="GIApiVersion"
-  Value="1.0"
- />
- <UserMacro
-  Name="DefDir"
-  Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
- />
- <UserMacro
-  Name="GenerateGIRDef"
-  Value="
-         echo EXPORTS &gt; $(DefDir)\girepository.def&#x0D;&#x0A;
-         cl -EP ..\..\..\girepository\girepository.symbols &gt;&gt; $(DefDir)\girepository.def&#x0D;&#x0A;
-     "
- />
- <UserMacro
-  Name="GenEverythingH"
-  Value="
-if exist ..\..\..\tests\everything.h goto DONE_GEN_EVERYTHING_C&#x0D;&#x0A;
-cd ..\..\..\tests&#x0D;&#x0A;
-set PATH=$(GlibEtcInstallRoot)\bin;$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;%PYTHONDIR%;%PATH%&#x0D;&#x0A;
-set PYTHONPATH=$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;$(BASE_GI_DIR)&#x0D;&#x0A;
-set UNINSTALLED_INTROSPECTION_SRCDIR=$(BASE_GI_DIR)&#x0D;&#x0A;
-python ..\tools\g-ir-scanner --verbose -I. --add-include-path=..\ --add-include-path=..\gir --generate-typelib-tests=Everything,everything.h,everything.c&#x0D;&#x0A;
-cd $(SolutionDir)&#x0D;&#x0A;
-:DONE_GEN_EVERYTHING_C&#x0D;&#x0A;
-     "
- />
- <UserMacro
-  Name="GenerateGIR"
-  Value="
-@echo off&#x0D;&#x0A;
-set CC=cl&#x0D;&#x0A;
-if &quot;$(MINGWDIR)&quot; == &quot;&quot; goto ERR_NOGCC&#x0D;&#x0A;
-if &quot;$(PYTHONDIR)&quot; == &quot;&quot; goto ERR_NOPYPATH&#x0D;&#x0A;
-if &quot;$(PKG_CONFIG_PATH)&quot; == &quot;&quot; goto ERR_NOPKGCONFIG&#x0D;&#x0A;
-set PYTHONPATH=$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;$(BASE_GI_DIR)&#x0D;&#x0A;
-set UNINSTALLED_INTROSPECTION_SRCDIR=$(BASE_GI_DIR)&#x0D;&#x0A;
-set PATH=$(GlibEtcInstallRoot)\bin;$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;$(PATH);$(PYTHONDIR);$(MINGWDIR)\bin&#x0D;&#x0A;
-set LIB=$(GlibEtcInstallRoot)\lib;$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;$(LIB);$(PYTHONDIR)\libs&#x0D;&#x0A;
-set INCLUDE=$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(INCLUDE);$(PYTHONDIR)\include&#x0D;&#x0A;
-set PLAT=$(PlatformName)&#x0D;&#x0A;
-set CONF=$(ConfigurationName)&#x0D;&#x0A;
-set BASEDIR=$(GlibEtcInstallRoot)&#x0D;&#x0A;
-set VSVER=$(VSVER)&#x0D;&#x0A;
-cd ..&#x0D;&#x0A;
-call gengir.bat&#x0D;&#x0A;
-cd .\vs$(VSVER)&#x0D;&#x0A;
-goto DONE&#x0D;&#x0A;
-:ERR_NOGCC&#x0D;&#x0A;
-echo You need a Windows GCC installation to preprocess the headers to generate .gir files&#x0D;&#x0A;
-echo Please set MINGWDIR accordingly before launching the Project&#x0D;&#x0A;
-goto DONE&#x0D;&#x0A;
-:ERR_NOPYPATH&#x0D;&#x0A;
-echo You need a Python installation to build the Python module and run the Python scripts to generate .gir files&#x0D;&#x0A;
-echo The Python installation needs to correspond to the configuration of your build, i.e. Win32 or x64&#x0D;&#x0A;
-echo Please set PYTHONDIR accordingly before launching the Project&#x0D;&#x0A;
-goto DONE&#x0D;&#x0A;
-:ERR_NOPKGCONFIG&#x0D;&#x0A;
-echo You need pkg-config and need to set PKG_CONFIG_PATH to point to pkgconfig (.pc) files to generate .gir files&#x0D;&#x0A;
-echo Please set PKG_CONFIG_PATH accordingly before launching the Project&#x0D;&#x0A;
-goto DONE&#x0D;&#x0A;
-:DONE&#x0D;&#x0A;
-     "
- />
- <UserMacro
-  Name="LibGILibtoolCompatibleDllPrefix"
-  Value="lib"
- />
- <UserMacro
-  Name="LibGILibtoolCompatibleDllSuffix"
-  Value="-$(GIApiVersion)-0"
- />
- <UserMacro
-  Name="LibGISeparateVS9DllPrefix"
-  Value=""
- />
- <UserMacro
-  Name="LibGISeparateVS9DllSuffix"
-  Value="-1-vs9"
- />
- <!-- Change these two to LibGILibtoolCompatibleDllPrefix and
- LibGILibtoolCompatibleDllSuffix if that is what you want -->
- <UserMacro
-  Name="LibGIDllPrefix"
-  Value="$(LibGISeparateVS9DllPrefix)"
- />
- <UserMacro
-  Name="LibGIDllSuffix"
-  Value="$(LibGISeparateVS9DllSuffix)"
- />
  <UserMacro
   Name="GIDoInstall"
   Value="
@@ -144,27 +16,27 @@ copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.exe $(
 copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin&#x0D;&#x0A;
-mkdir $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\giarginfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gibaseinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gicallableinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\giconstantinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gienuminfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gifieldinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gifunctioninfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\giinterfaceinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\giobjectinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gipropertyinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\giregisteredtypeinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\girepository.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\girffi.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gisignalinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gistructinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gitypeinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gitypelib.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\gitypes.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\giunioninfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
-copy ..\..\..\girepository\givfuncinfo.h $(CopyDir)\include\gobject-introspection-$(GIApiVersion)\girepository&#x0D;&#x0A;
+mkdir $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\giarginfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gibaseinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gicallableinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\giconstantinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gienuminfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gifieldinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gifunctioninfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\giinterfaceinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\giobjectinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gipropertyinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\giregisteredtypeinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\girepository.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\girffi.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gisignalinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gistructinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gitypeinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gitypelib.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\gitypes.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\giunioninfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
+copy ..\..\..\girepository\givfuncinfo.h $(CopyDir)\include\gobject-introspection-$(ApiVersion)\girepository&#x0D;&#x0A;
 mkdir $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
 mkdir $(CopyDir)\lib\gobject-introspection\giscanner\collections&#x0D;&#x0A;
 mkdir $(CopyDir)\lib\gobject-introspection\giscanner\doctemplates&#x0D;&#x0A;
@@ -235,13 +107,14 @@ copy ..\..\..\giscanner\doctemplates\Gjs\record.tmpl $(CopyDir)\lib\gobject-intr
 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;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
-mkdir $(CopyDir)\share\gir-$(GIApiVersion)&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\share\gir-$(GIApiVersion)\*.gir $(CopyDir)\share\gir-$(GIApiVersion)&#x0D;&#x0A;
-mkdir $(CopyDir)\share\gobject-introspection-$(GIApiVersion)&#x0D;&#x0A;
-copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(GIApiVersion)&#x0D;&#x0A;
-mkdir $(CopyDir)\lib\girepository-$(GIApiVersion)&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\girepository-$(GIApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\lib\girepository-$(GIApiVersion)\*.typelib $(CopyDir)\lib\girepository-$(GIApiVersion)&#x0D;&#x0A;
-"
+mkdir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
+copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
+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;
+  "
  />
 </VisualStudioPropertySheet>
diff --git a/build/win32/vs9/gi-install.vspropsin b/build/win32/vs9/gi-install.vspropsin
new file mode 100644 (file)
index 0000000..eb898d8
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+       ProjectType="Visual C++"
+       Version="8.00"
+       Name="giinstallprops"
+       InheritedPropertySheets=".\gi-build-defines.vsprops"
+       >
+       <UserMacro
+               Name="GIDoInstall"
+               Value="
+mkdir $(CopyDir)&#x0D;&#x0A;
+mkdir $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-compiler.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.exe $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin&#x0D;&#x0A;
+copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin&#x0D;&#x0A;
+
+#include "gir.vs9.install"
+
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
+
+mkdir $(CopyDir)\share\gir-$(ApiVersion)&#x0D;&#x0A;
+
+mkdir $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
+
+copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(ApiVersion)&#x0D;&#x0A;
+
+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;
+               "
+       />
+</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/gi-prebuild.vcproj b/build/win32/vs9/gi-prebuild.vcproj
new file mode 100644 (file)
index 0000000..8f911ef
--- /dev/null
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+       ProjectType="Visual C++"
+       Version="9.00"
+       Name="gi-prebuild"
+       ProjectGUID="{2093D218-190E-4194-9421-3BA7CBF33B11}"
+       RootNamespace="giprebuild"
+       Keyword="Win32Proj"
+       TargetFrameworkVersion="131072"
+       >
+       <Platforms>
+               <Platform
+                       Name="Win32"
+               />
+               <Platform
+                       Name="x64"
+               />
+       </Platforms>
+       <ToolFiles>
+       </ToolFiles>
+       <Configurations>
+               <Configuration
+                       Name="Debug|Win32"
+                       InheritedPropertySheets=".\gi-gen-srcs.vsprops"
+                       ConfigurationType="10"
+                       CharacterSet="2"
+                       DeleteExtensionsOnClean=""
+                       >
+               </Configuration>
+               <Configuration
+                       Name="Debug|x64"
+                       InheritedPropertySheets=".\gi-gen-srcs.vsprops"
+                       ConfigurationType="10"
+                       CharacterSet="2"
+                       DeleteExtensionsOnClean=""
+                       >
+               </Configuration>
+               <Configuration
+                       Name="Release|Win32"
+                       InheritedPropertySheets=".\gi-gen-srcs.vsprops"
+                       ConfigurationType="10"
+                       CharacterSet="2"
+                       WholeProgramOptimization="1"
+                       DeleteExtensionsOnClean=""
+                       >
+               </Configuration>
+               <Configuration
+                       Name="Release|x64"
+                       InheritedPropertySheets=".\gi-gen-srcs.vsprops"
+                       ConfigurationType="10"
+                       CharacterSet="2"
+                       WholeProgramOptimization="1"
+                       DeleteExtensionsOnClean=""
+                       >
+               </Configuration>
+       </Configurations>
+       <Files>
+               <Filter
+                       Name="Resource Files"
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+                       >
+                       <File RelativePath="..\..\..\config.h.win32">
+                               <FileConfiguration Name="Debug|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying config.h from config.h.win32..."
+                                               CommandLine="$(CopyConfigH)"
+                                               Outputs="..\..\..\config.h"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying config.h from config.h.win32..."
+                                               CommandLine="$(CopyConfigH)"
+                                               Outputs="..\..\..\config.h"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Debug|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying config.h from config.h.win32..."
+                                               CommandLine="$(CopyConfigH)"
+                                               Outputs="..\..\..\config.h"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying config.h from config.h.win32..."
+                                               CommandLine="$(CopyConfigH)"
+                                               Outputs="..\..\..\config.h"
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File RelativePath="..\..\..\tools\g-ir-scanner.in">
+                               <FileConfiguration Name="Debug|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-scanner from g-ir-scanner.in..."
+                                               CommandLine="$(CopyGIRScanner)"
+                                               Outputs="..\..\..\tools\g-ir-scanner"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-scanner from g-ir-scanner.in..."
+                                               CommandLine="$(CopyGIRScanner)"
+                                               Outputs="..\..\..\tools\g-ir-scanner"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Debug|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-scanner from g-ir-scanner.in..."
+                                               CommandLine="$(CopyGIRScanner)"
+                                               Outputs="..\..\..\tools\g-ir-scanner"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-scanner from g-ir-scanner.in..."
+                                               CommandLine="$(CopyGIRScanner)"
+                                               Outputs="..\..\..\tools\g-ir-scanner"
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File RelativePath="..\..\..\tools\g-ir-doc-tool.in">
+                               <FileConfiguration Name="Debug|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-doc-tool from g-ir-doc-tool.in..."
+                                               CommandLine="$(CopyGIRDocTool)"
+                                               Outputs="..\..\..\tools\g-ir-doc-tool"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-doc-tool from g-ir-doc-tool.in..."
+                                               CommandLine="$(CopyGIRDocTool)"
+                                               Outputs="..\..\..\tools\g-ir-doc-tool"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Debug|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-doc-tool from g-ir-doc-tool.in..."
+                                               CommandLine="$(CopyGIRDocTool)"
+                                               Outputs="..\..\..\tools\g-ir-doc-tool"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-doc-tool from g-ir-doc-tool.in..."
+                                               CommandLine="$(CopyGIRDocTool)"
+                                               Outputs="..\..\..\tools\g-ir-doc-tool"
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File RelativePath="..\..\..\tools\g-ir-annotation-tool.in">
+                               <FileConfiguration Name="Debug|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-annotation-tool from g-ir-annotation-tool.in..."
+                                               CommandLine="$(CopyGIRAnnotationTool)"
+                                               Outputs="..\..\..\tools\g-ir-annotation-tool"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-annotation-tool from g-ir-annotation-tool.in..."
+                                               CommandLine="$(CopyGIRAnnotationTool)"
+                                               Outputs="..\..\..\tools\g-ir-annotation-tool"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Debug|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-annotation-tool from g-ir-annotation-tool.in..."
+                                               CommandLine="$(CopyGIRAnnotationTool)"
+                                               Outputs="..\..\..\tools\g-ir-annotation-tool"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Copying g-ir-annotation-tool from g-ir-annotation-tool.in..."
+                                               CommandLine="$(CopyGIRAnnotationTool)"
+                                               Outputs="..\..\..\tools\g-ir-annotation-tool"
+                                       />
+                               </FileConfiguration>
+                       </File>
+               </Filter>
+       </Files>
+</VisualStudioProject>
diff --git a/build/win32/vs9/gi-version-paths.vsprops b/build/win32/vs9/gi-version-paths.vsprops
new file mode 100644 (file)
index 0000000..13a2579
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+       ProjectType="Visual C++"
+       Version="8.00"
+       Name="giversionpaths"
+       >
+       <UserMacro
+               Name="VSVER"
+               Value="9"
+       />
+       <UserMacro
+               Name="GlibEtcInstallRoot"
+               Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
+       />
+       <UserMacro
+               Name="BASE_GI_DIR"
+               Value="$(SolutionDir)\..\..\.."
+       />
+       <UserMacro
+               Name="CopyDir"
+               Value="$(GlibEtcInstallRoot)"
+       />
+       <UserMacro
+               Name="ApiVersion"
+               Value="1.0"
+       />
+       <UserMacro
+               Name="DefDir"
+               Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
+       />
+       <UserMacro
+               Name="LibGILibtoolCompatibleDllPrefix"
+               Value="lib"
+       />
+       <UserMacro
+               Name="LibGILibtoolCompatibleDllSuffix"
+               Value="-$(ApiVersion)-0"
+       />
+       <UserMacro
+               Name="LibGISeparateVSDllPrefix"
+               Value=""
+       />
+       <UserMacro
+               Name="LibGISeparateVSDllSuffix"
+               Value="-1-vs$(VSVer)"
+       />
+       <!-- Change these two to LibGILibtoolCompatibleDllPrefix and
+       LibGILibtoolCompatibleDllSuffix if that is what you want -->
+       <UserMacro
+               Name="LibGIDllPrefix"
+               Value="$(LibGISeparateVSDllPrefix)"
+       />
+       <UserMacro
+               Name="LibGIDllSuffix"
+               Value="$(LibGISeparateVSDllSuffix)"
+       />
+</VisualStudioPropertySheet>
index eb97092..89b850c 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
diff --git a/build/win32/vs9/gir.vspropsin b/build/win32/vs9/gir.vspropsin
deleted file mode 100644 (file)
index a42b214..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
-       ProjectType="Visual C++"
-       Version="8.00"
-       Name="giprops"
-       OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
-       IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)\"
-       >
-       <Tool
-               Name="VCCLCompilerTool"
-               AdditionalIncludeDirectories="..\..\..;..\..\..\girepository;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include"
-               PreprocessorDefinitions="HAVE_CONFIG_H;WIN32"
-               ForcedIncludeFiles="msvc_recommended_pragmas.h"
-       />
-       <Tool
-               Name="VCLinkerTool"
-               AdditionalDependencies="gio-2.0.lib gobject-2.0.lib gmodule-2.0.lib gthread-2.0.lib glib-2.0.lib"
-               AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
-       />
-       <Tool
-               Name="VCPreBuildEventTool"
-               CommandLine="
-if not exist ..\..\..\config.h copy ..\..\..\config.h.win32 ..\..\..\config.h&#x0D;&#x0A;
-if not exist ..\..\..\tools\g-ir-scanner copy ..\..\..\tools\g-ir-scanner.in ..\..\..\tools\g-ir-scanner&#x0D;&#x0A;
-if not exist ..\..\..\tools\g-ir-doc-tool copy ..\..\..\tools\g-ir-doc-tool.in ..\..\..\tools\g-ir-doc-tool&#x0D;&#x0A;
-if not exist ..\..\..\tools\g-ir-annotation-tool copy ..\..\..\tools\g-ir-annotation-tool.in ..\..\..\tools\g-ir-annotation-tool&#x0D;&#x0A;
-"
-       />
-       <UserMacro
-               Name="GlibEtcInstallRoot"
-               Value="$(SolutionDir)\..\..\..\..\vs9\$(PlatformName)"
-       />
-       <UserMacro
-               Name="VSVER"
-               Value="9"
-       />
-       <UserMacro
-               Name="BASE_GI_DIR"
-               Value="$(SolutionDir)\..\..\.."
-       />
-       <UserMacro
-               Name="CopyDir"
-               Value="$(GlibEtcInstallRoot)"
-       />
-       <UserMacro
-               Name="GIApiVersion"
-               Value="1.0"
-       />
-       <UserMacro
-               Name="DefDir"
-               Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
-       />
-       <UserMacro
-               Name="GenerateGIRDef"
-               Value="
-                      echo EXPORTS &gt; $(DefDir)\girepository.def&#x0D;&#x0A;
-                      cl -EP ..\..\..\girepository\girepository.symbols &gt;&gt; $(DefDir)\girepository.def&#x0D;&#x0A;
-                         "
-       />
-       <UserMacro
-               Name="GenEverythingH"
-               Value="
-if exist ..\..\..\tests\everything.h goto DONE_GEN_EVERYTHING_C&#x0D;&#x0A;
-cd ..\..\..\tests&#x0D;&#x0A;
-set PATH=$(GlibEtcInstallRoot)\bin;$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;%PYTHONDIR%;%PATH%&#x0D;&#x0A;
-set PYTHONPATH=$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;$(BASE_GI_DIR)&#x0D;&#x0A;
-set UNINSTALLED_INTROSPECTION_SRCDIR=$(BASE_GI_DIR)&#x0D;&#x0A;
-python ..\tools\g-ir-scanner --verbose -I. --add-include-path=..\ --add-include-path=..\gir --generate-typelib-tests=Everything,everything.h,everything.c&#x0D;&#x0A;
-cd $(SolutionDir)&#x0D;&#x0A;
-:DONE_GEN_EVERYTHING_C&#x0D;&#x0A;
-                         "
-       />
-       <UserMacro
-               Name="GenerateGIR"
-               Value="
-@echo off&#x0D;&#x0A;
-set CC=cl&#x0D;&#x0A;
-if &quot;$(MINGWDIR)&quot; == &quot;&quot; goto ERR_NOGCC&#x0D;&#x0A;
-if &quot;$(PYTHONDIR)&quot; == &quot;&quot; goto ERR_NOPYPATH&#x0D;&#x0A;
-if &quot;$(PKG_CONFIG_PATH)&quot; == &quot;&quot; goto ERR_NOPKGCONFIG&#x0D;&#x0A;
-
-set PYTHONPATH=$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;$(BASE_GI_DIR)&#x0D;&#x0A;
-set UNINSTALLED_INTROSPECTION_SRCDIR=$(BASE_GI_DIR)&#x0D;&#x0A;
-set PATH=$(GlibEtcInstallRoot)\bin;$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;$(PATH);$(PYTHONDIR);$(MINGWDIR)\bin&#x0D;&#x0A;
-set LIB=$(GlibEtcInstallRoot)\lib;$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin;$(LIB);$(PYTHONDIR)\libs&#x0D;&#x0A;
-set INCLUDE=$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(INCLUDE);$(PYTHONDIR)\include&#x0D;&#x0A;
-
-set PLAT=$(PlatformName)&#x0D;&#x0A;
-set CONF=$(ConfigurationName)&#x0D;&#x0A;
-set BASEDIR=$(GlibEtcInstallRoot)&#x0D;&#x0A;
-set VSVER=$(VSVER)&#x0D;&#x0A;
-
-cd ..&#x0D;&#x0A;
-call gengir.bat&#x0D;&#x0A;
-cd .\vs$(VSVER)&#x0D;&#x0A;
-goto DONE&#x0D;&#x0A;
-
-:ERR_NOGCC&#x0D;&#x0A;
-echo You need a Windows GCC installation to preprocess the headers to generate .gir files&#x0D;&#x0A;
-echo Please set MINGWDIR accordingly before launching the Project&#x0D;&#x0A;
-goto DONE&#x0D;&#x0A;
-
-:ERR_NOPYPATH&#x0D;&#x0A;
-echo You need a Python installation to build the Python module and run the Python scripts to generate .gir files&#x0D;&#x0A;
-echo The Python installation needs to correspond to the configuration of your build, i.e. Win32 or x64&#x0D;&#x0A;
-echo Please set PYTHONDIR accordingly before launching the Project&#x0D;&#x0A;
-goto DONE&#x0D;&#x0A;
-
-:ERR_NOPKGCONFIG&#x0D;&#x0A;
-echo You need pkg-config and need to set PKG_CONFIG_PATH to point to pkgconfig (.pc) files to generate .gir files&#x0D;&#x0A;
-echo Please set PKG_CONFIG_PATH accordingly before launching the Project&#x0D;&#x0A;
-goto DONE&#x0D;&#x0A;
-
-:DONE&#x0D;&#x0A;
-                         "
-       />
-       <UserMacro
-               Name="LibGILibtoolCompatibleDllPrefix"
-               Value="lib"
-       />
-       <UserMacro
-               Name="LibGILibtoolCompatibleDllSuffix"
-               Value="-$(GIApiVersion)-0"
-       />
-       <UserMacro
-               Name="LibGISeparateVS9DllPrefix"
-               Value=""
-       />
-       <UserMacro
-               Name="LibGISeparateVS9DllSuffix"
-               Value="-1-vs9"
-       />
-       <!-- Change these two to LibGILibtoolCompatibleDllPrefix and
-       LibGILibtoolCompatibleDllSuffix if that is what you want -->
-       <UserMacro
-               Name="LibGIDllPrefix"
-               Value="$(LibGISeparateVS9DllPrefix)"
-       />
-       <UserMacro
-               Name="LibGIDllSuffix"
-               Value="$(LibGISeparateVS9DllSuffix)"
-       />
-       <UserMacro
-               Name="GIDoInstall"
-               Value="
-mkdir $(CopyDir)&#x0D;&#x0A;
-mkdir $(CopyDir)\bin&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\$(LibGIDllPrefix)girepository$(LibGIDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-compiler.exe $(CopyDir)\bin&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\g-ir-generate.exe $(CopyDir)\bin&#x0D;&#x0A;
-copy ..\..\..\tools\g-ir-annotation-tool $(CopyDir)\bin&#x0D;&#x0A;
-copy ..\..\..\tools\g-ir-doc-tool $(CopyDir)\bin&#x0D;&#x0A;
-copy ..\..\..\tools\g-ir-scanner $(CopyDir)\bin&#x0D;&#x0A;
-
-#include "gir.vs9.install"
-
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\_giscanner.pyd $(CopyDir)\lib\gobject-introspection\giscanner&#x0D;&#x0A;
-
-mkdir $(CopyDir)\share\gir-$(GIApiVersion)&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\share\gir-$(GIApiVersion)\*.gir $(CopyDir)\share\gir-$(GIApiVersion)&#x0D;&#x0A;
-
-mkdir $(CopyDir)\share\gobject-introspection-$(GIApiVersion)&#x0D;&#x0A;
-copy ..\..\..\girepository\gdump.c $(CopyDir)\share\gobject-introspection-$(GIApiVersion)&#x0D;&#x0A;
-
-mkdir $(CopyDir)\lib\girepository-$(GIApiVersion)&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\girepository-$(GIApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\lib\girepository-$(GIApiVersion)\*.typelib $(CopyDir)\lib\girepository-$(GIApiVersion)&#x0D;&#x0A;
-"
-       />
-</VisualStudioPropertySheet>
index f1e383b..fa1ea0f 100644 (file)
   <Configuration
    Name="Debug|Win32"
    ConfigurationType="2"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-gen-srcs.vsprops"
    CharacterSet="2"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCCLCompilerTool"
     Optimization="0"
     AdditionalIncludeDirectories="..\..\..\girepository"
-    PreprocessorDefinitions="_DEBUG;G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT"
+    PreprocessorDefinitions="_DEBUG;$(GIRepositoryBuildDefines)"
     MinimalRebuild="true"
     BasicRuntimeChecks="3"
     RuntimeLibrary="3"
     DebugInformationFormat="4"
    />
    <Tool
-    Name="VCManagedResourceCompilerTool"
-   />
-   <Tool
-    Name="VCResourceCompilerTool"
-   />
-   <Tool
-    Name="VCPreLinkEventTool"
-    CommandLine="$(GenerateGIRDef)"
-   />
-   <Tool
     Name="VCLinkerTool"
     AdditionalDependencies="libffi.lib"
     OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
     ModuleDefinitionFile="$(IntDir)\girepository.def"
     GenerateDebugInformation="true"
     SubSystem="2"
-    ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+    ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
     TargetMachine="1"
    />
   </Configuration>
   <Configuration
    Name="Release|Win32"
    ConfigurationType="2"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-gen-srcs.vsprops"
    CharacterSet="2"
    WholeProgramOptimization="1"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCCLCompilerTool"
     Optimization="2"
     EnableIntrinsicFunctions="true"
     AdditionalIncludeDirectories="..\..\..\girepository"
-    PreprocessorDefinitions="G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT"
+    PreprocessorDefinitions="$(GIRepositoryBuildDefines)"
     RuntimeLibrary="2"
     EnableFunctionLevelLinking="true"
     UsePrecompiledHeader="0"
     DebugInformationFormat="3"
    />
    <Tool
-    Name="VCManagedResourceCompilerTool"
-   />
-   <Tool
-    Name="VCResourceCompilerTool"
-   />
-   <Tool
-    Name="VCPreLinkEventTool"
-    CommandLine="$(GenerateGIRDef)"
-   />
-   <Tool
     Name="VCLinkerTool"
     AdditionalDependencies="libffi.lib"
     OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
     SubSystem="2"
     OptimizeReferences="2"
     EnableCOMDATFolding="2"
-    ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+    ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
     TargetMachine="1"
    />
   </Configuration>
   <Configuration
    Name="Debug|x64"
    ConfigurationType="2"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-gen-srcs.vsprops"
    CharacterSet="2"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCMIDLTool"
     TargetEnvironment="3"
    />
     Name="VCCLCompilerTool"
     Optimization="0"
     AdditionalIncludeDirectories="..\..\..\girepository"
-    PreprocessorDefinitions="_DEBUG;G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT"
+    PreprocessorDefinitions="_DEBUG;$(GIRepositoryBuildDefines)"
     MinimalRebuild="true"
     BasicRuntimeChecks="3"
     RuntimeLibrary="3"
     DebugInformationFormat="3"
    />
    <Tool
-    Name="VCManagedResourceCompilerTool"
-   />
-   <Tool
-    Name="VCResourceCompilerTool"
-   />
-   <Tool
-    Name="VCPreLinkEventTool"
-    CommandLine="$(GenerateGIRDef)"
-   />
-   <Tool
     Name="VCLinkerTool"
     AdditionalDependencies="libffi.lib"
     OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
     ModuleDefinitionFile="$(IntDir)\girepository.def"
     GenerateDebugInformation="true"
     SubSystem="2"
-    ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+    ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
     TargetMachine="17"
    />
   </Configuration>
   <Configuration
    Name="Release|x64"
    ConfigurationType="2"
-   InheritedPropertySheets=".\gir.vsprops"
+   InheritedPropertySheets=".\gi-gen-srcs.vsprops"
    CharacterSet="2"
    WholeProgramOptimization="1"
    >
    <Tool
-    Name="VCPreBuildEventTool"
-   />
-   <Tool
     Name="VCMIDLTool"
     TargetEnvironment="3"
    />
     Optimization="2"
     EnableIntrinsicFunctions="true"
     AdditionalIncludeDirectories="..\..\..\girepository"
-    PreprocessorDefinitions="G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT"
+    PreprocessorDefinitions="$(GIRepositoryBuildDefines)"
     RuntimeLibrary="2"
     EnableFunctionLevelLinking="true"
     UsePrecompiledHeader="0"
     DebugInformationFormat="3"
    />
    <Tool
-    Name="VCManagedResourceCompilerTool"
-   />
-   <Tool
-    Name="VCResourceCompilerTool"
-   />
-   <Tool
-    Name="VCPreLinkEventTool"
-    CommandLine="$(GenerateGIRDef)"
-   />
-   <Tool
     Name="VCLinkerTool"
     AdditionalDependencies="libffi.lib"
     OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
     SubSystem="2"
     OptimizeReferences="2"
     EnableCOMDATFolding="2"
-    ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+    ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
     TargetMachine="17"
    />
   </Configuration>
    Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
    UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
    >
+   <File RelativePath="..\..\..\girepository\girepository.symbols">
+    <FileConfiguration Name="Debug|Win32">
+     <Tool
+      Name="VCCustomBuildTool"
+      Description="Generating $(DefDir)\girepository.def..."
+      CommandLine="$(GenerateGIRDef)"
+      Outputs="$(DefDir)\girepository.def"
+     />
+    </FileConfiguration>
+    <FileConfiguration Name="Release|Win32">
+     <Tool
+      Name="VCCustomBuildTool"
+      Description="Generating $(DefDir)\girepository.def..."
+      CommandLine="$(GenerateGIRDef)"
+      Outputs="$(DefDir)\girepository.def"
+     />
+    </FileConfiguration>
+    <FileConfiguration Name="Debug|x64">
+     <Tool
+      Name="VCCustomBuildTool"
+      Description="Generating $(DefDir)\girepository.def..."
+      CommandLine="$(GenerateGIRDef)"
+      Outputs="$(DefDir)\girepository.def"
+     />
+    </FileConfiguration>
+    <FileConfiguration Name="Release|x64">
+     <Tool
+      Name="VCCustomBuildTool"
+      Description="Generating $(DefDir)\girepository.def..."
+      CommandLine="$(GenerateGIRDef)"
+      Outputs="$(DefDir)\girepository.def"
+     />
+    </FileConfiguration>
+   </File>
   </Filter>
  </Files>
  <Globals>
index 1243621..37f7377 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-gen-srcs.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                AdditionalIncludeDirectories="..\..\..\girepository"
-                               PreprocessorDefinitions="_DEBUG;G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT"
+                               PreprocessorDefinitions="_DEBUG;$(GIRepositoryBuildDefines)"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
                                RuntimeLibrary="3"
                                DebugInformationFormat="4"
                        />
                        <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                               CommandLine="$(GenerateGIRDef)"
-                       />
-                       <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="libffi.lib"
                                OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
                                ModuleDefinitionFile="$(IntDir)\girepository.def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-gen-srcs.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                AdditionalIncludeDirectories="..\..\..\girepository"
-                               PreprocessorDefinitions="G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT"
+                               PreprocessorDefinitions="$(GIRepositoryBuildDefines)"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"
                                UsePrecompiledHeader="0"
                                DebugInformationFormat="3"
                        />
                        <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                               CommandLine="$(GenerateGIRDef)"
-                       />
-                       <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="libffi.lib"
                                OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-gen-srcs.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                AdditionalIncludeDirectories="..\..\..\girepository"
-                               PreprocessorDefinitions="_DEBUG;G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT"
+                               PreprocessorDefinitions="_DEBUG;$(GIRepositoryBuildDefines)"
                                MinimalRebuild="true"
                                BasicRuntimeChecks="3"
                                RuntimeLibrary="3"
                                DebugInformationFormat="3"
                        />
                        <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                               CommandLine="$(GenerateGIRDef)"
-                       />
-                       <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="libffi.lib"
                                OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
                                ModuleDefinitionFile="$(IntDir)\girepository.def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-gen-srcs.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                AdditionalIncludeDirectories="..\..\..\girepository"
-                               PreprocessorDefinitions="G_IREPOSITORY_COMPILATION;FFI_BUILDING;DLL_EXPORT"
+                               PreprocessorDefinitions="$(GIRepositoryBuildDefines)"
                                RuntimeLibrary="2"
                                EnableFunctionLevelLinking="true"
                                UsePrecompiledHeader="0"
                                DebugInformationFormat="3"
                        />
                        <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                               CommandLine="$(GenerateGIRDef)"
-                       />
-                       <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="libffi.lib"
                                OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                        Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
                        >
+                       <File RelativePath="..\..\..\girepository\girepository.symbols">
+                               <FileConfiguration Name="Debug|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Generating $(DefDir)\girepository.def..."
+                                               CommandLine="$(GenerateGIRDef)"
+                                               Outputs="$(DefDir)\girepository.def"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|Win32">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Generating $(DefDir)\girepository.def..."
+                                               CommandLine="$(GenerateGIRDef)"
+                                               Outputs="$(DefDir)\girepository.def"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Debug|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Generating $(DefDir)\girepository.def..."
+                                               CommandLine="$(GenerateGIRDef)"
+                                               Outputs="$(DefDir)\girepository.def"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration Name="Release|x64">
+                                       <Tool
+                                               Name="VCCustomBuildTool"
+                                               Description="Generating $(DefDir)\girepository.def..."
+                                               CommandLine="$(GenerateGIRDef)"
+                                               Outputs="$(DefDir)\girepository.def"
+                                       />
+                               </FileConfiguration>
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 0491eba..f269dca 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="1"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
index 68eaf25..25e3d95 100644 (file)
@@ -1,7 +1,13 @@
 ï»¿\r
 Microsoft Visual Studio Solution File, Format Version 10.00\r
 # Visual Studio 2008\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gi-prebuild", "gi-prebuild.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B11}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmph", "cmph.vcproj", "{442C007E-D901-41DA-9706-5DB4AFB4C06B}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
+       EndProjectSection\r
+EndProject\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cmph-bdz-test", "cmph-bdz-test.vcproj", "{E41F378B-CCDD-4B1C-89C3-6D2C950FAF1A}"\r
        ProjectSection(ProjectDependencies) = postProject\r
@@ -14,6 +20,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "girepository", "girepositor
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_giscanner", "_giscanner.vcproj", "{8311394F-9114-4C97-80F2-51BCABA054C9}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
+       EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-print", "glib-print.vcproj", "{2CCD6E09-08E7-44B9-92E6-42F0A5DBBC8B}"\r
        ProjectSection(ProjectDependencies) = postProject\r
@@ -32,12 +41,24 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g-ir-compiler", "g-ir-compi
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gimarshallingtests", "gimarshallingtests.vcproj", "{E2F8D205-0A53-4D40-9169-CE1EF2AAF203}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
+       EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "regress", "regress.vcproj", "{0A4F3C2B-DEF6-4EEF-A9E7-60E975722B60}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
+       EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utility", "utility.vcproj", "{A1F07FDB-20BB-441E-A4D5-6C2CD3D69214}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
+       EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "annotation", "annotation.vcproj", "{A70C7D31-0019-45D9-9537-BB1DB5F31886}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
+       EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "foo", "foo.vcproj", "{CD6291E9-2FFA-4D71-94EB-6D1EDD52F1D1}"\r
        ProjectSection(ProjectDependencies) = postProject\r
@@ -45,29 +66,29 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "foo", "foo.vcproj", "{CD629
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testinherit", "testinherit.vcproj", "{3F2C9F08-7FB7-4465-BF24-84E083EC4913}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
+       EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gettype", "gettype.vcproj", "{F7DCF92C-A570-4E0B-A357-2FF90E5FF1BA}"\r
+       ProjectSection(ProjectDependencies) = postProject\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
+       EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtkfrob", "gtkfrob.vcproj", "{95C833D3-6EC2-493D-969A-6082E5495F66}"\r
-EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sletter", "sletter.vcproj", "{86A35E44-E4C8-4628-87E9-942D136D72BC}"\r
-EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "everything", "everything.vcproj", "{2986281A-BD41-4BD1-8B43-25B7D7E7F234}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {8311394F-9114-4C97-80F2-51BCABA054C9} = {8311394F-9114-4C97-80F2-51BCABA054C9}\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
        EndProjectSection\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_typelibs", "generate_typelibs.vcproj", "{BE771349-F11E-42AE-A23F-DA083FDC6FB8}"\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sletter", "sletter.vcproj", "{86A35E44-E4C8-4628-87E9-942D136D72BC}"\r
        ProjectSection(ProjectDependencies) = postProject\r
-               {8311394F-9114-4C97-80F2-51BCABA054C9} = {8311394F-9114-4C97-80F2-51BCABA054C9}\r
-               {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774} = {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11} = {2093D218-190E-4194-9421-3BA7CBF33B11}\r
        EndProjectSection\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B10}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3} = {F4E6621F-A7DD-4863-8CCF-BA04DFC601E3}\r
                {23E28245-8FC7-4B41-B1C5-8785BD4366A7} = {23E28245-8FC7-4B41-B1C5-8785BD4366A7}\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8} = {BE771349-F11E-42AE-A23F-DA083FDC6FB8}\r
                {8311394F-9114-4C97-80F2-51BCABA054C9} = {8311394F-9114-4C97-80F2-51BCABA054C9}\r
                {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774} = {5DCB55CE-F32C-4C77-8BF4-B4DAD3EC7774}\r
        EndProjectSection\r
@@ -80,6 +101,14 @@ Global
                Release|x64 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|Win32.Build.0 = Debug|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|x64.ActiveCfg = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Debug|x64.Build.0 = Debug|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|Win32.ActiveCfg = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|Win32.Build.0 = Release|Win32\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|x64.ActiveCfg = Release|x64\r
+               {2093D218-190E-4194-9421-3BA7CBF33B11}.Release|x64.Build.0 = Release|x64\r
                {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|Win32.Build.0 = Debug|Win32\r
                {442C007E-D901-41DA-9706-5DB4AFB4C06B}.Debug|x64.ActiveCfg = Debug|x64\r
@@ -208,22 +237,6 @@ Global
                {86A35E44-E4C8-4628-87E9-942D136D72BC}.Release|Win32.Build.0 = Release|Win32\r
                {86A35E44-E4C8-4628-87E9-942D136D72BC}.Release|x64.ActiveCfg = Release|x64\r
                {86A35E44-E4C8-4628-87E9-942D136D72BC}.Release|x64.Build.0 = Release|x64\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Debug|Win32.Build.0 = Debug|Win32\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Debug|x64.ActiveCfg = Debug|x64\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Debug|x64.Build.0 = Debug|x64\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Release|Win32.ActiveCfg = Release|Win32\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Release|Win32.Build.0 = Release|Win32\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Release|x64.ActiveCfg = Release|x64\r
-               {2986281A-BD41-4BD1-8B43-25B7D7E7F234}.Release|x64.Build.0 = Release|x64\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Debug|Win32.Build.0 = Debug|Win32\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Debug|x64.ActiveCfg = Debug|x64\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Debug|x64.Build.0 = Debug|x64\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Release|Win32.ActiveCfg = Release|Win32\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Release|Win32.Build.0 = Release|Win32\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Release|x64.ActiveCfg = Release|x64\r
-               {BE771349-F11E-42AE-A23F-DA083FDC6FB8}.Release|x64.Build.0 = Release|x64\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|Win32.Build.0 = Debug|Win32\r
                {2093D218-190E-4194-9421-3BA7CBF33B10}.Debug|x64.ActiveCfg = Debug|x64\r
index c9cc072..41eeb98 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
index 04cda9c..58ad177 100644 (file)
@@ -21,7 +21,7 @@
        <Configurations>
                <Configuration
                        Name="Debug|Win32"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-install.vsprops"
                        OutputDirectory="$(GlibEtcInstallRoot)"
                        ConfigurationType="10"
                        CharacterSet="2"
@@ -34,7 +34,7 @@
                </Configuration>
                <Configuration
                        Name="Debug|x64"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-install.vsprops"
                        OutputDirectory="$(GlibEtcInstallRoot)"
                        ConfigurationType="10"
                        CharacterSet="2"
@@ -47,7 +47,7 @@
                </Configuration>
                <Configuration
                        Name="Release|Win32"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-install.vsprops"
                        OutputDirectory="$(GlibEtcInstallRoot)"
                        ConfigurationType="10"
                        CharacterSet="2"
@@ -61,7 +61,7 @@
                </Configuration>
                <Configuration
                        Name="Release|x64"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-install.vsprops"
                        OutputDirectory="$(GlibEtcInstallRoot)"
                        ConfigurationType="10"
                        CharacterSet="2"
index 6f55735..ab956ca 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
index 706166b..aaef265 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
index fd62b90..b5d26c7 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
index 7d51032..44251dd 100644 (file)
                <Configuration
                        Name="Debug|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="0"
                                PreprocessorDefinitions="_DEBUG"
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Release|Win32"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCCLCompilerTool"
                                Optimization="2"
                                EnableIntrinsicFunctions="true"
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="1"
                        />
                </Configuration>
                <Configuration
                        Name="Debug|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                ModuleDefinitionFile="..\$(ProjectName).def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
                <Configuration
                        Name="Release|x64"
                        ConfigurationType="2"
-                       InheritedPropertySheets=".\gir.vsprops"
+                       InheritedPropertySheets=".\gi-build-defines.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
                        <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
                                Name="VCMIDLTool"
                                TargetEnvironment="3"
                        />
                                SubSystem="2"
                                OptimizeReferences="2"
                                EnableCOMDATFolding="2"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(GIApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
                                TargetMachine="17"
                        />
                </Configuration>
index 0c56d53..43d450c 100644 (file)
@@ -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.39.0"
+#define PACKAGE_STRING "gojbect-introspection 1.39.3"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gobject-introspection"
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.39.0"
+#define PACKAGE_VERSION "1.39.3"
 
 /* Define to the platform's shared library suffix */
 #define SHLIB_SUFFIX ".dll"
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "1.39.0"
+#define VERSION "1.39.3"
 
 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
    `char[]'. */
index 0654713..c640b24 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gobject-introspection 1.39.0.
+# Generated by GNU Autoconf 2.69 for gobject-introspection 1.39.3.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection>.
 #
@@ -591,8 +591,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='gobject-introspection'
 PACKAGE_TARNAME='gobject-introspection'
-PACKAGE_VERSION='1.39.0'
-PACKAGE_STRING='gobject-introspection 1.39.0'
+PACKAGE_VERSION='1.39.3'
+PACKAGE_STRING='gobject-introspection 1.39.3'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection'
 PACKAGE_URL=''
 
@@ -1427,7 +1427,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.39.0 to adapt to many kinds of systems.
+\`configure' configures gobject-introspection 1.39.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1498,7 +1498,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gobject-introspection 1.39.0:";;
+     short | recursive ) echo "Configuration of gobject-introspection 1.39.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1652,7 +1652,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gobject-introspection configure 1.39.0
+gobject-introspection configure 1.39.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2204,7 +2204,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.39.0, which was
+It was created by gobject-introspection $as_me 1.39.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3072,7 +3072,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gobject-introspection'
- VERSION='1.39.0'
+ VERSION='1.39.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3304,7 +3304,7 @@ AM_BACKSLASH='\'
 
 
 # Used in docs/reference/version.xml
-GI_VERSION=1.39.0
+GI_VERSION=1.39.3
 
 
 # Check for Win32
@@ -6846,7 +6846,7 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
@@ -6864,10 +6864,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
          x86_64-*linux*)
            LD="${LD-ld} -m elf_i386"
            ;;
-         powerpcle-*linux*)
-           LD="${LD-ld} -m elf32lppclinux"
-           ;;
-         powerpc-*linux*)
+         ppc64-*linux*|powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
            ;;
          s390x-*linux*)
@@ -6886,10 +6883,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
          x86_64-*linux*)
            LD="${LD-ld} -m elf_x86_64"
            ;;
-         powerpcle-*linux*)
-           LD="${LD-ld} -m elf64lppc"
-           ;;
-         powerpc-*linux*)
+         ppc*-*linux*|powerpc*-*linux*)
            LD="${LD-ld} -m elf64ppc"
            ;;
          s390*-*linux*|s390*-*tpf*)
@@ -14878,7 +14872,7 @@ fi
 
 
 
-ac_config_files="$ac_config_files Makefile tests/Makefile tests/offsets/Makefile tests/scanner/Makefile tests/repository/Makefile tests/warn/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml gobject-introspection-1.0.pc gobject-introspection-no-export-1.0.pc config.h.win32 build/Makefile build/win32/Makefile build/win32/vs9/Makefile build/win32/vs10/Makefile"
+ac_config_files="$ac_config_files Makefile tests/Makefile tests/offsets/Makefile tests/scanner/Makefile tests/scanner/annotationparser/Makefile tests/repository/Makefile tests/warn/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml gobject-introspection-1.0.pc gobject-introspection-no-export-1.0.pc config.h.win32 build/Makefile build/win32/Makefile build/win32/vs9/Makefile build/win32/vs10/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -15454,7 +15448,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.39.0, which was
+This file was extended by gobject-introspection $as_me 1.39.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15520,7 +15514,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.39.0
+gobject-introspection config.status 1.39.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -15933,6 +15927,7 @@ do
     "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
     "tests/offsets/Makefile") CONFIG_FILES="$CONFIG_FILES tests/offsets/Makefile" ;;
     "tests/scanner/Makefile") CONFIG_FILES="$CONFIG_FILES tests/scanner/Makefile" ;;
+    "tests/scanner/annotationparser/Makefile") CONFIG_FILES="$CONFIG_FILES tests/scanner/annotationparser/Makefile" ;;
     "tests/repository/Makefile") CONFIG_FILES="$CONFIG_FILES tests/repository/Makefile" ;;
     "tests/warn/Makefile") CONFIG_FILES="$CONFIG_FILES tests/warn/Makefile" ;;
     "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
index 07bdb46..7081a46 100644 (file)
@@ -4,7 +4,7 @@
 dnl the gi version number
 m4_define(gi_major_version, 1)
 m4_define(gi_minor_version, 39)
-m4_define(gi_micro_version, 0)
+m4_define(gi_micro_version, 3)
 m4_define(gi_version, gi_major_version.gi_minor_version.gi_micro_version)
 
 AC_PREREQ([2.63])
@@ -17,7 +17,7 @@ AC_CONFIG_HEADER([config.h])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([build-aux])
 
-AM_INIT_AUTOMAKE([1.11 tar-ustar dist-xz no-dist-gzip foreign -Wno-portability])
+AM_INIT_AUTOMAKE([1.11 tar-ustar dist-xz no-dist-gzip foreign -Wno-portability parallel-tests])
 AM_MAINTAINER_MODE([enable])
 
 AM_SILENT_RULES([yes])
@@ -319,6 +319,7 @@ Makefile
 tests/Makefile
 tests/offsets/Makefile
 tests/scanner/Makefile
+tests/scanner/annotationparser/Makefile
 tests/repository/Makefile
 tests/warn/Makefile
 docs/Makefile
index e8e7311..153ad59 100644 (file)
@@ -699,6 +699,8 @@ setup-build.stamp:
            files=`echo $(SETUP_FILES) $(expand_content_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; \
                done; \
index 984d174..0ba5d7a 100644 (file)
 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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **            <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **            <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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</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-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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Commandline-option-parser.html#GOptionGroup"><span class="returnvalue">GOptionGroup</span></a> *      <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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *             <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <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>);
+<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *typelib_dir</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</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><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> domain</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</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>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</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><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_gvalue</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</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>;
@@ -110,7 +110,7 @@ enum                <a class="link" href="GIRepository.html#GIRepositoryError" t
 <div class="refsect1">
 <a name="GIRepository.object-hierarchy"></a><h2>Object Hierarchy</h2>
 <pre class="synopsis">
-  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+  GObject
    +----GIRepository
 </pre>
 </div>
@@ -166,7 +166,7 @@ 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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as an instance
+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
 parameter to mean this default repository, which is usually more
 convenient for C.
 </p>
@@ -185,8 +185,8 @@ convenient for C.
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-dependencies"></a><h3>g_irepository_get_dependencies ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<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
@@ -204,7 +204,7 @@ such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -224,7 +224,7 @@ dependencies. <span class="annotation">[<acronym title="Free data after the code
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-loaded-namespaces"></a><h3>g_irepository_get_loaded_namespaces ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -236,7 +236,7 @@ Return the list of currently loaded namespaces.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -251,8 +251,8 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-n-infos"></a><h3>g_irepository_get_n_infos ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<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
@@ -266,7 +266,7 @@ already been loaded before calling this function.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -285,8 +285,8 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> index</code></em>);</pre>
+                                                         <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
@@ -302,7 +302,7 @@ entries.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -326,7 +326,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-option-group"></a><h3>g_irepository_get_option_group ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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
 by the dumper and for programs that wants to provide
@@ -347,8 +347,8 @@ introspection information
 <hr>
 <div class="refsect2">
 <a name="g-irepository-enumerate-versions"></a><h3>g_irepository_enumerate_versions ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<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>.
@@ -361,7 +361,7 @@ available) for <em class="parameter"><code>namespace_</code></em> in this <em cl
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -433,7 +433,7 @@ search path. <span class="annotation">[<acronym title="Override the parsed C typ
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-search-path"></a><h3>g_irepository_get_search_path ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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
 typelib files. The list is internal to <span class="type">GIRespository</span> and should not
@@ -447,7 +447,7 @@ be freed, nor should its string elements.
 <tbody><tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> 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>
+<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>
@@ -458,7 +458,7 @@ be freed, nor should its string elements.
 <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="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
 <p>
 TODO
 </p>
@@ -470,7 +470,7 @@ TODO
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -492,8 +492,8 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-typelib-path"></a><h3>g_irepository_get_typelib_path ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<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
 .typelib file it was loaded from.  If the typelib for
@@ -508,7 +508,7 @@ the special string "&lt;builtin&gt;".
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -518,7 +518,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </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, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if namespace is not loaded</td>
+<td>Filesystem path (or $lt;builtin$gt;) if successful, <code class="literal">NULL</code> if namespace is not loaded</td>
 </tr>
 </tbody>
 </table></div>
@@ -526,9 +526,9 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <hr>
 <div class="refsect2">
 <a name="g-irepository-is-registered"></a><h3>g_irepository_is_registered ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</code></em>);</pre>
+<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
 version thereof) is currently loaded.  This function is likely to
@@ -545,7 +545,7 @@ quickly as this function will if it has already been loaded.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -555,13 +555,13 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
-<td>Required version, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> 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>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>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if namespace-version is loaded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
+<code class="literal">TRUE</code> if namespace-version is loaded, <code class="literal">FALSE</code> otherwise</td>
 </tr>
 </tbody>
 </table></div>
@@ -570,10 +570,10 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+                                                         <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
@@ -589,7 +589,7 @@ not specified, the latest will be used.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -599,7 +599,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
-<td>Version of namespace, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> 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>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>
 </tr>
 <tr>
@@ -608,11 +608,11 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>.</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, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<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>
 </tr>
 </tbody>
@@ -622,11 +622,11 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *typelib_dir</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *version</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+                                                         <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
@@ -642,7 +642,7 @@ not specified, the latest will be used.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -656,7 +656,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>version</code></em> :</span></p></td>
-<td>Version of namespace, may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> 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>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>
 </tr>
 <tr>
@@ -665,11 +665,11 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>.</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, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> otherwise. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<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>
 </tr>
 </tbody>
@@ -678,12 +678,12 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-c-prefix"></a><h3>g_irepository_get_c_prefix ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<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
 associated with the given introspection namespace.  Each C symbol
-starts with this prefix, as well each <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> in the library.
+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
@@ -697,7 +697,7 @@ such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -707,7 +707,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>C namespace prefix, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none associated</td>
+<td>C namespace prefix, or <code class="literal">NULL</code> if none associated</td>
 </tr>
 </tbody>
 </table></div>
@@ -715,13 +715,13 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-shared-library"></a><h3>g_irepository_get_shared_library ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<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 the full path to the shared C library
 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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+return <code class="literal">NULL</code>.
 </p>
 <p>
 Note: The namespace must have already been loaded using a function
@@ -735,7 +735,7 @@ such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -745,7 +745,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>Full path to shared library, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none associated</td>
+<td>Full path to shared library, or <code class="literal">NULL</code> if none associated</td>
 </tr>
 </tbody>
 </table></div>
@@ -753,8 +753,8 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <hr>
 <div class="refsect2">
 <a name="g-irepository-get-version"></a><h3>g_irepository_get_version ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>);</pre>
+<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>.
@@ -771,7 +771,7 @@ such as <a class="link" href="GIRepository.html#g-irepository-require" title="g_
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -790,9 +790,9 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <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><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">GType</span> gtype</code></em>);</pre>
 <p>
-Searches all loaded namespaces for a particular <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.  Note that
+Searches all loaded namespaces for a particular <span class="type">GType</span>.  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
@@ -807,7 +807,7 @@ when you know the GType to originate from be from a loaded namespace.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -818,7 +818,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<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>
 </tr>
 </tbody>
@@ -828,9 +828,9 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> domain</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">GQuark</span> domain</code></em>);</pre>
 <p>
-Searches for the enum type corresponding to the given <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+Searches for the enum type corresponding to the given <span class="type">GError</span>
 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.
@@ -843,19 +843,19 @@ otherwise ensure the namespace has already been loaded.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> domain</td>
+<td>a <span class="type">GError</span> domain</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+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>
 </tr>
 </tbody>
@@ -866,8 +866,8 @@ enum type, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standar
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *namespace_</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <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
 this function for a particular namespace, you must call
@@ -882,7 +882,7 @@ ensure the namespace has already been loaded.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the singleton
+<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>
@@ -897,7 +897,7 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<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>
 </tr>
 </tbody>
@@ -906,8 +906,8 @@ process-global default <a class="link" href="GIRepository.html" title="GIReposit
 <hr>
 <div class="refsect2">
 <a name="g-irepository-dump"></a><h3>g_irepository_dump ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<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
 the form "input.txt,output.xml".  The input file should be a
@@ -932,13 +932,13 @@ overwrite its contents.
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><code class="literal">GError</code></a>
+<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>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error</td>
+<code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on error</td>
 </tr>
 </tbody>
 </table></div>
@@ -946,12 +946,12 @@ overwrite its contents.
 <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><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#GClosure"><span class="type">GClosure</span></a> *closure</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *return_gvalue</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_param_values</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *param_values</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> invocation_hint</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> marshal_data</code></em>);</pre>
+<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>
@@ -995,7 +995,7 @@ TODO
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> for more information on
+<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>
 </div>
@@ -1010,7 +1010,7 @@ error domains.
 } 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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> returned
+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">
index 3c08793..c19c852 100644 (file)
@@ -39,19 +39,19 @@ typedef             <a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GI
 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>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>              (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>              (<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-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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>              (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>      (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>              (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>          (<em class="parameter"><code><a class="link" href="gi-GIArgInfo.html#GIArgInfo" title="GIArgInfo"><span class="type">GIArgInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>                  (<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-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">
@@ -224,7 +224,7 @@ up the resources of this transfer.
 <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
-(<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>/<a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#g-hash-table-destroy"><code class="function">g_hash_table_destroy()</code></a> etc) of this transfer.
+(<code class="function">g_list_free()</code>/<code class="function">g_hash_table_destroy()</code> etc) of this transfer.
 </td>
 </tr>
 <tr>
@@ -241,7 +241,7 @@ cleaning up the container and item resources of this transfer.
 <hr>
 <div class="refsect2">
 <a name="g-arg-info-get-closure"></a><h3>g_arg_info_get_closure ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -267,9 +267,9 @@ for arguments which are callbacks.
 <hr>
 <div class="refsect2">
 <a name="g-arg-info-get-destroy"></a><h3>g_arg_info_get_destroy ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> argument. This is only valid
+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">
@@ -285,7 +285,7 @@ for arguments which are callbacks.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>index of the <a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> argument or -1 if there is none</td>
+<td>index of the <span class="type">GDestroyNotify</span> argument or -1 if there is none</td>
 </tr>
 </tbody>
 </table></div>
@@ -433,9 +433,9 @@ The initialized <em class="parameter"><code>type</code></em> must not be referen
 <hr>
 <div class="refsect2">
 <a name="g-arg-info-may-be-null"></a><h3>g_arg_info_may_be_null ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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 argument accepts <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+Obtain if the argument accepts <code class="literal">NULL</code>.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
@@ -451,7 +451,7 @@ Obtain if the argument accepts <a href="http://library.gnome.org/devel/glib/unst
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it accepts <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<code class="literal">TRUE</code> if it accepts <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -460,12 +460,12 @@ Obtain if the argument accepts <a href="http://library.gnome.org/devel/glib/unst
 <hr>
 <div class="refsect2">
 <a name="g-arg-info-is-caller-allocates"></a><h3>g_arg_info_is_caller_allocates ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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
 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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the caller must allocate.
+callee allocates; if this is <code class="literal">TRUE</code>, then the caller must allocate.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
@@ -481,7 +481,7 @@ callee allocates; if this is <a href="http://library.gnome.org/devel/glib/unstab
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if caller is required to have allocated the argument</td>
+<code class="literal">TRUE</code> if caller is required to have allocated the argument</td>
 </tr>
 </tbody>
 </table></div>
@@ -489,7 +489,7 @@ callee allocates; if this is <a href="http://library.gnome.org/devel/glib/unstab
 <hr>
 <div class="refsect2">
 <a name="g-arg-info-is-optional"></a><h3>g_arg_info_is_optional ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
 </p>
@@ -507,7 +507,7 @@ Obtain if the argument is optional.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it is an optional argument</td>
+<code class="literal">TRUE</code> if it is an optional argument</td>
 </tr>
 </tbody>
 </table></div>
@@ -515,7 +515,7 @@ Obtain if the argument is optional.
 <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="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -534,7 +534,7 @@ parameter or a return value.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it is a return value</td>
+<code class="literal">TRUE</code> if it is a return value</td>
 </tr>
 </tbody>
 </table></div>
@@ -542,7 +542,7 @@ parameter or a return value.
 <hr>
 <div class="refsect2">
 <a name="g-arg-info-is-skip"></a><h3>g_arg_info_is_skip ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -560,7 +560,7 @@ Obtain if an argument is only useful in C.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if argument is only useful in C.</td>
+<code class="literal">TRUE</code> if argument is only useful in C.</td>
 </tr>
 </tbody>
 </table></div>
index 3425540..717b9d9 100644 (file)
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> offset</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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <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>,
+<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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>           (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>                (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>           (<em class="parameter"><code><span class="type">GIBaseInfo</span> *info</code></em>,
-                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>      (<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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>           (<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">
@@ -73,8 +73,8 @@ All other structs can be casted to a <span class="type">GIBaseInfo</span>, for i
       <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>
+        <td class="listing_code"><pre class="programlisting">GIFunctionInfo *function_info = ...;
+   GIBaseInfo *info = (GIBaseInfo*)function_info;</pre></td>
       </tr>
     </tbody>
   </table>
@@ -98,9 +98,9 @@ GIBaseInfos are normally accessed by calling either
         <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="http://library.gnome.org/devel/glib/unstable/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>
+        <td class="listing_code"><pre class="programlisting">GIBaseInfo *button_info = g_irepository_find_by_name(<span class="number">NULL</span>, <span class="number">&quot;Gtk&quot;</span>, <span class="number">&quot;Button&quot;</span>);
+   ... use button_info ...
+   g_base_info_unref(button_info);</pre></td>
       </tr>
     </tbody>
   </table>
@@ -284,7 +284,7 @@ in a <span class="type">GIBaseInfo</span> struct.
 <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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> offset</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">guint32</span> offset</code></em>);</pre>
 <p>
 TODO
 </p>
@@ -365,7 +365,7 @@ drops to 0, the info is freed.
 <hr>
 <div class="refsect2">
 <a name="g-base-info-equal"></a><h3>g_base_info_equal ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>,
+<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>.
@@ -394,7 +394,7 @@ TypeLib; use this function instead to do <span class="type">GIBaseInfo</span> co
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/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>.</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>
 </tr>
 </tbody>
 </table></div>
@@ -454,7 +454,7 @@ Obtain the typelib this <em class="parameter"><code>info</code></em> belongs to
 <hr>
 <div class="refsect2">
 <a name="g-base-info-get-namespace"></a><h3>g_base_info_get_namespace ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -479,7 +479,7 @@ Obtain the namespace of <em class="parameter"><code>info</code></em>.
 <hr>
 <div class="refsect2">
 <a name="g-base-info-get-name"></a><h3>g_base_info_get_name ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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
@@ -498,7 +498,7 @@ the name of the function.
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it lacks a name.</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>
 </table></div>
@@ -506,8 +506,8 @@ the name of the function.
 <hr>
 <div class="refsect2">
 <a name="g-base-info-get-attribute"></a><h3>g_base_info_get_attribute ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<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>
@@ -528,7 +528,7 @@ Retrieve an arbitrary attribute associated with this node.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The value of the attribute, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such attribute exists</td>
+<td>The value of the attribute, or <code class="literal">NULL</code> if no such attribute exists</td>
 </tr>
 </tbody>
 </table></div>
@@ -536,14 +536,14 @@ Retrieve an arbitrary attribute associated with this node.
 <hr>
 <div class="refsect2">
 <a name="g-base-info-iterate-attributes"></a><h3>g_base_info_iterate_attributes ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>,
+<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
 structure is typically stack allocated, and must have its first
-member initialized to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+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
@@ -569,16 +569,16 @@ and must not be freed.
 10
 11</pre></td>
         <td class="listing_code"><pre class="programlisting"><span class="type">void</span>
-<span class="function">print_attributes</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="cbracket">{</span>
-<span class="normal">  </span><span class="usertype">GIAttributeIter</span><span class="normal"> iter </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
-<span class="normal">  </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">name</span><span class="symbol">;</span>
-<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"><a href="http://library.gnome.org/devel/glib/unstable/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>
+print_attributes (GIBaseInfo *info)
+{
+  GIAttributeIter iter = { <span class="number">0</span>, };
+  <span class="type">char</span> *name;
+  <span class="type">char</span> *value;
+  <span class="keyword">while</span> (g_base_info_iterate_attributes (info, &amp;iter, &amp;name, &amp;value))
+    {
+      g_print (<span class="number">&quot;attribute name: </span><span class="symbol">%s</span><span class="number"> value: </span><span class="symbol">%s</span><span class="number">&quot;</span>, name, value);
+    }
+}</pre></td>
       </tr>
     </tbody>
   </table>
@@ -615,7 +615,7 @@ and must not be freed.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there are more attributes</td>
+<code class="literal">TRUE</code> if there are more attributes</td>
 </tr>
 </tbody>
 </table></div>
@@ -651,7 +651,7 @@ GIBaseInfo. For instance, the parent of a <a class="link" href="gi-GIFunctionInf
 <hr>
 <div class="refsect2">
 <a name="g-base-info-is-deprecated"></a><h3>g_base_info_is_deprecated ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -670,7 +670,7 @@ deprecated or not.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if deprecated</td>
+<code class="literal">TRUE</code> if deprecated</td>
 </tr>
 </tbody>
 </table></div>
index 1dfde85..9bea546 100644 (file)
 <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>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>    (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>          (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>
+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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> function</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_method</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> throws</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>           (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>
+                                                         <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>     (<em class="parameter"><code><a class="link" href="gi-GICallableInfo.html#GICallableInfo" title="GICallableInfo"><span class="type">GICallableInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>         (<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-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>
 <div class="refsect1">
@@ -128,7 +128,7 @@ Represents a callable, either <a class="link" href="gi-GIFunctionInfo.html#GIFun
 <hr>
 <div class="refsect2">
 <a name="g-callable-info-can-throw-gerror"></a><h3>g_callable_info_can_throw_gerror ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -146,7 +146,7 @@ TODO
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<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>
@@ -156,7 +156,7 @@ TODO
 <hr>
 <div class="refsect2">
 <a name="g-callable-info-get-n-args"></a><h3>g_callable_info_get_n_args ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -182,7 +182,7 @@ Obtain the number of arguments (both IN and OUT) for this callable.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
 <p>
 Obtain information about a particular argument of this callable.
 </p>
@@ -232,7 +232,7 @@ See whether the caller owns the return value of this callable.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the caller owns the return value, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
+<code class="literal">TRUE</code> if the caller owns the return value, <code class="literal">FALSE</code> otherwise.</td>
 </tr>
 </tbody>
 </table></div>
@@ -240,9 +240,9 @@ See whether the caller owns the return value of this callable.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       g_callable_info_get_return_attribute
+<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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <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>
@@ -263,7 +263,7 @@ Retrieve an arbitrary attribute associated with the return value.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>The value of the attribute, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such attribute exists</td>
+<td>The value of the attribute, or <code class="literal">NULL</code> if no such attribute exists</td>
 </tr>
 </tbody>
 </table></div>
@@ -298,16 +298,16 @@ Obtain the return type of a callable item as a <a class="link" href="gi-GITypeIn
 <hr>
 <div class="refsect2">
 <a name="g-callable-info-invoke"></a><h3>g_callable_info_invoke ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> function</code></em>,
+<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_method</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> throws</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+                                                         <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>
@@ -363,7 +363,7 @@ TODO
 <hr>
 <div class="refsect2">
 <a name="g-callable-info-is-method"></a><h3>g_callable_info_is_method ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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 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,
@@ -390,7 +390,7 @@ or "this" object.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</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>
 </table></div>
@@ -399,7 +399,7 @@ or "this" object.
 <hr>
 <div class="refsect2">
 <a name="g-callable-info-iterate-return-attributes"></a><h3>g_callable_info_iterate_return_attributes ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_callable_info_iterate_return_attributes
+<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>,
@@ -407,7 +407,7 @@ or "this" object.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+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
@@ -445,7 +445,7 @@ similar API.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if there are more attributes</td>
+<code class="literal">TRUE</code> if there are more attributes</td>
 </tr>
 </tbody>
 </table></div>
@@ -454,7 +454,7 @@ similar API.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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
@@ -522,9 +522,9 @@ The initialized <em class="parameter"><code>type</code></em> must not be referen
 <hr>
 <div class="refsect2">
 <a name="g-callable-info-may-return-null"></a><h3>g_callable_info_may_return_null ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+See if a callable could return <code class="literal">NULL</code>.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
@@ -540,7 +540,7 @@ See if a callable could return <a href="http://library.gnome.org/devel/glib/unst
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if callable could return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<code class="literal">TRUE</code> if callable could return <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -549,7 +549,7 @@ See if a callable could return <a href="http://library.gnome.org/devel/glib/unst
 <hr>
 <div class="refsect2">
 <a name="g-callable-info-skip-return"></a><h3>g_callable_info_skip_return ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -567,7 +567,7 @@ See if a callable's return value is only useful in C.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if return value is only useful in C.</td>
+<code class="literal">TRUE</code> if return value is only useful in C.</td>
 </tr>
 </tbody>
 </table></div>
index d2a50a7..4ab9b19 100644 (file)
@@ -39,7 +39,7 @@ typedef             <a class="link" href="gi-GIConstantInfo.html#GIConstantInfo"
 <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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>           (<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>
@@ -147,7 +147,7 @@ Obtain the type of the constant as a <a class="link" href="gi-GITypeInfo.html#GI
 <hr>
 <div class="refsect2">
 <a name="g-constant-info-get-value"></a><h3>g_constant_info_get_value ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>,
+<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
index d2ec810..93d08c2 100644 (file)
 <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>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>            (<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">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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>           (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>        (<em class="parameter"><code><a class="link" href="gi-GIEnumInfo.html#GIEnumInfo" title="GIEnumInfo"><span class="type">GIEnumInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></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>              (<em class="parameter"><code><a class="link" href="gi-GIValueInfo.html#GIValueInfo" title="GIValueInfo"><span class="type">GIValueInfo</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>
 <div class="refsect1">
@@ -117,7 +117,7 @@ Represents an enum or a flag.
 <hr>
 <div class="refsect2">
 <a name="g-enum-info-get-n-values"></a><h3>g_enum_info_get_n_values ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -143,7 +143,7 @@ Obtain the number of values this enumeration contains.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
 <p>
 Obtain a value for this enumeration.
 </p>
@@ -164,7 +164,7 @@ Obtain a value for this enumeration.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the enumeration value or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if type tag is wrong,
+<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>
 </tr>
@@ -174,7 +174,7 @@ free the struct with <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref"
 <hr>
 <div class="refsect2">
 <a name="g-enum-info-get-n-methods"></a><h3>g_enum_info_get_n_methods ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -201,7 +201,7 @@ Obtain the number of methods that this enum type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -264,7 +264,7 @@ may not match the sign of the type used by the C compiler.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -283,7 +283,7 @@ this enum, if any.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+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>
@@ -293,7 +293,7 @@ with this enum, or <a href="http://library.gnome.org/devel/glib/unstable/glib-St
 <hr>
 <div class="refsect2">
 <a name="g-value-info-get-value"></a><h3>g_value_info_get_value ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
index 7be73a9..6ea1596 100644 (file)
 <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>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>              (<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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>,
+<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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>              (<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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>             (<em class="parameter"><code><a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFieldInfo"><span class="type">GIFieldInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>               (<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>
@@ -132,8 +132,8 @@ Flags for a <a class="link" href="gi-GIFieldInfo.html#GIFieldInfo" title="GIFiel
 <hr>
 <div class="refsect2">
 <a name="g-field-info-get-field"></a><h3>g_field_info_get_field ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>,
+<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
@@ -163,7 +163,7 @@ even if that is actually readable.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if reading the field succeeded, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+<code class="literal">TRUE</code> if reading the field succeeded, otherwise <code class="literal">FALSE</code>
 </td>
 </tr>
 </tbody>
@@ -172,8 +172,8 @@ even if that is actually readable.
 <hr>
 <div class="refsect2">
 <a name="g-field-info-set-field"></a><h3>g_field_info_set_field ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> mem</code></em>,
+<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
@@ -205,7 +205,7 @@ with a type such as 'char *' must be set with a setter function.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if writing the field succeeded, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+<code class="literal">TRUE</code> if writing the field succeeded, otherwise <code class="literal">FALSE</code>
 </td>
 </tr>
 </tbody>
@@ -240,7 +240,7 @@ flag values.
 <hr>
 <div class="refsect2">
 <a name="g-field-info-get-offset"></a><h3>g_field_info_get_offset ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -266,7 +266,7 @@ to the beginning of the struct or union.
 <hr>
 <div class="refsect2">
 <a name="g-field-info-get-size"></a><h3>g_field_info_get_size ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
index 68432b2..4e2e8d8 100644 (file)
@@ -39,17 +39,17 @@ typedef             <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo"
 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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>          (<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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <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>,
+<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</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>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <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>);
+<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>
@@ -194,7 +194,7 @@ Obtain the <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfoFlags" tit
 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,
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned.
+<code class="literal">NULL</code> will be returned.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
@@ -209,7 +209,7 @@ Only <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunct
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the property or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set. Free it with
+<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>
@@ -219,11 +219,11 @@ Only <a class="link" href="gi-GIFunctionInfo.html#GIFunctionInfo" title="GIFunct
 <hr>
 <div class="refsect2">
 <a name="g-function-info-get-symbol"></a><h3>g_function_info_get_symbol ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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
 exported function, suitable to be used as an argument to
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Dynamic-Loading-of-Modules.html#g-module-symbol"><code class="function">g_module_symbol()</code></a>.
+<code class="function">g_module_symbol()</code>.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
@@ -250,7 +250,7 @@ exported function, suitable to be used as an argument to
 <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, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned.
+a virtual function set. For other cases, <code class="literal">NULL</code> will be returned.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
@@ -265,7 +265,7 @@ a virtual function set. For other cases, <a href="http://library.gnome.org/devel
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the virtual function or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set.
+<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>
@@ -275,20 +275,20 @@ Free it by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-unref" t
 <hr>
 <div class="refsect2">
 <a name="g-function-info-invoke"></a><h3>g_function_info_invoke ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>,
+<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+                                                         <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
 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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Dynamic-Loading-of-Modules.html#g-module-symbol"><code class="function">g_module_symbol()</code></a>ed before calling this function.
+have been <code class="function">g_module_symbol()</code>ed before calling this function.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
@@ -304,7 +304,7 @@ have been <a href="http://library.gnome.org/devel/glib/unstable/glib-Dynamic-Loa
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+can be <code class="literal">NULL</code>
 </td>
 </tr>
 <tr>
@@ -315,7 +315,7 @@ can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macro
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+may be <code class="literal">NULL</code>
 </td>
 </tr>
 <tr>
@@ -326,18 +326,18 @@ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macro
 <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
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<code class="literal">NULL</code>
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>return location for detailed error information, or <code class="literal">NULL</code>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the function has been invoked, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if an
+<code class="literal">TRUE</code> if the function has been invoked, <code class="literal">FALSE</code> if an
 error occurred.</td>
 </tr>
 </tbody>
@@ -355,7 +355,7 @@ TODO
 <hr>
 <div class="refsect2">
 <a name="g-invoke-error-quark"></a><h3>g_invoke_error_quark ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
index 3f620db..a5e43df 100644 (file)
 <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>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>
+<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>   (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>      (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>      (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>       (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>    (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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>
@@ -117,7 +117,7 @@ Represents an interface.
 <hr>
 <div class="refsect2">
 <a name="g-interface-info-get-n-prerequisites"></a><h3>g_interface_info_get_n_prerequisites ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                g_interface_info_get_n_prerequisites
+<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.
@@ -146,7 +146,7 @@ interface, similar to an base class for GObjects.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -177,7 +177,7 @@ Obtain an interface type prerequisites index <em class="parameter"><code>n</code
 <hr>
 <div class="refsect2">
 <a name="g-interface-info-get-n-properties"></a><h3>g_interface_info_get_n_properties ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -203,7 +203,7 @@ Obtain the number of properties that this interface type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -234,7 +234,7 @@ Obtain an interface type property at index <em class="parameter"><code>n</code><
 <hr>
 <div class="refsect2">
 <a name="g-interface-info-get-n-methods"></a><h3>g_interface_info_get_n_methods ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -260,7 +260,7 @@ Obtain the number of methods that this interface type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -292,9 +292,9 @@ Obtain an interface type method at index <em class="parameter"><code>n</code></e
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <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>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
+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">
@@ -314,7 +314,7 @@ returned if there's no method available with that name.
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none found.
+<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>
 </tr>
@@ -324,7 +324,7 @@ Free the struct by calling <a class="link" href="gi-GIBaseInfo.html#g-base-info-
 <hr>
 <div class="refsect2">
 <a name="g-interface-info-get-n-signals"></a><h3>g_interface_info_get_n_signals ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -350,7 +350,7 @@ Obtain the number of signals that this interface type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -382,7 +382,7 @@ Obtain an interface type signal at index <em class="parameter"><code>n</code></e
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
 <p>
 TODO
 </p>
@@ -404,7 +404,7 @@ TODO
 <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
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<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>
 </tr>
 </tbody>
@@ -414,7 +414,7 @@ TODO
 <hr>
 <div class="refsect2">
 <a name="g-interface-info-get-n-vfuncs"></a><h3>g_interface_info_get_n_vfuncs ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -440,7 +440,7 @@ Obtain the number of virtual functions that this interface type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -472,7 +472,7 @@ Obtain an interface type virtual function at index <em class="parameter"><code>n
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <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.
@@ -494,7 +494,7 @@ for <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc" title="
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<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>
@@ -504,7 +504,7 @@ for <a class="link" href="gi-GIObjectInfo.html#g-object-info-find-vfunc" title="
 <hr>
 <div class="refsect2">
 <a name="g-interface-info-get-n-constants"></a><h3>g_interface_info_get_n_constants ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -530,7 +530,7 @@ Obtain the number of constants that this interface type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -578,7 +578,7 @@ Returns the layout C structure associated with this <span class="type">GInterfac
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<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>
index 3f511c9..b81c523 100644 (file)
 <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>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>          (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>       (<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-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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>         (<em class="parameter"><code><a class="link" href="gi-GIObjectInfo.html#GIObjectInfo" title="GIObjectInfo"><span class="type">GIObjectInfo</span></a> *info</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>         (<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>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>       (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>          (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>      (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>         (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</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 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>      (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>         (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
+                                                         <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>          (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</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>);
@@ -101,15 +101,15 @@ const <span class="returnvalue">char</span> *        <a class="link" href="gi-GI
                                                         (<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><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</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 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</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>
 <div class="refsect1">
 <a name="gi-GIObjectInfo.description"></a><h2>Description</h2>
 <p>
-GIObjectInfo represents a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. This doesn't represent a specific
+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>
@@ -160,7 +160,7 @@ Represents an object.
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-abstract"></a><h3>g_object_info_get_abstract ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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
@@ -179,7 +179,7 @@ instantiated
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the object type is abstract</td>
+<code class="literal">TRUE</code> if the object type is abstract</td>
 </tr>
 </tbody>
 </table></div>
@@ -187,7 +187,7 @@ instantiated
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-fundamental"></a><h3>g_object_info_get_fundamental ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -206,7 +206,7 @@ G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the object type is a fundamental type</td>
+<code class="literal">TRUE</code> if the object type is a fundamental type</td>
 </tr>
 </tbody>
 </table></div>
@@ -241,7 +241,7 @@ Obtain the parent of the object type.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -266,7 +266,7 @@ Obtain the name of the objects class/type.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -292,7 +292,7 @@ function for which this object type is registered.
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-n-constants"></a><h3>g_object_info_get_n_constants ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -318,7 +318,7 @@ Obtain the number of constants that this object type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -349,7 +349,7 @@ Obtain an object type constant at index <em class="parameter"><code>n</code></em
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-n-fields"></a><h3>g_object_info_get_n_fields ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -375,7 +375,7 @@ Obtain the number of fields that this object type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -406,7 +406,7 @@ Obtain an object type field at index <em class="parameter"><code>n</code></em>.
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-n-interfaces"></a><h3>g_object_info_get_n_interfaces ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -432,7 +432,7 @@ Obtain the number of interfaces that this object type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -463,7 +463,7 @@ Obtain an object type interface at index <em class="parameter"><code>n</code></e
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-n-methods"></a><h3>g_object_info_get_n_methods ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -489,7 +489,7 @@ Obtain the number of methods that this object type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -521,9 +521,9 @@ Obtain an object type method at index <em class="parameter"><code>n</code></em>.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <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>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
+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">
@@ -555,11 +555,11 @@ returned if there's no method available with that name.
 <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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</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.  <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
+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>
@@ -598,7 +598,7 @@ to chain up if that's desired.
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-n-properties"></a><h3>g_object_info_get_n_properties ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -624,7 +624,7 @@ Obtain the number of properties that this object type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -655,7 +655,7 @@ Obtain an object type property at index <em class="parameter"><code>n</code></em
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-n-signals"></a><h3>g_object_info_get_n_signals ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -681,7 +681,7 @@ Obtain the number of signals that this object type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -713,7 +713,7 @@ Obtain an object type signal at index <em class="parameter"><code>n</code></em>.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
 <p>
 TODO
 </p>
@@ -734,7 +734,8 @@ TODO
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure.</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>
 </tr>
 </tbody>
 </table></div>
@@ -742,7 +743,7 @@ TODO
 <hr>
 <div class="refsect2">
 <a name="g-object-info-get-n-vfuncs"></a><h3>g_object_info_get_n_vfuncs ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -768,7 +769,7 @@ Obtain the number of virtual functions that this object type has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -800,12 +801,12 @@ Obtain an object type virtual function at index <em class="parameter"><code>n</c
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <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
 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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> 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 <code class="literal">NULL</code> 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.
@@ -827,7 +828,7 @@ information on invoking virtuals.
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<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>
@@ -839,14 +840,14 @@ information on invoking virtuals.
 <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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</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
 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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will 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>
@@ -887,7 +888,7 @@ to chain up if that's desired.
 <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="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> has two structures; an instance structure and a class
+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">
@@ -903,7 +904,7 @@ structure.  This function returns the metadata for the class structure.
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free with
+<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>
@@ -933,7 +934,7 @@ see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-ref-function" t
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>the symbol or <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -963,7 +964,7 @@ the base classes of this type, starting at the top type.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the function pointer or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>the function pointer or <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -992,7 +993,7 @@ see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-unref-function"
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>the symbol or <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -1022,7 +1023,7 @@ the base classes of this type, starting at the top type.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the function pointer or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>the function pointer or <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -1053,7 +1054,7 @@ see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-set-value-funct
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>the symbol or <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -1083,7 +1084,7 @@ the base classes of this type, starting at the top type.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the function pointer or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>the function pointer or <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -1114,7 +1115,7 @@ see <a class="link" href="gi-GIObjectInfo.html#g-object-info-get-get-value-funct
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the symbol or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>the symbol or <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -1144,7 +1145,7 @@ the base classes of this type, starting at the top type.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the function pointer or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>the function pointer or <code class="literal">NULL</code>
 </td>
 </tr>
 </tbody>
@@ -1196,7 +1197,7 @@ Decreases the reference count of an object instance.
 <hr>
 <div class="refsect2">
 <a name="GIObjectInfoSetValueFunction"></a><h3>GIObjectInfoSetValueFunction ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>                (*GIObjectInfoSetValueFunction)     (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+<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.
@@ -1209,7 +1210,7 @@ Update <em class="parameter"><code>value</code></em> and attach the object insta
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
+<td>a <span class="type">GValue</span>
 </td>
 </tr>
 <tr>
@@ -1222,7 +1223,7 @@ Update <em class="parameter"><code>value</code></em> and attach the object insta
 <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 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
+<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>
 </p>
@@ -1234,7 +1235,7 @@ Extract an object instance out of <em class="parameter"><code>value</code></em>
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
+<td>a <span class="type">GValue</span>
 </td>
 </tr>
 <tr>
index 072009d..0b7c63f 100644 (file)
@@ -36,7 +36,7 @@
 <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>;
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamFlags"><span class="returnvalue">GParamFlags</span></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>           (<em class="parameter"><code><a class="link" href="gi-GIPropertyInfo.html#GIPropertyInfo" title="GIPropertyInfo"><span class="type">GIPropertyInfo</span></a> *info</code></em>);
+<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>);
@@ -91,9 +91,9 @@ Represents a property of a <a class="link" href="gi-GIObjectInfo.html#GIObjectIn
 <hr>
 <div class="refsect2">
 <a name="g-property-info-get-flags"></a><h3>g_property_info_get_flags ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/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>
+<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 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-GParamSpec.html#GParamFlags"><span class="type">GParamFlags</span></a> for
+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">
index 2ecd777..0766ccd 100644 (file)
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>
+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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>
+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>);
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></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>   (<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>
 <div class="refsect1">
@@ -104,11 +104,11 @@ Represent a registered type.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       g_registered_type_info_get_type_name
+<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 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#g-type-name"><code class="function">g_type_name()</code></a> to get a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.
+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">
 <colgroup>
@@ -131,7 +131,7 @@ This type can be passed to <a href="http://library.gnome.org/devel/gobject/unsta
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       g_registered_type_info_get_type_init
+<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
@@ -153,7 +153,7 @@ Usually this is not called by langauge bindings or applications, use
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Dynamic-Loading-of-Modules.html#g-module-symbol"><code class="function">g_module_symbol()</code></a>.</td>
+passing into <code class="function">g_module_symbol()</code>.</td>
 </tr>
 </tbody>
 </table></div>
@@ -161,9 +161,9 @@ passing into <a href="http://library.gnome.org/devel/glib/unstable/glib-Dynamic-
 <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"><a href="http://library.gnome.org/devel/gobject/unstable/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>
+<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 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for this registered type or G_TYPE_NONE which a special meaning.
+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
 that the shared library which provides the type_init function for this
 <em class="parameter"><code>info</code></em> cannot be called.
@@ -181,7 +181,7 @@ that the shared library which provides the type_init function for this
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.</td>
+<td>the <span class="type">GType</span>.</td>
 </tr>
 </tbody>
 </table></div>
index 51a32f8..3b68d22 100644 (file)
@@ -36,9 +36,9 @@
 <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>;
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#GSignalFlags"><span class="returnvalue">GSignalFlags</span></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>             (<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">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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>       (<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>
 <div class="refsect1">
@@ -97,9 +97,9 @@ Represents a signal.
 <hr>
 <div class="refsect2">
 <a name="g-signal-info-get-flags"></a><h3>g_signal_info_get_flags ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/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>
+<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 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#GSignalFlags"><span class="type">GSignalFlags</span></a> for
+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">
@@ -127,7 +127,7 @@ more information about possible flag values.
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned.
+If the signal lacks a closure <code class="literal">NULL</code> will be returned.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
@@ -142,7 +142,7 @@ If the signal lacks a closure <a href="http://library.gnome.org/devel/glib/unsta
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the class closure or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<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>
@@ -151,7 +151,7 @@ If the signal lacks a closure <a href="http://library.gnome.org/devel/glib/unsta
 <hr>
 <div class="refsect2">
 <a name="g-signal-info-true-stops-emit"></a><h3>g_signal_info_true_stops_emit ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -170,7 +170,7 @@ stop the emission of the signal.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if returning true stops the signal emission</td>
+<code class="literal">TRUE</code> if returning true stops the signal emission</td>
 </tr>
 </tbody>
 </table></div>
index 8f0a488..712cec3 100644 (file)
 <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>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></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>         (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></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>              (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>       (<em class="parameter"><code><a class="link" href="gi-GIStructInfo.html#GIStructInfo" title="GIStructInfo"><span class="type">GIStructInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>            (<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-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>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>          (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);
 
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>         (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
+                                                         <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -104,7 +104,7 @@ Represents a struct.
 <hr>
 <div class="refsect2">
 <a name="g-struct-info-get-alignment"></a><h3>g_struct_info_get_alignment ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -129,7 +129,7 @@ Obtain the required alignment of the structure.
 <hr>
 <div class="refsect2">
 <a name="g-struct-info-get-size"></a><h3>g_struct_info_get_size ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -154,10 +154,10 @@ Obtain the total size of the structure.
 <hr>
 <div class="refsect2">
 <a name="g-struct-info-is-gtype-struct"></a><h3>g_struct_info_is_gtype_struct ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> or <span class="type">GInterface</span>.  This function is mainly useful to hide this kind of structure
+<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">
@@ -174,7 +174,7 @@ from generated public APIs.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if this is a class struct, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
+<code class="literal">TRUE</code> if this is a class struct, <code class="literal">FALSE</code> otherwise</td>
 </tr>
 </tbody>
 </table></div>
@@ -182,7 +182,7 @@ from generated public APIs.
 <hr>
 <div class="refsect2">
 <a name="g-struct-info-is-foreign"></a><h3>g_struct_info_is_foreign ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -206,7 +206,7 @@ TODO
 <hr>
 <div class="refsect2">
 <a name="g-struct-info-get-n-fields"></a><h3>g_struct_info_get_n_fields ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -232,7 +232,7 @@ Obtain the number of fields this structure has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
 <p>
 Obtain the type information for field with specified index.
 </p>
@@ -263,7 +263,7 @@ when done. <span class="annotation">[<acronym title="Free data after the code is
 <hr>
 <div class="refsect2">
 <a name="g-struct-info-get-n-methods"></a><h3>g_struct_info_get_n_methods ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -289,7 +289,7 @@ Obtain the number of methods this structure has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
 <p>
 Obtain the type information for method with specified index.
 </p>
@@ -321,7 +321,7 @@ when done. <span class="annotation">[<acronym title="Free data after the code is
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <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>
index a87b79d..7aa1b6a 100644 (file)
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>                (<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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></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>               (<em class="parameter"><code><a class="link" href="gi-GIBaseInfo.html#GIInfoType" title="enum GIInfoType"><span class="type">GIInfoType</span></a> type</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>              (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
+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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>        (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>    (<em class="parameter"><code><a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GITypeInfo"><span class="type">GITypeInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>      (<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>
@@ -106,7 +106,7 @@ Represents type information, direction, transfer etc.
 <hr>
 <div class="refsect2">
 <a name="g-type-tag-to-string"></a><h3>g_type_tag_to_string ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
 </p>
@@ -130,7 +130,7 @@ Obtain a string representation of <em class="parameter"><code>type</code></em>
 <hr>
 <div class="refsect2">
 <a name="g-info-type-to-string"></a><h3>g_info_type_to_string ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
 </p>
@@ -154,7 +154,7 @@ Obtain a string representation of <em class="parameter"><code>type</code></em>
 <hr>
 <div class="refsect2">
 <a name="g-type-info-is-pointer"></a><h3>g_type_info_is_pointer ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -172,7 +172,7 @@ Obtain if the type is passed as a reference.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it is a pointer</td>
+<code class="literal">TRUE</code> if it is a pointer</td>
 </tr>
 </tbody>
 </table></div>
@@ -207,7 +207,7 @@ of type tags.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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>
@@ -257,7 +257,7 @@ a concrete GObject, a GInterface, a structure, etc. using <a class="link" href="
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<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>
@@ -267,7 +267,7 @@ a concrete GObject, a GInterface, a structure, etc. using <a class="link" href="
 <hr>
 <div class="refsect2">
 <a name="g-type-info-get-array-length"></a><h3>g_type_info_get_array_length ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -293,7 +293,7 @@ Obtain the array length of the type. The type tag must be a
 <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"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -319,10 +319,10 @@ Obtain the fixed array size of the type. The type tag must be a
 <hr>
 <div class="refsect2">
 <a name="g-type-info-is-zero-terminated"></a><h3>g_type_info_is_zero_terminated ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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 <a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will returned.
+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">
 <colgroup>
@@ -338,7 +338,7 @@ Obtain if the last element of the array is <a href="http://library.gnome.org/dev
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if zero terminated</td>
+<code class="literal">TRUE</code> if zero terminated</td>
 </tr>
 </tbody>
 </table></div>
index 61a9755..2b6eb14 100644 (file)
@@ -70,25 +70,25 @@ union               <a class="link" href="gi-GITypelib.html#SimpleTypeBlob" titl
                     <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> index</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> error_domain</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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> (<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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</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>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
+<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>
 </div>
@@ -302,141 +302,141 @@ collection of meta-information, such as the number of entries and dependencies.
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> <em class="structfield"><code><a name="Header.magic"></a>magic</code></em>[16];</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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
 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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.reserved"></a>reserved</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.directory"></a>directory</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.attributes"></a>attributes</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.dependencies"></a>dependencies</code></em>;</span></p></td>
+<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 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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.size"></a>size</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.namespace"></a>namespace</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.nsversion"></a>nsversion</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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
 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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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
 the first flexible array member. Recording this information here allows
 to write parser which continue to work if the format is extended by
@@ -444,15 +444,15 @@ adding new fields before the first flexible array member in
 variable-size blobs.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Header.sections"></a>sections</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="Header.padding"></a>padding</code></em>[6];</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -509,12 +509,12 @@ with different tradeoffs from the format minor version.
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Section.id"></a>id</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="Section.offset"></a>offset</code></em>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -546,24 +546,24 @@ the first 8 bytes (the reserved flags may be used by some blob types)
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.local"></a>local</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="DirEntry.reserved"></a>reserved</code></em> :15;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="DirEntry.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="DirEntry.offset"></a>offset</code></em>;</span></p></td>
+<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.
 Otherwise, it is the offset of the namespace in which the blob has to be
 looked up by name.</td>
@@ -592,23 +592,23 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved"></a>reserved</code></em> : 8;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved2"></a>reserved2</code></em> :16;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.pointer"></a>pointer</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.reserved3"></a>reserved3</code></em> : 2;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SimpleTypeBlobFlags.tag"></a>tag</code></em> : 5;</span></p></td>
+<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>
 </tr>
@@ -654,7 +654,7 @@ have one of the upper 24 bits set.
 <td>TODO</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SimpleTypeBlob.offset"></a>offset</code></em>;</span></p></td>
+<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.
 Unlike other offsets, this is in words (ie 32bit units) rather
 than bytes.</td>
@@ -699,27 +699,27 @@ offset which points to a TypeBlob.
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ArgBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.in"></a>in</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.out"></a>out</code></em> : 1;</span></p></td>
+<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
 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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.allow-none"></a>allow_none</code></em> : 1;</span></p></td>
+<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="ArgBlob.allow-none"></a>allow_none</code></em> : 1;</span></p></td>
 <td>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
@@ -727,25 +727,25 @@ valid GList and GSList value, thus allow_none will normally be set
 for parameters of these types.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.optional"></a>optional</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
 over ownership of the parameter value. For an out parameter, it indicates
 that the caller is responsible for freeing the return value.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
 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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
 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
@@ -753,31 +753,31 @@ return value, the actual return value of the function should be either
 void or a boolean indicating the success of the call.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.scope"></a>scope</code></em> : 3;</span></p></td>
+<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
 the scope of the user_data and the callback function pointer itself
 (for languages that emit code at run-time).</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.skip"></a>skip</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="ArgBlob.reserved"></a>reserved</code></em> :20;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="ArgBlob.closure"></a>closure</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint8"><span class="type">gint8</span></a> <em class="structfield"><code><a name="ArgBlob.destroy"></a>destroy</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArgBlob.padding"></a>padding</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
@@ -818,32 +818,32 @@ TODO
 <td>Describes the type of the return value. See details below.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
 is a container type. If the flag is set, the caller is resonsible for
 freeing the container, but not its contents.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignatureBlob.reserved"></a>reserved</code></em> :12;</span></p></td>
+<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="SignatureBlob.reserved"></a>reserved</code></em> :12;</span></p></td>
 <td>Reserved for future use.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
@@ -879,20 +879,20 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CommonBlob.reserved"></a>reserved</code></em> :15;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CommonBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -934,69 +934,69 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.setter"></a>setter</code></em> : 1;</span></p></td>
+<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
 prefer to not bind individual setters and rely on the generic
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-set"><code class="function">g_object_set()</code></a>.</td>
+<code class="function">g_object_set()</code>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.getter"></a>getter</code></em> : 1;</span></p></td>
+<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
 prefer to not bind individual getters and rely on the generic
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-get"><code class="function">g_object_get()</code></a>.</td>
+<code class="function">g_object_get()</code>.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.constructor"></a>constructor</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.throws"></a>throws</code></em> : 1;</span></p></td>
+<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>TODO</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.index"></a>index</code></em> :10;</span></p></td>
+<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
 in the array of properties of the containing interface, or index
 of the virtual function that this function wraps.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.symbol"></a>symbol</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FunctionBlob.signature"></a>signature</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.reserved"></a>reserved</code></em> : 15;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FunctionBlob.reserved2"></a>reserved2</code></em> : 16;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -1024,23 +1024,23 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="CallbackBlob.reserved"></a>reserved</code></em> :15;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CallbackBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="CallbackBlob.signature"></a>signature</code></em>;</span></p></td>
+<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>
 </tr>
@@ -1068,24 +1068,24 @@ If the interface is an enum of flags type, is_pointer is 0, otherwise it is 1.
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.pointer"></a>pointer</code></em> :1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved"></a>reserved</code></em> :2;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.tag"></a>tag</code></em> :5;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceTypeBlob.interface"></a>interface</code></em>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -1109,11 +1109,11 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeDimension.length"></a>length</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeDimension.size"></a>size</code></em>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -1148,40 +1148,40 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.pointer"></a>pointer</code></em> :1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.reserved"></a>reserved</code></em> :2;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.tag"></a>tag</code></em> :5;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> value.</td>
+<span class="type">NULL</span> value.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
 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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
 GByteArray. If something other than a C array, the length and element
 size are implicit in the structure.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ArrayTypeBlob.reserved2"></a>reserved2</code></em> :3;</span></p></td>
+<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>
 </tr>
 <tr>
@@ -1219,23 +1219,23 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.pointer"></a>pointer</code></em> :1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.reserved"></a>reserved</code></em> :2;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.tag"></a>tag</code></em> :5;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ParamTypeBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
@@ -1269,27 +1269,27 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.pointer"></a>pointer</code></em> :1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.reserved"></a>reserved</code></em> :2;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.tag"></a>tag</code></em> :5;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ErrorTypeBlob.domains"></a>domains</code></em>[];</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -1316,23 +1316,23 @@ Values commonly occur in enums and flags.
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.reserved"></a>reserved</code></em> :30;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ValueBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="ValueBlob.value"></a>value</code></em>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -1367,37 +1367,37 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FieldBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.readable"></a>readable</code></em> :1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.writable"></a>writable</code></em> :1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.reserved"></a>reserved</code></em> :5;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="FieldBlob.bits"></a>bits</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FieldBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
@@ -1431,31 +1431,31 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.unregistered"></a>unregistered</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.reserved"></a>reserved</code></em> :14;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RegisteredTypeBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
@@ -1499,67 +1499,67 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.unregistered"></a>unregistered</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.alignment"></a>alignment</code></em> : 6;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.foreign"></a>foreign</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="StructBlob.reserved"></a>reserved</code></em> : 6;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String name of the associated <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String naming the symbol which gets the runtime <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.size"></a>size</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="StructBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -1602,65 +1602,65 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.unregistered"></a>unregistered</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.discriminated"></a>discriminated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.alignment"></a>alignment</code></em> : 6;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="UnionBlob.reserved"></a>reserved</code></em> : 7;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String name of the associated <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String naming the symbol which gets the runtime <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.size"></a>size</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="UnionBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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
 discriminator of a discriminated union is located. The value 0xFFFF
 indicates that the discriminator offset is unknown.</td>
@@ -1706,51 +1706,51 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.unregistered"></a>unregistered</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="EnumBlob.reserved"></a>reserved</code></em> : 9;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="EnumBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String name of the associated <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String naming the symbol which gets the runtime <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String naming the <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> domain this enum is associated with</td>
+<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>
 </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>
@@ -1789,48 +1789,48 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.readable"></a>readable</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.writable"></a>writable</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.construct"></a>construct</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
 ownership of the value. When reading, the returned value needs to be
 released by the caller.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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
 ownership of the container, but not of its contents, is transferred.
 This is typically the case when reading lists of statically allocated
 things.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.reserved"></a>reserved</code></em> :25;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="PropertyBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
@@ -1875,64 +1875,64 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.detailed"></a>detailed</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.action"></a>action</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="SignalBlob.reserved"></a>reserved</code></em> : 6;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="SignalBlob.signature"></a>signature</code></em>;</span></p></td>
+<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>
 </tr>
@@ -1971,63 +1971,63 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.throws"></a>throws</code></em> : 1;</span></p></td>
+<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>TODO</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved"></a>reserved</code></em> :11;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.signal"></a>signal</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.invoker"></a>invoker</code></em> : 10;</span></p></td>
+<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
 in the class structure of the method. If no method is known, this value
 will be 0x3ff.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved2"></a>reserved2</code></em> : 6;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="VFuncBlob.signature"></a>signature</code></em>;</span></p></td>
+<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>
 </tr>
@@ -2081,113 +2081,113 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.abstract"></a>abstract</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.fundamental"></a>fundamental</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved"></a>reserved</code></em> :13;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String name of the associated <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
-<td>String naming the symbol which gets the runtime <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.parent"></a>parent</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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
 inserted between the arrays to ensure that they start on a 32bit
 boundary.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="ObjectBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
 <td>Reserved for future use.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ObjectBlob.reserved4"></a>reserved4</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ObjectBlob.interfaces"></a>interfaces</code></em>[];</span></p></td>
+<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>
 </tr>
@@ -2232,73 +2232,73 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved"></a>reserved</code></em> :15;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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
 inserted between the arrays to ensure that they start on a 32bit
 boundary.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.padding"></a>padding</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="InterfaceBlob.reserved3"></a>reserved3</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="InterfaceBlob.prerequisites"></a>prerequisites</code></em>[];</span></p></td>
+<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>
 </tr>
@@ -2332,19 +2332,19 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.deprecated"></a>deprecated</code></em> : 1;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="ConstantBlob.reserved"></a>reserved</code></em> :15;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
@@ -2353,15 +2353,15 @@ TODO
 or string.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.size"></a>size</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.offset"></a>offset</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="ConstantBlob.reserved2"></a>reserved2</code></em>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -2386,17 +2386,17 @@ TODO
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.offset"></a>offset</code></em>;</span></p></td>
+<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.
 Attributes are kept sorted by offset, so that the attributes of an
 entry can be found by a binary search.</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.name"></a>name</code></em>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="AttributeBlob.value"></a>value</code></em>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -2406,7 +2406,7 @@ entry can be found by a binary search.</td>
 <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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> index</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">guint16</span> index</code></em>);</pre>
 <p>
 TODO
 </p>
@@ -2465,7 +2465,7 @@ TODO
 <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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</code></em>);</pre>
+                                                         <em class="parameter"><code>const <span class="type">gchar</span> *gtype_name</code></em>);</pre>
 <p>
 TODO
 </p>
@@ -2495,7 +2495,7 @@ TODO
 <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="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> error_domain</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">GQuark</span> error_domain</code></em>);</pre>
 <p>
 TODO
 </p>
@@ -2523,8 +2523,8 @@ TODO
 <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="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *gtype_name</code></em>);</pre>
+<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>
@@ -2645,7 +2645,7 @@ TODO
 <hr>
 <div class="refsect2">
 <a name="g-typelib-error-quark"></a><h3>g_typelib_error_quark ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -2663,8 +2663,8 @@ TODO
 <hr>
 <div class="refsect2">
 <a name="g-typelib-validate"></a><h3>g_typelib_validate ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<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>
index 6dc81b3..f9c3a14 100644 (file)
 <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>;
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>           (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>          (<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>       (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>
+                                                         <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></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>               (<em class="parameter"><code><a class="link" href="gi-GIUnionInfo.html#GIUnionInfo" title="GIUnionInfo"><span class="type">GIUnionInfo</span></a> *info</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></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>          (<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>
 <div class="refsect1">
@@ -89,7 +89,7 @@ Represents a union.
 <hr>
 <div class="refsect2">
 <a name="g-union-info-get-n-fields"></a><h3>g_union_info_get_n_fields ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -115,7 +115,7 @@ Obtain the number of fields this union has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
 <p>
 Obtain the type information for field with specified index.
 </p>
@@ -146,7 +146,7 @@ when done. <span class="annotation">[<acronym title="Free data after the code is
 <hr>
 <div class="refsect2">
 <a name="g-union-info-get-n-methods"></a><h3>g_union_info_get_n_methods ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -172,7 +172,7 @@ Obtain the number of methods this union has.
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">gint</span> n</code></em>);</pre>
 <p>
 Obtain the type information for method with specified index.
 </p>
@@ -203,7 +203,7 @@ when done. <span class="annotation">[<acronym title="Free data after the code is
 <hr>
 <div class="refsect2">
 <a name="g-union-info-is-discriminated"></a><h3>g_union_info_is_discriminated ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -221,7 +221,7 @@ Return true if this union contains discriminator field.
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if this is a discriminated union, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
+<code class="literal">TRUE</code> if this is a discriminated union, <code class="literal">FALSE</code> otherwise</td>
 </tr>
 </tbody>
 </table></div>
@@ -229,7 +229,7 @@ Return true if this union contains discriminator field.
 <hr>
 <div class="refsect2">
 <a name="g-union-info-get-discriminator-offset"></a><h3>g_union_info_get_discriminator_offset ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                g_union_info_get_discriminator_offset
+<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.
@@ -284,7 +284,7 @@ when done. <span class="annotation">[<acronym title="Free data after the code is
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n</code></em>);</pre>
+                                                         <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
 union field is the active one if discriminator contains this
@@ -318,7 +318,7 @@ when done. <span class="annotation">[<acronym title="Free data after the code is
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+                                                         <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>
@@ -349,7 +349,7 @@ when done. <span class="annotation">[<acronym title="Free data after the code is
 <hr>
 <div class="refsect2">
 <a name="g-union-info-get-size"></a><h3>g_union_info_get_size ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
@@ -374,7 +374,7 @@ Obtain the total size of the union.
 <hr>
 <div class="refsect2">
 <a name="g-union-info-get-alignment"></a><h3>g_union_info_get_alignment ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
index f852643..267fe03 100644 (file)
 <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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></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>             (<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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>            (<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="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementor_gtype</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <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><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementor</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
+                                                         <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
 </pre>
 </div>
 <div class="refsect1">
@@ -120,7 +120,7 @@ Flags of a <a class="link" href="gi-GIVFuncInfo.html#GIVFuncInfo" title="GIVFunc
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<td>Includes a <span class="type">GError</span>
 </td>
 </tr>
 </tbody>
@@ -155,7 +155,7 @@ more information about possible flag values.
 <hr>
 <div class="refsect2">
 <a name="g-vfunc-info-get-offset"></a><h3>g_vfunc_info_get_offset ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>
+<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.
@@ -200,7 +200,7 @@ this virtual function belongs.
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td>the signal or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none set. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<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>
@@ -230,7 +230,7 @@ Not all virtuals will have invokers.
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Free it with
+<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>
@@ -240,9 +240,9 @@ Not all virtuals will have invokers.
 <hr>
 <div class="refsect2">
 <a name="g-vfunc-info-get-address"></a><h3>g_vfunc_info_get_address ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementor_gtype</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<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>.
@@ -261,16 +261,16 @@ is the implementation for <em class="parameter"><code>info</code></em>.
 <tr>
 <td><p><span class="term"><em class="parameter"><code>implementor_gtype</code></em> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementing this virtual function</td>
+<span class="type">GType</span> implementing this virtual function</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>return location for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<td>return location for 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>address to a function or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error happened</td>
+<td>address to a function or <code class="literal">NULL</code> if an error happened</td>
 </tr>
 </tbody>
 </table></div>
@@ -278,14 +278,14 @@ is the implementation for <em class="parameter"><code>info</code></em>.
 <hr>
 <div class="refsect2">
 <a name="g-vfunc-info-invoke"></a><h3>g_vfunc_info_invoke ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> implementor</code></em>,
+<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+                                                         <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
 arguments. Note that inout parameters must appear in both
@@ -304,13 +304,13 @@ argument lists.
 <tr>
 <td><p><span class="term"><em class="parameter"><code>implementor</code></em> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the type that implements this virtual function</td>
+<span class="type">GType</span> of the type that implements this virtual function</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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+can be <code class="literal">NULL</code>
 </td>
 </tr>
 <tr>
@@ -321,7 +321,7 @@ can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macro
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+may be <code class="literal">NULL</code>
 </td>
 </tr>
 <tr>
@@ -332,18 +332,18 @@ may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macro
 <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
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<code class="literal">NULL</code>
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+<td>return location for detailed error information, or <code class="literal">NULL</code>
 </td>
 </tr>
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the function has been invoked, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if an
+<code class="literal">TRUE</code> if the function has been invoked, <code class="literal">FALSE</code> if an
 error occurred.</td>
 </tr>
 </tbody>
index acc0c15..b383a82 100644 (file)
@@ -87,87 +87,87 @@ Stores an argument of varying type
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -284,7 +284,7 @@ The type tag of a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GI
 </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 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
+<td>a <span class="type">GType</span>
 </td>
 </tr>
 <tr>
@@ -310,22 +310,22 @@ The type tag of a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" title="GI
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>
+<td>a <span class="type">GList</span>
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a>
+<td>a <span class="type">GSList</span>
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>
+<td>a <span class="type">GHashTable</span>
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<td>a <span class="type">GError</span>
 </td>
 </tr>
 <tr>
@@ -367,12 +367,12 @@ The type of array in a <a class="link" href="gi-GITypeInfo.html#GITypeInfo" titl
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> array
+<td>a <span class="type">GPtrArray</span> array
 </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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> array
+<td>a <span class="type">GByteArray</span> array
 </td>
 </tr>
 </tbody>
index a80dc27..ff3aae8 100644 (file)
@@ -48,9 +48,9 @@
         <td class="listing_lines" align="right"><pre>1
 2
 3</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">/&gt;</span>
-<span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">&lt;api version=<span class="number">&quot;1.0&quot;</span>&gt;
+      &lt;<span class="type">namespace</span>/&gt;
+    &lt;/api&gt;</pre></td>
       </tr>
     </tbody>
   </table>
 4
 5
 6</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">=</span><span class="string">"Gtk"</span><span class="symbol">&gt;</span>
-<span class="normal">     </span><span class="symbol">&lt;</span><span class="normal">class</span><span class="symbol">/&gt;</span>
-<span class="normal">     </span><span class="symbol">&lt;</span><span class="normal">function</span><span class="symbol">/&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;/</span><span class="normal">namespace</span><span class="symbol">&gt;</span>
-<span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">&lt;api version=<span class="number">&quot;1.0&quot;</span>&gt;
+      &lt;<span class="type">namespace</span>=<span class="number">&quot;Gtk&quot;</span>&gt;
+         &lt;<span class="type">class</span>/&gt;
+         &lt;function/&gt;
+      &lt;/<span class="type">namespace</span>&gt;
+    &lt;/api&gt;</pre></td>
       </tr>
     </tbody>
   </table>
 8
 9
 10</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">=</span><span class="string">"Gtk"</span><span class="symbol">&gt;</span>
-<span class="normal">    </span><span class="symbol">&lt;</span><span class="usertype">class</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"Widget"</span><span class="symbol">&gt;</span>
-<span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">constructor</span><span class="symbol">/&gt;</span>
-<span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">field</span><span class="symbol">/&gt;</span>
-<span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">method</span><span class="symbol">/&gt;</span>
-<span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">property</span><span class="symbol">/&gt;</span>
-<span class="normal">    </span><span class="symbol">&lt;</span><span class="normal">class</span><span class="symbol">&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;/</span><span class="normal">namespace</span><span class="symbol">&gt;</span>
-<span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">&lt;api version=<span class="number">&quot;1.0&quot;</span>&gt;
+      &lt;<span class="type">namespace</span>=<span class="number">&quot;Gtk&quot;</span>&gt;
+        &lt;<span class="type">class</span> name=<span class="number">&quot;Widget&quot;</span>&gt;
+           &lt;constructor/&gt;
+           &lt;field/&gt;
+           &lt;method/&gt;
+           &lt;property/&gt;
+        &lt;<span class="type">class</span>&gt;
+      &lt;/<span class="type">namespace</span>&gt;
+    &lt;/api&gt;</pre></td>
       </tr>
     </tbody>
   </table>
 7
 8
 9</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">=</span><span class="string">"Gtk"</span><span class="symbol">&gt;</span>
-<span class="normal">    </span><span class="symbol">&lt;</span><span class="usertype">interface</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"Buildable"</span><span class="symbol">&gt;</span>
-<span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">field</span><span class="symbol">/&gt;</span>
-<span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">method</span><span class="symbol">/&gt;</span>
-<span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">property</span><span class="symbol">/&gt;</span>
-<span class="normal">    </span><span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;/</span><span class="normal">namespace</span><span class="symbol">&gt;</span>
-<span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">&lt;api version=<span class="number">&quot;1.0&quot;</span>&gt;
+      &lt;<span class="type">namespace</span>=<span class="number">&quot;Gtk&quot;</span>&gt;
+        &lt;interface name=<span class="number">&quot;Buildable&quot;</span>&gt;
+           &lt;field/&gt;
+           &lt;method/&gt;
+           &lt;property/&gt;
+        &lt;interface&gt;
+      &lt;/<span class="type">namespace</span>&gt;
+    &lt;/api&gt;</pre></td>
       </tr>
     </tbody>
   </table>
 4
 5
 6</pre></td>
-        <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">=</span><span class="string">"Gtk"</span><span class="symbol">&gt;</span>
-<span class="normal">    </span><span class="symbol">&lt;</span><span class="usertype">function</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"init"</span><span class="symbol">&gt;</span>
-<span class="normal">    </span><span class="symbol">&lt;/</span><span class="normal">function</span><span class="symbol">&gt;</span>
-<span class="normal">  </span><span class="symbol">&lt;/</span><span class="normal">namespace</span><span class="symbol">&gt;</span>
-<span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
+        <td class="listing_code"><pre class="programlisting">&lt;api version=<span class="number">&quot;1.0&quot;</span>&gt;
+      &lt;<span class="type">namespace</span>=<span class="number">&quot;Gtk&quot;</span>&gt;
+        &lt;function name=<span class="number">&quot;init&quot;</span>&gt;
+        &lt;/function&gt;
+      &lt;/<span class="type">namespace</span>&gt;
+    &lt;/api&gt;</pre></td>
       </tr>
     </tbody>
   </table>
index c9d9924..d453c6b 100644 (file)
 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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_pointer</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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>        (<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-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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> addr</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</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>
@@ -127,7 +127,7 @@ TODO
 <td>the cif</td>
 </tr>
 <tr>
-<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/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>;</span></p></td>
+<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>
 </tr>
 </tbody>
@@ -146,7 +146,7 @@ TODO
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_pointer</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">gboolean</span> is_pointer</code></em>);</pre>
 <p>
 TODO
 </p>
@@ -237,9 +237,9 @@ Also see <span class="citerefentry"><span class="refentrytitle">ffi_call</span>(
 <hr>
 <div class="refsect2">
 <a name="g-function-info-prep-invoker"></a><h3>g_function_info_prep_invoker ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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>,
+<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+                                                         <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
 of information needed to invoke the C function corresponding to
@@ -267,13 +267,13 @@ inside the binding's function mapping.
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<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 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise with <em class="parameter"><code>error</code></em> set.</td>
+<code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise with <em class="parameter"><code>error</code></em> set.</td>
 </tr>
 </tbody>
 </table></div>
@@ -281,10 +281,10 @@ inside the binding's function mapping.
 <hr>
 <div class="refsect2">
 <a name="g-function-invoker-new-for-address"></a><h3>g_function_invoker_new_for_address ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_function_invoker_new_for_address  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> addr</code></em>,
+<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><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+                                                         <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
 of information needed to invoke the C function corresponding to
@@ -316,13 +316,13 @@ inside the binding's function mapping.
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<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 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise with <em class="parameter"><code>error</code></em> set.</td>
+<code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise with <em class="parameter"><code>error</code></em> set.</td>
 </tr>
 </tbody>
 </table></div>
@@ -354,7 +354,7 @@ itself however.
 <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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+                                                         <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
 <p>
 Prepares a callback for ffi invocation.
 </p>
index b88811f..82c74c3 100644 (file)
 </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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **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><a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a> *mfile</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
+<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>);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *symbol_name</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *symbol</code></em>);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <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>);
+<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>
@@ -60,12 +60,12 @@ TODO
 <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><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>d when the
+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">
@@ -84,7 +84,7 @@ repository is destroyed.
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<td>a <span class="type">GError</span>
 </td>
 </tr>
 <tr>
@@ -98,9 +98,9 @@ repository is destroyed.
 <hr>
 <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 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *memory</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<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>
@@ -120,7 +120,7 @@ Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypeli
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<td>A <span class="type">GError</span>
 </td>
 </tr>
 <tr>
@@ -134,10 +134,10 @@ Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypeli
 <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="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a> *mfile</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<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 <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a>.
+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">
 <colgroup>
@@ -147,11 +147,11 @@ Creates a new <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypeli
 <tbody>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>mfile</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#GMappedFile"><span class="type">GMappedFile</span></a>, that will be free'd when the repository is destroyed</td>
+<td>a <span class="type">GMappedFile</span>, that will be free'd when the repository is destroyed</td>
 </tr>
 <tr>
 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
-<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
+<td>a <span class="type">GError</span>
 </td>
 </tr>
 <tr>
@@ -184,9 +184,9 @@ Free a <a class="link" href="gi-gitypelib.html#GITypelib" title="GITypelib"><spa
 <hr>
 <div class="refsect2">
 <a name="g-typelib-symbol"></a><h3>g_typelib_symbol ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/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="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *symbol_name</code></em>,
-                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *symbol</code></em>);</pre>
+<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>
@@ -211,7 +211,7 @@ Loads a symbol from <a class="link" href="gi-gitypelib.html#GITypelib" title="GI
 <tr>
 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 <td>
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> on success</td>
+<span class="type">TRUE</span> on success</td>
 </tr>
 </tbody>
 </table></div>
@@ -219,7 +219,7 @@ Loads a symbol from <a class="link" href="gi-gitypelib.html#GITypelib" title="GI
 <hr>
 <div class="refsect2">
 <a name="g-typelib-get-namespace"></a><h3>g_typelib_get_namespace ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/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>
+<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>
index 37fabeb..deca8ed 100644 (file)
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GObject Introspection Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      This document is for GObject Introspection version 1.39.0
+      This document is for GObject Introspection version 1.39.3
 .
       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>.
index a8dc63b..d19178b 100644 (file)
  * An example of how to us this:
  * |[
  *     /<!-- -->* Make sure we don't do any unnecessary work if already cancelled *<!-- -->/
- *     if (g_cancellable_set_error_if_cancelled (cancellable))
+ *     if (g_cancellable_set_error_if_cancelled (cancellable, error))
  *       return;
  *
  *     /<!-- -->* Set up all the data needed to be able to
  * @parameter will always be of the expected type.  In the event that
  * an incorrect type was given, no signal will be emitted.
  *
+ * Since GLib 2.40, if no handler is connected to this signal then the
+ * default behaviour for boolean-stated actions with a %NULL parameter
+ * type is to toggle them via the #GSimpleAction::change-state signal.
+ * For stateful actions where the state type is equal to the parameter
+ * type, the default is to forward them directly to
+ * #GSimpleAction::change-state.  This should allow almost all users
+ * of #GSimpleAction to connect only one handler or the other.
+ *
  * Since: 2.28
  */
 
  *       @client is about to make a connection to a remote host;
  *       either a proxy server or the destination server itself.
  *       @connection is the #GSocketConnection, which is not yet
- *       connected.
+ *       connected.  Since GLib 2.40, you can access the remote
+ *       address via g_socket_connection_get_remote_address().
  *     </para></listitem>
  *   </varlistentry>
  *   <varlistentry>
 /**
  * GTestDBus:flags:
  *
- * #GTestDBusFlags specifying the behaviour of the dbus session
+ * #GTestDBusFlags specifying the behaviour of the D-Bus session.
  *
  * Since: 2.34
  */
  * organized fashion.
  *
  * An extension point is identified by a name, and it may optionally
- * require that any implementation must by of a certain type (or derived
+ * require that any implementation must be of a certain type (or derived
  * thereof). Use g_io_extension_point_register() to register an
  * extension point, and g_io_extension_point_set_required_type() to
  * set a required type.
  * SECTION:gaction
  * @title: GAction
  * @short_description: An action interface
+ * @include: gio/gio.h
  *
  * #GAction represents a single named action.
  *
  *
  * #GAction is merely the interface to the concept of an action, as
  * described above.  Various implementations of actions exist, including
- * #GSimpleAction and #GtkAction.
+ * #GSimpleAction.
  *
  * In all cases, the implementing class is responsible for storing the
  * name of the action, the parameter type, the enabled state, the
  * SECTION:gactiongroup
  * @title: GActionGroup
  * @short_description: A group of actions
+ * @include: gio/gio.h
  * @see_also: #GAction
  *
  * #GActionGroup represents a group of actions. Actions can be used to
 /**
  * SECTION:gactiongroupexporter
  * @title: GActionGroup exporter
+ * @include: gio/gio.h
  * @short_description: Export GActionGroups on D-Bus
  * @see_also: #GActionGroup, #GDBusActionGroup
  *
 /**
  * SECTION:gactionmap
  * @title: GActionMap
+ * @include: gio/gio.h
  * @short_description: Interface for action containers
  *
  * The GActionMap interface is implemented by #GActionGroup
  * SECTION:gapplication
  * @title: GApplication
  * @short_description: Core application class
+ * @include: gio/gio.h
  *
  * A #GApplication is the foundation of an application.  It wraps some
  * low-level platform-specific services and is intended to act as the
  * SECTION:gapplicationcommandline
  * @title: GApplicationCommandLine
  * @short_description: A command-line invocation of an application
+ * @include: gio/gio.h
  * @see_also: #GApplication
  *
  * #GApplicationCommandLine represents a command-line invocation of
  * SECTION:gdbusactiongroup
  * @title: GDBusActionGroup
  * @short_description: A D-Bus GActionGroup implementation
+ * @include: gio/gio.h
  * @see_also: <link linkend="gio-GActionGroup-exporter">GActionGroup exporter</link>
  *
  * #GDBusActionGroup is an implementation of the #GActionGroup
  * SECTION:gdbusmenumodel
  * @title: GDBusMenuModel
  * @short_description: A D-Bus GMenuModel implementation
+ * @include: gio/gio.h
  * @see_also: <link linkend="gio-GMenuModel-exporter">GMenuModel Exporter</link>
  *
  * #GDBusMenuModel is an implementation of #GMenuModel that can be used
 /**
  * SECTION:ginetaddress
  * @short_description: An IPv4/IPv6 address
+ * @include: gio/gio.h
  *
  * #GInetAddress represents an IPv4 or IPv6 internet address. Use
  * g_resolver_lookup_by_name() or g_resolver_lookup_by_name_async() to
 /**
  * SECTION:ginetaddressmask
  * @short_description: An IPv4/IPv6 address mask
+ * @include: gio/gio.h
  *
  * #GInetAddressMask represents a range of IPv4 or IPv6 addresses
  * described by a base address and a length indicating how many bits
 /**
  * SECTION:ginetsocketaddress
  * @short_description: Internet GSocketAddress
+ * @include: gio/gio.h
  *
  * An IPv4 or IPv6 socket address; that is, the combination of a
  * #GInetAddress and a port number.
  * SECTION:gmenu
  * @title: GMenu
  * @short_description: A simple implementation of GMenuModel
+ * @include: gio/gio.h
  *
  * #GMenu is a simple implementation of #GMenuModel.
  * You populate a #GMenu by adding #GMenuItem instances to it.
  * SECTION:gmenuexporter
  * @title: GMenuModel exporter
  * @short_description: Export GMenuModels on D-Bus
+ * @include: gio/gio.h
  * @see_also: #GMenuModel, #GDBusMenuModel
  *
  * These functions support exporting a #GMenuModel on D-Bus.
  * SECTION:gmenumodel
  * @title: GMenuModel
  * @short_description: An abstract class representing the contents of a menu
+ * @include: gio/gio.h
  * @see_also: #GActionGroup
  *
  * #GMenuModel represents the contents of a menu -- an ordered list of
 /**
  * SECTION:gnotification
  * @short_description: User Notifications (pop up messages)
+ * @include: gio/gio.h
  *
  * #GNotification is a mechanism for creating a notification to be shown
  * to the user -- typically as a pop-up notification presented by the
 /**
  * SECTION:gpermission
  * @title: GPermission
- * @short_description: An object representing the permission to perform
- *                     a certain action
+ * @short_description: An object representing the permission
+ *     to perform a certain action
+ * @include: gio/gio.h
  *
  * A #GPermission represents the status of the caller's permission to
  * perform a certain action.
  * SECTION:gpropertyaction
  * @title: GPropertyAction
  * @short_description: A GAction reflecting a GObject property
+ * @include: gio/gio.h
  *
  * A #GPropertyAction is a way to get a #GAction with a state value
  * reflecting and controlling the value of a #GObject property.
 /**
  * SECTION:gproxy
  * @short_description: Interface for proxy handling
+ * @include: gio/gio.h
  *
  * A #GProxy handles connecting to a remote host via a given type of
  * proxy server. It is implemented by the 'gio-proxy' extension point.
 /**
  * SECTION:gproxyaddress
  * @short_description: An internet address with proxy information
+ * @include: gio/gio.h
  *
  * Support for proxied #GInetSocketAddress.
  */
  * SECTION:gremoteactiongroup
  * @title: GRemoteActionGroup
  * @short_description: A GActionGroup that interacts with other processes
+ * @include: gio/gio.h
  *
  * The GRemoteActionGroup interface is implemented by #GActionGroup
  * instances that either transmit action invocations to other processes
 /**
  * SECTION:gsettings
  * @short_description: High-level API for application settings
+ * @include: gio/gio.h
  *
  * The #GSettings class provides a convenient API for storing and retrieving
  * application settings.
 
 /**
  * SECTION:gsettingsschema
- * @short_description: Introspecting and controlling the loading of
- *                     GSettings schemas
+ * @short_description: Introspecting and controlling the loading
+ *     of GSettings schemas
+ * @include: gio/gio.h
  *
  * The #GSettingsSchemaSource and #GSettingsSchema APIs provide a
  * mechanism for advanced control over the loading of schemas and a
  * SECTION:gsimpleaction
  * @title: GSimpleAction
  * @short_description: A simple GAction implementation
+ * @include: gio/gio.h
  *
  * A #GSimpleAction is the obvious simple implementation of the #GAction
  * interface. This is the easiest way to create an action for purposes of
  * SECTION:gsimpleactiongroup
  * @title: GSimpleActionGroup
  * @short_description: A simple GActionGroup implementation
+ * @include: gio/gio.h
  *
  * #GSimpleActionGroup is a hash table filled with #GAction objects,
  * implementing the #GActionGroup and #GActionMap interfaces.
  * SECTION:gsimplepermission
  * @title: GSimplePermission
  * @short_description: A GPermission that doesn't change value
+ * @include: gio/gio.h
  *
  * #GSimplePermission is a trivial implementation of #GPermission that
  * represents a permission that is either always or never allowed.  The
 
 /**
  * SECTION:gsocketaddress
- * @short_description: Abstract base class representing endpoints for
- * socket communication
+ * @short_description: Abstract base class representing endpoints
+ *     for socket communication
+ * @include: gio/gio.h
  *
  * #GSocketAddress is the equivalent of <type>struct sockaddr</type>
  * in the BSD sockets API. This is an abstract class; use
 /**
  * SECTION:gsocketconnectable
  * @short_description: Interface for potential socket endpoints
+ * @include: gio/gio.h
  *
  * Objects that describe one or more potential socket endpoints
  * implement #GSocketConnectable. Callers can then use
  * SECTION:gsocketcontrolmessage
  * @title: GSocketControlMessage
  * @short_description: A GSocket control message
+ * @include: gio/gio.h
  * @see_also: #GSocket.
  *
  * A #GSocketControlMessage is a special-purpose utility message that
  * SECTION:gsocketlistener
  * @title: GSocketListener
  * @short_description: Helper for accepting network client connections
+ * @include: gio/gio.h
  * @see_also: #GThreadedSocketService, #GSocketService.
  *
  * A #GSocketListener is an object that keeps track of a set
  * SECTION:gsocketservice
  * @title: GSocketService
  * @short_description: Make it easy to implement a network service
+ * @include: gio/gio.h
  * @see_also: #GThreadedSocketService, #GSocketListener.
  *
  * A #GSocketService is an object that represents a service that
  * SECTION:gsubprocess
  * @title: GSubprocess
  * @short_description: Child processes
+ * @include: gio/gio.h
  * @see_also: #GSubprocessLauncher
  *
  * #GSubprocess allows the creation of and interaction with child
  * SECTION:gsubprocesslauncher
  * @title: GSubprocess Launcher
  * @short_description: Environment options for launching a child process
+ * @include: gio/gio.h
  *
  * This class contains a set of options for launching child processes,
  * such as where its standard input and output will be directed, the
 
 /**
  * SECTION:gtask
- * @short_description: Cancellable synchronous or asynchronous task and result
+ * @short_description: Cancellable synchronous or asynchronous task
+ *     and result
  * @include: gio/gio.h
  * @see_also: #GAsyncResult
  *
  *       bd->cake = cake;
  *
  *       /&ast; Bail out now if the user has already cancelled &ast;/
- *       if (g_task_return_error_if_cancelled (g_task_get_cancellable (task)))
+ *       if (g_task_return_error_if_cancelled (task))
  *         {
  *           g_object_unref (task);
  *           return;
  * SECTION:gtcpconnection
  * @title: GTcpConnection
  * @short_description: A TCP GSocketConnection
+ * @include: gio/gio.h
  * @see_also: #GSocketConnection.
  *
  * This is the subclass of #GSocketConnection that is created
 /**
  * SECTION:gtcpwrapperconnection
  * @title: GTcpWrapperConnection
- * @short_description: Wrapper for non-GSocketConnection-based, GSocket-based GIOStreams
+ * @short_description: Wrapper for non-GSocketConnection-based,
+ *     GSocket-based GIOStreams
+ * @include: gio/gio.h
  * @see_also: #GSocketConnection.
  *
  * A #GTcpWrapperConnection can be used to wrap a #GIOStream that is
  * A helper class for testing code which uses D-Bus without touching the user's
  * session bus.
  *
+ * Note that #GTestDBus modifies the user’s environment, calling setenv(). This
+ * is not thread-safe, so all #GTestDBus calls should be completed before
+ * threads are spawned, or should have appropriate locking to ensure no access
+ * conflicts to environment variables shared between #GTestDBus and other
+ * threads.
+ *
  * <refsect2 id="gio-D-Bus-Test-Scaffolding">
  *   <title>Creating unit tests using GTestDBus</title>
  *   <para>
  *   </para>
  *   <para>
  *     The first thing you will need is a separate service description file for the
- *     D-Bus daemon. Typically a 'services' subdirectory of your 'tests' directory
+ *     D-Bus daemon. Typically a <filename>services</filename> subdirectory of
+ *     your <filename>tests</filename> directory
  *     is a good place to put this file.
  *   </para>
  *   <para>
  *     The service file should list your service along with an absolute path to the
  *     uninstalled service executable in your source tree. Using autotools we would
- *     achieve this by adding a file such as 'my-server.service.in' in the services
+ *     achieve this by adding a file such as <filename>my-server.service.in</filename>
+ *     in the services
  *     directory and have it processed by configure.
  *     <informalexample><programlisting>
  *     [D-BUS Service]
  *   </para>
  *   <para>
  *     Once you have a service definition file which is local to your source tree,
- *     you can proceed to setup a GTest fixture using the GTestDBus scaffolding.
+ *     you can proceed to set up a GTest fixture using the #GTestDBus scaffolding.
  *     <example id="gdbus-test-fixture">
  *       <title>Test Fixture for D-Bus services</title>
  *       <programlisting>
  *   </para>
  *   <para>
  *     Most of the time we can work around these obstacles using the environment. Since the
- *     environment is inherited by the D-Bus daemon created by GTestDBus and then in turn
+ *     environment is inherited by the D-Bus daemon created by #GTestDBus and then in turn
  *     inherited by any services the D-Bus daemon activates, using the setup routine for your
  *     fixture is a practical place to help sandbox your runtime environment. For the rather
- *     typical GSettings case we can work around this by setting GSETTINGS_SCHEMA_DIR to the
+ *     typical GSettings case we can work around this by setting <envar>GSETTINGS_SCHEMA_DIR</envar> to the
  *     in tree directory holding your schemas in the above fixture_setup() routine.
  *   </para>
  *   <para>
  * SECTION:gthreadedsocketservice
  * @title: GThreadedSocketService
  * @short_description: A threaded GSocketService
+ * @include: gio/gio.h
  * @see_also: #GSocketService.
  *
  * A #GThreadedSocketService is a simple subclass of #GSocketService
  * SECTION:gtlscertificate
  * @title: GTlsCertificate
  * @short_description: TLS certificate
+ * @include: gio/gio.h
  * @see_also: #GTlsConnection
  *
  * A certificate used for TLS authentication and encryption.
  *
  * Gets the list of arguments that was passed on the command line.
  *
- * The strings in the array may contain non-utf8 data.
+ * The strings in the array may contain non-UTF-8 data on UNIX (such as
+ * filenames or arguments given in the system locale) but are always in
+ * UTF-8 on Windows.
+ *
+ * If you wish to use the return value with #GOptionContext, you must
+ * use g_option_context_parse_strv().
  *
  * The return value is %NULL-terminated and should be freed using
  * g_strfreev().
  * is intended to be returned by main(). Although you are expected to pass
  * the @argc, @argv parameters from main() to this function, it is possible
  * to pass %NULL if @argv is not available or commandline handling is not
- * required.
+ * required.  Note that on Windows, @argc and @argv are ignored, and
+ * g_win32_get_command_line() is called internally (for proper support
+ * of Unicode commandline arguments).
  *
  * First, the local_command_line() virtual function is invoked.
  * This function always runs on the local instance. It gets passed a pointer
- * to a %NULL-terminated copy of @argv and is expected to remove the arguments
- * that it handled (shifting up remaining arguments). See
- * <xref linkend="gapplication-example-cmdline2"/> for an example of
- * parsing @argv manually. Alternatively, you may use the #GOptionContext API,
- * after setting <literal>argc = g_strv_length (argv);</literal>.
+ * to a %NULL-terminated copy of the command line and is expected to
+ * remove the arguments that it handled (shifting up remaining
+ * arguments). See <xref linkend="gapplication-example-cmdline2"/> for
+ * an example of parsing @argv manually. Alternatively, you may use the
+ * #GOptionContext API, but you must use g_option_context_parse_strv()
+ * in order to avoid memory leaks and encoding mismatches.
  *
  * The last argument to local_command_line() is a pointer to the @status
  * variable which can used to set the exit status that is returned from
  * be set accordingly, which helps the window manager determine which
  * application is showing the window.
  *
+ * 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
+ * default handler for local_command_line) if "--gapplication-service"
+ * was given in the command line.  If this flag is present then normal
+ * commandline processing is interrupted and the
+ * %G_APPLICATION_IS_SERVICE flag is set.  This provides a "compromise"
+ * solution whereby running an application directly from the commandline
+ * will invoke it in the normal way (which can be useful for debugging)
+ * while still allowing applications to be D-Bus activated in service
+ * mode.  The D-Bus service file should invoke the executable with
+ * "--gapplication-service" as the sole commandline argument.  This
+ * approach is suitable for use by most graphical applications but
+ * should not be used from applications like editors that need precise
+ * control over when processes invoked via the commandline will exit and
+ * what their exit status will be.
+ *
  * Returns: the exit status
  * Since: 2.28
  */
  * of the keyfile backing @info.
  *
  * Returns: %TRUE if the @key exists
- * Since: 2.26
+ * Since: 2.36
  */
 
 
  * g_desktop_app_info_launch_uris_as_manager:
  * @appinfo: a #GDesktopAppInfo
  * @uris: (element-type utf8): List of URIs
- * @launch_context: a #GAppLaunchContext
+ * @launch_context: (allow-none): a #GAppLaunchContext
  * @spawn_flags: #GSpawnFlags, used for each process
- * @user_setup: (scope call): a #GSpawnChildSetupFunc, used once for
- *     each process.
- * @user_setup_data: (closure user_setup): User data for @user_setup
- * @pid_callback: (scope call): Callback for child processes
- * @pid_callback_data: (closure pid_callback): User data for @callback
+ * @user_setup: (scope call) (allow-none): a #GSpawnChildSetupFunc, used once
+ *     for each process.
+ * @user_setup_data: (closure user_setup) (allow-none): User data for @user_setup
+ * @pid_callback: (scope call) (allow-none): Callback for child processes
+ * @pid_callback_data: (closure pid_callback) (allow-none): User data for @callback
  * @error: return location for a #GError, or %NULL
  *
  * This function performs the equivalent of g_app_info_launch_uris(),
  * applications that matched @search_string with an equal score.  The
  * outer list is sorted by score so that the first strv contains the
  * best-matching applications, and so on.
+ * The algorithm for determining matches is undefined and may change at
+ * any time.
  *
  * Returns: (array zero-terminated=1) (element-type GStrv) (transfer full): a
  *   list of strvs.  Free each item with g_strfreev() and free the outer
  * This call does no blocking I/O.
  *
  * Returns: string with the relative path from @descendant
- *     to @parent. The returned string should be freed with
- *     g_free() when no longer needed.
+ *     to @parent, or %NULL if @descendant doesn't have @parent
+ *     as prefix. The returned string should be freed with g_free()
+ *     when no longer needed.
  */
 
 
  * This operation never fails, but the returned object might not
  * support any I/O operation if @arg points to a malformed path.
  *
+ * Note that on Windows, this function expects its argument to be in
+ * UTF-8 -- not the system code page.  This means that you
+ * should not use this function with string from argv as it is passed
+ * to main().  g_win32_get_command_line() will return a UTF-8 version of
+ * the commandline.  #GApplication also uses UTF-8 but
+ * g_application_command_line_create_file_for_arg() may be more useful
+ * for you there.  It is also always possible to use this function with
+ * #GOptionContext arguments of type %G_OPTION_ARG_FILENAME.
+ *
  * Returns: (transfer full): a new #GFile.
  *    Free the returned object with g_object_unref().
  */
  *
  * If @make_backup is %TRUE, this function will attempt to
  * make a backup of @file.
+ *
+ * <warning><para>No copy of @content will be made, so it must stay valid until
+ * @callback is called. See g_file_replace_contents_bytes_async() for a #GBytes
+ * version that will automatically hold a reference to the contents (without
+ * copying) for the duration of the call.</para></warning>
+ */
+
+
+/**
+ * g_file_replace_contents_bytes_async:
+ * @file: input #GFile
+ * @contents: a #GBytes
+ * @etag: (allow-none): a new <link linkend="gfile-etag">entity tag</link> for the @file, or %NULL
+ * @make_backup: %TRUE if a backup should be created
+ * @flags: a set of #GFileCreateFlags
+ * @cancellable: optional #GCancellable object, %NULL to ignore
+ * @callback: a #GAsyncReadyCallback to call when the request is satisfied
+ * @user_data: the data to pass to callback function
+ *
+ * Same as g_file_replace_contents_async() but takes a #GBytes input instead.
+ * This function will keep a ref on @contents until the operation is done.
+ * Unlike g_file_replace_contents_async() this allows forgetting about the
+ * content without waiting for the callback.
+ *
+ * When this operation has completed, @callback will be called with
+ * @user_user data, and the operation can be finalized with
+ * g_file_replace_contents_finish().
+ *
+ * Since: 2.40
  */
 
 
 
 
 /**
+ * g_output_stream_printf:
+ * @stream: a #GOutputStream.
+ * @bytes_written: (out): location to store the number of bytes that was
+ *     written to the stream
+ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: location to store the error occurring, or %NULL to ignore
+ * @format: the format string. See the printf() documentation
+ * @...: the parameters to insert into the format string
+ *
+ * This is a utility function around g_output_stream_write_all(). It
+ * uses g_strdup_vprintf() to turn @format and @... into a string that
+ * is then written to @stream.
+ *
+ * See the documentation of g_output_stream_write_all() about the
+ * behavior of the actual write operation.
+ *
+ * Note that partial writes cannot be properly checked with this
+ * function due to the variable length of the written string, if you
+ * need precise control over partial write failures, you need to
+ * create you own printf()-like wrapper around g_output_stream_write()
+ * or g_output_stream_write_all().
+ *
+ * Since: 2.40
+ * Returns: %TRUE on success, %FALSE if there was an error
+ */
+
+
+/**
  * g_output_stream_set_pending:
  * @stream: a #GOutputStream.
  * @error: a #GError location to store the error occurring, or %NULL to
 
 
 /**
+ * g_output_stream_vprintf:
+ * @stream: a #GOutputStream.
+ * @bytes_written: (out): location to store the number of bytes that was
+ *     written to the stream
+ * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore.
+ * @error: location to store the error occurring, or %NULL to ignore
+ * @format: the format string. See the printf() documentation
+ * @args: the parameters to insert into the format string
+ *
+ * This is a utility function around g_output_stream_write_all(). It
+ * uses g_strdup_vprintf() to turn @format and @args into a string that
+ * is then written to @stream.
+ *
+ * See the documentation of g_output_stream_write_all() about the
+ * behavior of the actual write operation.
+ *
+ * Note that partial writes cannot be properly checked with this
+ * function due to the variable length of the written string, if you
+ * need precise control over partial write failures, you need to
+ * create you own printf()-like wrapper around g_output_stream_write()
+ * or g_output_stream_write_all().
+ *
+ * Since: 2.40
+ * Returns: %TRUE on success, %FALSE if there was an error
+ */
+
+
+/**
  * g_output_stream_write: (virtual write_fn)
  * @stream: a #GOutputStream.
  * @buffer: (array length=count) (element-type guint8): the buffer containing the data to write.
  *
  * For the synchronous, blocking version of this function, see
  * g_output_stream_write().
+ *
+ * <warning><para>No copy of @buffer will be made, so it must stay valid until
+ * @callback is called. See g_output_stream_write_bytes_async() for a #GBytes
+ * version that will automatically hold a reference to the contents (without
+ * copying) for the duration of the call.</para></warning>
  */
 
 
 /**
  * g_settings_get_default_value:
  * @settings: a #GSettings object
- * @key: the key to check for being set
+ * @key: the key to get the default value for
  *
  * Gets the "default value" of a key.
  *
  * It is a programmer error to give a @key that isn't contained in the
  * schema for @settings.
  *
- * Returns: (allow none) (transfer full): the default value
+ * Returns: (allow-none) (transfer full): the default value
  * Since: 2.40
  */
 
 /**
  * g_settings_get_user_value:
  * @settings: a #GSettings object
- * @key: the key to check for being set
+ * @key: the key to get the user value for
  *
  * Checks the "user value" of a key, if there is one.
  *
  * It is a programmer error to give a @key that isn't contained in the
  * schema for @settings.
  *
- * Returns: (allow none) (transfer full): the user's value, if set
+ * Returns: (allow-none) (transfer full): the user's value, if set
  * Since: 2.40
  */
 
  *   schemas that are available.  The list must not be modified or
  *   freed.
  * Since: 2.26
- * Deprecated: 2.40: Use g_settings_schema_source_list_schemas() instead
+ * Deprecated: 2.40: Use g_settings_schema_source_list_schemas() instead.
+ * If you used g_settings_list_schemas() to check for the presence of
+ * a particular schema, use g_settings_schema_source_lookup() instead
+ * of your whole loop.
  */
 
 
  * #GSimpleProxyResolver:ignore-hosts for more details on how the
  * arguments are interpreted.
  *
- * Returns: a new #GSimpleProxyResolver
+ * Returns: (transfer full): a new #GSimpleProxyResolver
  * Since: 2.36
  */
 
  *
  * Try to get the remote address of a socket connection.
  *
+ * Since GLib 2.40, when used with g_socket_client_connect() or
+ * g_socket_client_connect_async(), during emission of
+ * %G_SOCKET_CLIENT_CONNECTING, this function will return the remote
+ * address that will be used for the connection.  This allows
+ * applications to print e.g. "Connecting to example.com
+ * (10.42.77.3)...".
+ *
  * Returns: (transfer full): a #GSocketAddress or %NULL on error.
  *     Free the returned object with g_object_unref().
  * Since: 2.22
 /**
  * g_subprocess_communicate:
  * @subprocess: a #GSubprocess
- * @stdin_buf: data to send to the stdin of the subprocess, or %NULL
+ * @stdin_buf: (allow-none): data to send to the stdin of the subprocess, or %NULL
  * @cancellable: a #GCancellable
  * @stdout_buf: (out): data read from the subprocess stdout
  * @stderr_buf: (out): data read from the subprocess stderr
  * Communicate with the subprocess until it terminates, and all input
  * and output has been completed.
  *
- * If @stdin is given, the subprocess must have been created with
+ * If @stdin_buf is given, the subprocess must have been created with
  * %G_SUBPROCESS_FLAGS_STDIN_PIPE.  The given data is fed to the
  * stdin of the subprocess and the pipe is closed (ie: EOF).
  *
 /**
  * g_subprocess_communicate_async:
  * @subprocess: Self
- * @stdin_buf: Input data
- * @cancellable: Cancellable
+ * @stdin_buf: (allow-none): Input data, or %NULL
+ * @cancellable: (allow-none): Cancellable
  * @callback: Callback
  * @user_data: User data
  *
 /**
  * g_subprocess_communicate_utf8:
  * @subprocess: a #GSubprocess
- * @stdin_buf: data to send to the stdin of the subprocess, or %NULL
+ * @stdin_buf: (allow-none): data to send to the stdin of the subprocess, or %NULL
  * @cancellable: a #GCancellable
  * @stdout_buf: (out): data read from the subprocess stdout
  * @stderr_buf: (out): data read from the subprocess stderr
 /**
  * g_subprocess_communicate_utf8_async:
  * @subprocess: Self
- * @stdin_buf: Input data
+ * @stdin_buf: (allow-none): Input data, or %NULL
  * @cancellable: Cancellable
  * @callback: Callback
  * @user_data: User data
 
 
 /**
+ * g_subprocess_get_identifier:
+ * @subprocess: a #GSubprocess
+ *
+ * On UNIX, returns the process ID as a decimal string.  On Windows,
+ * returns the result of GetProcessId() also as a string.
+ */
+
+
+/**
  * g_subprocess_get_if_exited:
  * @subprocess: a #GSubprocess
  *
  * The process must have been created with
  * %G_SUBPROCESS_FLAGS_STDERR_PIPE.
  *
- * Returns: the stderr pipe
+ * Returns: (transfer none): the stderr pipe
  * Since: 2.40
  */
 
  * The process must have been created with
  * %G_SUBPROCESS_FLAGS_STDIN_PIPE.
  *
- * Returns: the stdout pipe
+ * Returns: (transfer none): the stdout pipe
  * Since: 2.40
  */
 
  * The process must have been created with
  * %G_SUBPROCESS_FLAGS_STDOUT_PIPE.
  *
- * Returns: the stdout pipe
+ * Returns: (transfer none): the stdout pipe
  * Since: 2.40
  */
 
 /**
  * g_subprocess_launcher_set_environ:
  * @self: a #GSubprocess
- * @environ: the replacement environment
+ * @env: the replacement environment
  *
  * Replace the entire environment of processes launched from this
  * launcher with the given 'environ' variable.
 /**
  * g_subprocess_launcher_spawnv:
  * @self: a #GSubprocessLauncher
- * @argv: Command line arguments
+ * @argv: (array zero-terminated=1) (element-type utf8): Command line arguments
  * @error: Error
  *
  * A convenience helper for creating a #GSubprocess given a provided
 
 /**
  * g_subprocess_newv: (rename-to g_subprocess_new)
- * @argv: commandline arguments for the subprocess
+ * @argv: (array zero-terminated=1) (element-type utf8): commandline arguments for the subprocess
  * @flags: flags that define the behaviour of the subprocess
  * @error: (allow-none): return location for an error, or %NULL
  *
  * @self: a #GTestDBus
  * @path: path to a directory containing .service files
  *
- * Add a path where dbus-daemon will lookup for .services files. This can't be
+ * Add a path where dbus-daemon will look up .service files. This can't be
  * called after g_test_dbus_up().
  */
 
  * g_test_dbus_get_bus_address:
  * @self: a #GTestDBus
  *
- * Get the address on which dbus-daemon is running. if g_test_dbus_up() has not
+ * Get the address on which dbus-daemon is running. If g_test_dbus_up() has not
  * been called yet, %NULL is returned. This can be used with
- * g_dbus_connection_new_for_address()
+ * g_dbus_connection_new_for_address().
  *
- * Returns: the address of the bus, or %NULL.
+ * Returns: (allow-none): the address of the bus, or %NULL.
  */
 
 
  * g_test_dbus_get_flags:
  * @self: a #GTestDBus
  *
- * Gets the flags of the #GTestDBus object.
+ * Get the flags of the #GTestDBus object.
  *
  * Returns: the value of #GTestDBus:flags property
  */
index 69981bd..bb403b1 100644 (file)
 /**
  * GBytes:
  *
- * A simple refcounted data type representing an immutable byte sequence
- * from an unspecified origin.
+ * A simple refcounted data type representing an immutable sequence of zero or
+ * more bytes from an unspecified origin.
  *
  * The purpose of a #GBytes is to keep the memory region that it holds
  * alive for as long as anyone holds a reference to the bytes.  When
 
 /**
  * GCompareDataFunc:
- * @a: a value.
- * @b: a value to compare with.
- * @user_data: user data to pass to comparison function.
+ * @a: a value
+ * @b: a value to compare with
+ * @user_data: user data
  *
  * Specifies the type of a comparison function used to compare two
  * values.  The function should return a negative integer if the first
  * integer if the first value comes after the second.
  *
  * Returns: negative value if @a &lt; @b; zero if @a = @b; positive
- *          value if @a > @b.
+ *          value if @a > @b
  */
 
 
 /**
  * GCompareFunc:
- * @a: a value.
- * @b: a value to compare with.
+ * @a: a value
+ * @b: a value to compare with
  *
  * Specifies the type of a comparison function used to compare two
  * values.  The function should return a negative integer if the first
  * integer if the first value comes after the second.
  *
  * Returns: negative value if @a &lt; @b; zero if @a = @b; positive
- *          value if @a > @b.
+ *          value if @a > @b
  */
 
 
 
 /**
  * GFunc:
- * @data: the element's data.
- * @user_data: user data passed to g_list_foreach() or
- *             g_slist_foreach().
+ * @data: the element's data
+ * @user_data: user data passed to g_list_foreach() or g_slist_foreach()
  *
  * Specifies the type of functions passed to g_list_foreach() and
  * g_slist_foreach().
  *        of data, or any integer value using the <link
  *        linkend="glib-Type-Conversion-Macros">Type Conversion
  *        Macros</link>.
- * @next: contains the link to the next element in the list.
- * @prev: contains the link to the previous element in the list.
+ * @next: contains the link to the next element in the list
+ * @prev: contains the link to the previous element in the list
  *
  * The #GList struct is used for each element in a doubly-linked list.
  */
  *     and g_return_val_if_fail().
  * @G_LOG_LEVEL_WARNING: log level for warnings, see g_warning()
  * @G_LOG_LEVEL_MESSAGE: log level for messages, see g_message()
- * @G_LOG_LEVEL_INFO: log level for informational messages
+ * @G_LOG_LEVEL_INFO: log level for informational messages, see g_info()
  * @G_LOG_LEVEL_DEBUG: log level for debug messages, see g_debug()
  * @G_LOG_LEVEL_MASK: a mask including all log levels
  *
 
 /**
  * GTraverseFunc:
- * @key: a key of a #GTree node.
- * @value: the value corresponding to the key.
- * @data: user data passed to g_tree_traverse().
+ * @key: a key of a #GTree node
+ * @value: the value corresponding to the key
+ * @data: user data passed to g_tree_traverse()
  *
  * Specifies the type of function passed to g_tree_traverse(). It is
  * passed the key and value of each node, together with the @user_data
  * parameter passed to g_tree_traverse(). If the function returns
  * %TRUE, the traversal is stopped.
  *
- * Returns: %TRUE to stop the traversal.
+ * Returns: %TRUE to stop the traversal
  */
 
 
  *              then its right child. This is the one to use if you
  *              want the output sorted according to the compare
  *              function.
+ *              <informalfigure>
+ *                <mediaobject>
+ *                  <imageobject>
+ *                    <imagedata align="right" fileref="Sorted_binary_tree_inorder.svg" format="SVG"/>
+ *                  </imageobject>
+ *                  <caption>In order: A, B, C, D, E, F, G, H, I</caption>
+ *                </mediaobject>
+ *              </informalfigure>
  * @G_PRE_ORDER: visits a node, then its children.
+ *              <informalfigure>
+ *                <mediaobject>
+ *                  <imageobject>
+ *                    <imagedata align="right" fileref="Sorted_binary_tree_preorder.svg" format="SVG"/>
+ *                  </imageobject>
+ *                  <caption>Pre order: F, B, A, D, C, E, G, I, H</caption>
+ *                </mediaobject>
+ *              </informalfigure>
  * @G_POST_ORDER: visits the node's children, then the node itself.
+ *              <informalfigure>
+ *                <mediaobject>
+ *                  <imageobject>
+ *                    <imagedata align="right" fileref="Sorted_binary_tree_postorder.svg" format="SVG"/>
+ *                  </imageobject>
+ *                  <caption>Post order: A, C, E, D, B, H, I, G, F</caption>
+ *                </mediaobject>
+ *              </informalfigure>
  * @G_LEVEL_ORDER: is not implemented for <link
  *                 linkend="glib-Balanced-Binary-Trees">Balanced Binary
  *                 Trees</link>.  For <link
  *                 vists the root node first, then its children, then
  *                 its grandchildren, and so on. Note that this is less
  *                 efficient than the other orders.
+ *              <informalfigure>
+ *                <mediaobject>
+ *                  <imageobject>
+ *                    <imagedata align="right" fileref="Sorted_binary_tree_breadth-first_traversal.svg" format="SVG"/>
+ *                  </imageobject>
+ *                  <caption>Level order: F, B, G, A, D, I, C, E, H</caption>
+ *                </mediaobject>
+ *              </informalfigure>
  *
  * Specifies the type of traveral performed by g_tree_traverse(),
  * g_node_traverse() and g_node_find().
 
 
 /**
- * G_OS_BEOS:
- *
- * This macro is defined only on BeOS. So you can bracket
- * BeOS-specific code in "&num;ifdef G_OS_BEOS".
- */
-
-
-/**
  * G_OS_UNIX:
  *
  * This macro is defined only on UNIX. So you can bracket
  * Each element in the list contains a piece of data, together with
  * pointers which link to the previous and next elements in the list.
  * Using these pointers it is possible to move through the list in both
- * directions (unlike the <link
- * linkend="glib-Singly-Linked-Lists">Singly-Linked Lists</link> which
+ * directions (unlike the singly-linked <link
+ * linkend="glib-Singly-Linked-Lists">#GSList</link> which
  * only allows movement through the list in the forward direction).
  *
+ * The double linked list does not keep track of the number of items
+ * and does not keep track of both the start and end of the list. If
+ * you want fast access to both the start and the end of the list,
+ * and/or the number of items in the list, use a
+ * <link linkend="glib-Double-ended-Queues">GQueue</link> instead.
+ *
  * The data contained in each element can be either integer values, by
  * using one of the <link linkend="glib-Type-Conversion-Macros">Type
  * Conversion Macros</link>, or simply pointers to any type of data.
  * elements return the new start of the list, which may have changed.
  *
  * There is no function to create a #GList. %NULL is considered to be
- * the empty list so you simply set a #GList* to %NULL.
+ * a valid, empty list so you simply set a #GList* to %NULL to initialize
+ * it.
  *
  * To add elements, use g_list_append(), g_list_prepend(),
  * g_list_insert() and g_list_insert_sorted().
  *
+ * To visit all elements in the list, use a loop over the list:
+ * |[
+ * GList *l;
+ * for (l = list; l != NULL; l = l->next)
+ *   {
+ *     /&ast; do something with l->data &ast;/
+ *   }
+ * ]|
+ *
+ * To call a function for each element in the list, use g_list_foreach().
+ *
+ * To loop over the list and modify it (e.g. remove a certain element)
+ * a while loop is more appropriate, for example:
+ * |[
+ * GList *l = list;
+ * while (l != NULL)
+ *   {
+ *     GList *next = l->next;
+ *     if (should_be_removed (l))
+ *       {
+ *         /&ast; possibly free l->data &ast;/
+ *         list = g_list_delete_link (list, l);
+ *       }
+ *     l = next;
+ *   }
+ * ]|
+ *
  * To remove elements, use g_list_remove().
  *
- * To find elements in the list use g_list_first(), g_list_last(),
- * g_list_next(), g_list_previous(), g_list_nth(), g_list_nth_data(),
+ * To navigate in a list, use g_list_first(), g_list_last(),
+ * g_list_next(), g_list_previous().
+ *
+ * To find elements in the list use g_list_nth(), g_list_nth_data(),
  * g_list_find() and g_list_find_custom().
  *
  * To find the index of an element use g_list_position() and
  * g_list_index().
  *
- * To call a function for each element in the list use g_list_foreach().
- *
- * To free the entire list, use g_list_free().
+ * To free the entire list, use g_list_free() or g_list_free_full().
  */
 
 
  * static gint max_size = 8;
  * static gboolean verbose = FALSE;
  * static gboolean beep = FALSE;
- * static gboolean rand = FALSE;
+ * static gboolean randomize = FALSE;
  *
  * static GOptionEntry entries[] =
  * {
  *   { "max-size", 'm', 0, G_OPTION_ARG_INT, &max_size, "Test up to 2^M items", "M" },
  *   { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, "Be verbose", NULL },
  *   { "beep", 'b', 0, G_OPTION_ARG_NONE, &beep, "Beep when done", NULL },
- *   { "rand", 0, 0, G_OPTION_ARG_NONE, &rand, "Randomize the data", NULL },
+ *   { "rand", 0, 0, G_OPTION_ARG_NONE, &randomize, "Randomize the data", NULL },
  *   { NULL }
  * };
  *
  *
  * }
  * </programlisting></informalexample>
+ *
+ * On UNIX systems, the argv that is passed to main() has no particular
+ * encoding, even to the extent that different parts of it may have
+ * different encodings.  In general, normal arguments and flags will be
+ * in the current locale and filenames should be considered to be opaque
+ * byte strings.  Proper use of %G_OPTION_ARG_FILENAME vs
+ * %G_OPTION_ARG_STRING is therefore important.
+ *
+ * Note that on Windows, filenames do have an encoding, but using
+ * #GOptionContext with the argv as passed to main() will result in a
+ * program that can only accept commandline arguments with characters
+ * from the system codepage.  This can cause problems when attempting to
+ * deal with filenames containing Unicode characters that fall outside
+ * of the codepage.
+ *
+ * A solution to this is to use g_win32_get_command_line() and
+ * g_option_context_parse_strv() which will properly handle full Unicode
+ * filenames.  If you are using #GApplication, this is done
+ * automatically for you.
+ *
+ * The following example shows how you can use #GOptionContext directly
+ * in order to correctly deal with Unicode filenames on Windows:
+ *
+ * |[
+ * int
+ * main (int argc, char **argv)
+ * {
+ *   GError *error = NULL;
+ *   GOptionContext *context;
+ *   gchar **args;
+ *
+ * #ifdef G_OS_WIN32
+ *   args = g_win32_get_command_line ();
+ * #else
+ *   args = g_strdupv (argv);
+ * #endif
+ *
+ *   /&ast; ... setup context ... &ast;/
+ *
+ *   if (!g_option_context_parse_strv (context, &args, &error))
+ *     {
+ *       /&ast; ... error ... &ast;/
+ *     }
+ *
+ *   /&ast; ... &ast;/
+ *
+ *   g_strfreev (args);
+ *
+ *   /&ast; ... &ast;/
+ * }
+ * ]|
  */
 
 
  * Converts a #gdouble to a string, using the '.' as
  * decimal point.
  *
- * This functions generates enough precision that converting
+ * This function generates enough precision that converting
  * the string back using g_ascii_strtod() gives the same machine-number
  * (on machines with IEEE compatible 64bit doubles). It is
  * guaranteed that the size of the resulting string will never
  * characters include all ASCII letters. If you compare two CP932
  * strings using this function, you will get false matches.
  *
+ * Both @s1 and @s2 must be non-%NULL.
+ *
  * Returns: 0 if the strings match, a negative value if @s1 &lt; @s2,
  *   or a positive value if @s1 &gt; @s2.
  */
 
 
 /**
+ * g_assert_nonnull:
+ * @expr: the expression to check
+ *
+ * Debugging macro to check an expression is not %NULL.
+ *
+ * If the assertion fails (i.e. the expression is %NULL),
+ * an error message is logged and the application is either
+ * terminated or the testcase marked as failed.
+ *
+ * See g_test_set_nonfatal_assertions().
+ *
+ * Since: 2.40
+ */
+
+
+/**
  * g_assert_not_reached:
  *
  * Debugging macro to terminate the application if it is ever
  *
  * This function will always return the same pointer for a given #GBytes.
  *
- * Returns: (transfer none) (array length=size) (type guint8): a pointer to the
- *          byte data
+ * %NULL may be returned if @size is 0. This is not guaranteed, as the #GBytes
+ * may represent an empty string with @data non-%NULL and @size as 0. %NULL will
+ * not be returned if @size is non-zero.
+ *
+ * Returns: (transfer none) (array length=size) (type guint8) (allow-none): a pointer to the
+ *          byte data, or %NULL
  * Since: 2.32
  */
 
 
 /**
  * g_bytes_new:
- * @data: (transfer none) (array length=size) (element-type guint8):
+ * @data: (transfer none) (array length=size) (element-type guint8) (allow-none):
  *        the data to be used for the bytes
  * @size: the size of @data
  *
  * Creates a new #GBytes from @data.
  *
- * @data is copied.
+ * @data is copied. If @size is 0, @data may be %NULL.
  *
  * Returns: (transfer full): a new #GBytes
  * Since: 2.32
 
 /**
  * g_bytes_new_static: (skip)
- * @data: (transfer full) (array length=size) (element-type guint8):
+ * @data: (transfer full) (array length=size) (element-type guint8) (allow-none):
  *           the data to be used for the bytes
  * @size: the size of @data
  *
  * Creates a new #GBytes from static data.
  *
- * @data must be static (ie: never modified or freed).
+ * @data must be static (ie: never modified or freed). It may be %NULL if @size
+ * is 0.
  *
  * Returns: (transfer full): a new #GBytes
  * Since: 2.32
 
 /**
  * g_bytes_new_take:
- * @data: (transfer full) (array length=size) (element-type guint8):
+ * @data: (transfer full) (array length=size) (element-type guint8) (allow-none):
  *           the data to be used for the bytes
  * @size: the size of @data
  *
  * For creating #GBytes with memory from other allocators, see
  * g_bytes_new_with_free_func().
  *
+ * @data may be %NULL if @size is 0.
+ *
  * Returns: (transfer full): a new #GBytes
  * Since: 2.32
  */
 
 /**
  * g_bytes_new_with_free_func:
- * @data: (array length=size): the data to be used for the bytes
+ * @data: (array length=size) (allow-none): the data to be used for the bytes
  * @size: the size of @data
  * @free_func: the function to call to release the data
  * @user_data: data to pass to @free_func
  * @data must not be modified after this call is made until @free_func has
  * been called to indicate that the bytes is no longer in use.
  *
+ * @data may be %NULL if @size is 0.
+ *
  * Returns: (transfer full): a new #GBytes
  * Since: 2.32
  */
  * character will automatically be appended to @..., and need not be entered
  * manually.
  *
+ * Such messages are suppressed by the g_log_default_handler() unless
+ * the G_MESSAGES_DEBUG environment variable is set appropriately.
+ *
  * Since: 2.6
  */
 
 
 /**
  * g_free:
- * @mem: the memory to free
+ * @mem: (allow-none): the memory to free
  *
  * Frees the memory pointed to by @mem.
  * If @mem is %NULL it simply returns.
  * The encoding of the returned string is system defined.
  * On Windows, it is always UTF-8.
  *
+ * Since GLib 2.40, this function will return the value of the "PWD"
+ * environment variable if it is set and it happens to be the same as
+ * the current directory.  This can make a difference in the case that
+ * the current directory is the target of a symbolic link.
+ *
  * Returns: the current directory
  */
 
  * corresponding value it is able to be stored more efficiently.  See
  * the discussion in the section description.
  *
+ * Returns: %TRUE if the key did not exist yet
  * Since: 2.32
  */
 
  * value is freed using that function. If you supplied a
  * @key_destroy_func when creating the #GHashTable, the passed
  * key is freed using that function.
+ *
+ * Returns: %TRUE if the key did not exist yet
  */
 
 
  * the #GHashTable, the old value is freed using that function.
  * If you supplied a @key_destroy_func when creating the
  * #GHashTable, the old key is freed using that function.
+ *
+ * Returns: %TRUE of the key did not exist yet
  */
 
 
 
 
 /**
+ * g_info:
+ * @...: format string, followed by parameters to insert
+ *     into the format string (as with printf())
+ *
+ * A convenience function/macro to log an informational message. Seldom used.
+ *
+ * If g_log_default_handler() is used as the log handler function, a new-line
+ * character will automatically be appended to @..., and need not be entered
+ * manually.
+ *
+ * Such messages are suppressed by the g_log_default_handler() unless
+ * the G_MESSAGES_DEBUG environment variable is set appropriately.
+ *
+ * Since: 2.40
+ */
+
+
+/**
  * g_int64_equal:
  * @v1: a pointer to a #gint64 key
  * @v2: a pointer to a #gint64 key to compare with @v1
  * g_key_file_load_from_data:
  * @key_file: an empty #GKeyFile struct
  * @data: key file loaded in memory
- * @length: the length of @data in bytes (or -1 if data is nul-terminated)
+ * @length: the length of @data in bytes (or (gsize)-1 if data is nul-terminated)
  * @flags: flags from #GKeyFileFlags
  * @error: return location for a #GError, or %NULL
  *
  * g_list_append(), g_list_prepend(), g_list_insert() and
  * g_list_insert_sorted() and so is rarely used on its own.
  *
- * Returns: a pointer to the newly-allocated #GList element.
+ * Returns: a pointer to the newly-allocated #GList element
  */
 
 
  *
  * Adds a new element on to the end of the list.
  *
- * <note><para>
- * The return value is the new start of the list, which
- * may have changed, so make sure you store the new value.
- * </para></note>
+ * Note that the return value is the new start of the list,
+ * if @list was empty; make sure you store the new value.
  *
- * <note><para>
- * Note that g_list_append() has to traverse the entire list
- * to find the end, which is inefficient when adding multiple
- * elements. A common idiom to avoid the inefficiency is to prepend
- * the elements and reverse the list when all elements have been added.
- * </para></note>
+ * g_list_append() has to traverse the entire list to find the end,
+ * which is inefficient when adding multiple elements. A common idiom
+ * to avoid the inefficiency is to use g_list_prepend() and reverse
+ * the list with g_list_reverse() when all elements have been added.
  *
  * |[
  * /&ast; Notice that these are initialized to the empty list. &ast;/
- * GList *list = NULL, *number_list = NULL;
+ * GList *string_list = NULL, *number_list = NULL;
  *
  * /&ast; This is a list of strings. &ast;/
- * list = g_list_append (list, "first");
- * list = g_list_append (list, "second");
+ * string_list = g_list_append (string_list, "first");
+ * string_list = g_list_append (string_list, "second");
  *
  * /&ast; This is a list of integers. &ast;/
  * number_list = g_list_append (number_list, GINT_TO_POINTER (27));
  * number_list = g_list_append (number_list, GINT_TO_POINTER (14));
  * ]|
  *
- * Returns: the new start of the #GList
+ * Returns: either @list or the new start of the #GList if @list was %NULL
  */
 
 
 /**
  * g_list_concat:
- * @list1: a #GList
- * @list2: the #GList to add to the end of the first #GList
+ * @list1: a #GList, this must point to the top of the list
+ * @list2: the #GList to add to the end of the first #GList,
+ *     this must point  to the top of the list
  *
  * Adds the second #GList onto the end of the first #GList.
  * Note that the elements of the second #GList are not copied.
  * They are used directly.
  *
- * Returns: the start of the new #GList
+ * This function is for example used to move an element in the list.
+ * The following example moves an element to the top of the list:
+ * |[
+ * list = g_list_remove_link (list, llink);
+ * list = g_list_concat (llink, list);
+ * ]|
+ *
+ * Returns: the start of the new #GList, which equals @list1 if not %NULL
  */
 
 
 /**
  * g_list_copy:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  *
  * Copies a #GList.
  *
  * to copy the data as well.
  * </para></note>
  *
- * Returns: a copy of @list
+ * Returns: the start of the new list that holds the same data as @list
  */
 
 
 /**
  * g_list_copy_deep:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @func: a copy function used to copy every element in the list
- * @user_data: user data passed to the copy function @func, or #NULL
+ * @user_data: user data passed to the copy function @func, or %NULL
  *
  * Makes a full (deep) copy of a #GList.
  *
- * In contrast with g_list_copy(), this function uses @func to make a copy of
- * each list element, in addition to copying the list container itself.
+ * In contrast with g_list_copy(), this function uses @func to make
+ * a copy of each list element, in addition to copying the list
+ * container itself.
  *
- * @func, as a #GCopyFunc, takes two arguments, the data to be copied and a user
- * pointer. It's safe to pass #NULL as user_data, if the copy function takes only
- * one argument.
+ * @func, as a #GCopyFunc, takes two arguments, the data to be copied
+ * and a @user_data pointer. It's safe to pass %NULL as user_data,
+ * if the copy function takes only one argument.
  *
  * For instance, if @list holds a list of GObjects, you can do:
  * |[
  * g_list_free_full (another_list, g_object_unref);
  * ]|
  *
- * Returns: a full copy of @list, use #g_list_free_full to free it
+ * Returns: the start of the new list that holds a full copy of @list,
+ *     use g_list_free_full() to free it
  * Since: 2.34
  */
 
 
 /**
  * g_list_delete_link:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @link_: node to delete from @list
  *
  * Removes the node link_ from the list and frees it.
  * Compare this to g_list_remove_link() which removes the node
  * without freeing it.
  *
- * Returns: the new head of @list
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
 /**
  * g_list_find:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @data: the element data to find
  *
- * Finds the element in a #GList which
- * contains the given data.
+ * Finds the element in a #GList which contains the given data.
  *
- * Returns: the found #GList element,
- *     or %NULL if it is not found
+ * Returns: the found #GList element, or %NULL if it is not found
  */
 
 
 /**
  * g_list_find_custom:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @data: user data passed to the function
  * @func: the function to call for each element.
  *     It should return 0 when the desired element is found
 
 /**
  * g_list_first:
- * @list: a #GList
+ * @list: any #GList element
  *
  * Gets the first element in a #GList.
  *
 
 /**
  * g_list_foreach:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @func: the function to call with each element's data
  * @user_data: user data to pass to the function
  *
  * @list: a #GList
  *
  * Frees all of the memory used by a #GList.
- * The freed elements are returned to the slice allocator.
+ * The freed elements are returned to the slice allocator
  *
  * <note><para>
  * If list elements contain dynamically-allocated memory,
  * @list: a pointer to a #GList
  * @free_func: the function to be called to free each element's data
  *
- * Convenience method, which frees all the memory used by a #GList, and
- * calls the specified destroy function on every element's data.
+ * Convenience method, which frees all the memory used by a #GList,
+ * and calls @free_func on every element's data.
  *
  * Since: 2.28
  */
 
 /**
  * g_list_index:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @data: the data to find
  *
  * Gets the position of the element containing
 
 /**
  * g_list_insert:
- * @list: a pointer to a #GList
+ * @list: a pointer to a #GList, this must point to the top of the list
  * @data: the data for the new element
  * @position: the position to insert the element. If this is
  *     negative, or is larger than the number of elements in the
  *
  * Inserts a new element into the list at the given position.
  *
- * Returns: the new start of the #GList
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
 /**
  * g_list_insert_before:
- * @list: a pointer to a #GList
+ * @list: a pointer to a #GList, this must point to the top of the list
  * @sibling: the list element before which the new element
  *     is inserted or %NULL to insert at the end of the list
  * @data: the data for the new element
  *
  * Inserts a new element into the list before the given position.
  *
- * Returns: the new start of the #GList
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
 /**
  * g_list_insert_sorted:
- * @list: a pointer to a #GList
+ * @list: a pointer to a #GList, this must point to the top of the
+ *     already sorted list
  * @data: the data for the new element
  * @func: the function to compare elements in the list. It should
  *     return a number > 0 if the first parameter comes after the
  * Inserts a new element into the list, using the given comparison
  * function to determine its position.
  *
- * Returns: the new start of the #GList
+ * <note><para>
+ * If you are adding many new elements to a list, and the number of
+ * new elements is much larger than the length of the list, use
+ * g_list_prepend() to add the new items and sort the list afterwards
+ * with g_list_sort()
+ * </para></note>
+ *
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
 /**
  * g_list_insert_sorted_with_data:
- * @list: a pointer to a #GList
+ * @list: a pointer to a #GList, this must point to the top of the
+ *     already sorted list
  * @data: the data for the new element
- * @func: the function to compare elements in the list.
- *     It should return a number > 0 if the first parameter
- *     comes after the second parameter in the sort order.
- * @user_data: user data to pass to comparison function.
+ * @func: the function to compare elements in the list. It should
+ *     return a number > 0 if the first parameter  comes after the
+ *     second parameter in the sort order.
+ * @user_data: user data to pass to comparison function
  *
  * Inserts a new element into the list, using the given comparison
  * function to determine its position.
  *
- * Returns: the new start of the #GList
+ * <note><para>
+ * If you are adding many new elements to a list, and the number of
+ * new elements is much larger than the length of the list, use
+ * g_list_prepend() to add the new items and sort the list afterwards
+ * with g_list_sort()
+ * </para></note>
+ *
+ * Returns: the (possibly changed) start of the #GList
  * Since: 2.10
  */
 
 
 /**
  * g_list_last:
- * @list: a #GList
+ * @list: any #GList element
  *
  * Gets the last element in a #GList.
  *
 
 /**
  * g_list_length:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  *
  * Gets the number of elements in a #GList.
  *
  * <note><para>
- * This function iterates over the whole list to
- * count its elements.
+ * This function iterates over the whole list to count its elements.
+ * Use a <link linkend="glib-Double-ended-Queues">GQueue</link> instead
+ * of a GList if you regularly need the number of items.
  * </para></note>
  *
  * Returns: the number of elements in the #GList
 
 /**
  * g_list_next:
- * @list: an element in a #GList.
+ * @list: an element in a #GList
  *
  * A convenience macro to get the next element in a #GList.
+ * Note that it is considered perfectly acceptable to access
+ * @list->next directly.
  *
- * Returns: the next element, or %NULL if there are no more elements.
+ * Returns: the next element, or %NULL if there are no more elements
  */
 
 
 /**
  * g_list_nth:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @n: the position of the element, counting from 0
  *
  * Gets the element at the given position in a #GList.
 
 /**
  * g_list_nth_data:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @n: the position of the element
  *
  * Gets the data of the element at the given position.
 
 /**
  * g_list_position:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @llink: an element in the #GList
  *
  * Gets the position of the given element
 
 /**
  * g_list_prepend:
- * @list: a pointer to a #GList
+ * @list: a pointer to a #GList, this must point to the top of the list
  * @data: the data for the new element
  *
- * Adds a new element on to the start of the list.
+ * Prepends a new element on to the start of the list.
  *
- * <note><para>
- * The return value is the new start of the list, which
- * may have changed, so make sure you store the new value.
- * </para></note>
+ * Note that the return value is the new start of the list,
+ * which will have changed, so make sure you store the new value.
  *
  * |[
  * /&ast; Notice that it is initialized to the empty list. &ast;/
  * GList *list = NULL;
+ *
  * list = g_list_prepend (list, "last");
  * list = g_list_prepend (list, "first");
  * ]|
  *
- * Returns: the new start of the #GList
+ * <note><para>
+ * Do not use this function to prepend a new element to a different element
+ * than the start of the list. Use g_list_insert_before() instead.
+ * </para></note>
+ *
+ * Returns: a pointer to the newly prepended element, which is the new
+ *     start of the #GList
  */
 
 
 /**
  * g_list_previous:
- * @list: an element in a #GList.
+ * @list: an element in a #GList
  *
  * A convenience macro to get the previous element in a #GList.
+ * Note that it is considered perfectly acceptable to access
+ * @list->previous directly.
  *
  * Returns: the previous element, or %NULL if there are no previous
- *          elements.
+ *          elements
  */
 
 
 /**
  * g_list_remove:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @data: the data of the element to remove
  *
  * Removes an element from a #GList.
  * If two elements contain the same data, only the first is removed.
  * If none of the elements contain the data, the #GList is unchanged.
  *
- * Returns: the new start of the #GList
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
 /**
  * g_list_remove_all:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @data: data to remove
  *
  * Removes all list nodes with data equal to @data.
  * g_list_remove() which removes only the first node
  * matching the given data.
  *
- * Returns: new head of @list
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
 /**
  * g_list_remove_link:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @llink: an element in the #GList
  *
  * Removes an element from a #GList, without freeing the element.
  * The removed element's prev and next links are set to %NULL, so
  * that it becomes a self-contained list with one element.
  *
- * Returns: the new start of the #GList, without the element
+ * This function is for example used to move an element in the list
+ * (see the example for g_list_concat()) or to remove an element in
+ * the list before freeing its data:
+ * |[
+ * list = g_list_remove_link (list, llink);
+ * free_some_data_that_may_access_the_list_again (llink->data);
+ * g_list_free (llink);
+ * ]|
+ *
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
 /**
  * g_list_reverse:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  *
  * Reverses a #GList.
  * It simply switches the next and prev pointers of each element.
 
 /**
  * g_list_sort:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @compare_func: the comparison function used to sort the #GList.
  *     This function is passed the data from 2 elements of the #GList
  *     and should return 0 if they are equal, a negative value if the
  * Sorts a #GList using the given comparison function. The algorithm
  * used is a stable sort.
  *
- * Returns: the start of the sorted #GList
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
 /**
  * g_list_sort_with_data:
- * @list: a #GList
+ * @list: a #GList, this must point to the top of the list
  * @compare_func: comparison function
  * @user_data: user data to pass to comparison function
  *
  * Like g_list_sort(), but the comparison function accepts
  * a user data argument.
  *
- * Returns: the new head of @list
+ * Returns: the (possibly changed) start of the #GList
  */
 
 
  * Copies a block of memory @len bytes long, from @src to @dest.
  * The source and destination areas may overlap.
  *
- * In order to use this function, you must include
- * <filename>string.h</filename> yourself, because this macro will
- * typically simply resolve to memmove() and GLib does not include
- * <filename>string.h</filename> for you.
+ * Deprecated: 2.40: Just use memmove().
  */
 
 
 
 
 /**
+ * g_option_context_parse_strv:
+ * @context: a #GOptionContext
+ * @arguments: (inout) (array null-terminated=1): a pointer to the
+ *    command line arguments (which must be in UTF-8 on Windows)
+ * @error: a return location for errors
+ *
+ * Parses the command line arguments.
+ *
+ * This function is similar to g_option_context_parse() except that it
+ * respects the normal memory rules when dealing with a strv instead of
+ * assuming that the passed-in array is the argv of the main function.
+ *
+ * In particular, strings that are removed from the arguments list will
+ * be freed using g_free().
+ *
+ * On Windows, the strings are expected to be in UTF-8.  This is in
+ * contrast to g_option_context_parse() which expects them to be in the
+ * system codepage, which is how they are passed as @argv to main().
+ * See g_win32_get_command_line() for a solution.
+ *
+ * This function is useful if you are trying to use #GOptionContext with
+ * #GApplication.
+ *
+ * Returns: %TRUE if the parsing was successful,
+ *          %FALSE if an error occurred
+ * Since: 2.40
+ */
+
+
+/**
  * g_option_context_set_description:
  * @context: a #GOptionContext
  * @description: (allow-none): a string to be shown in <option>--help</option> output
 
 
 /**
+ * g_ptr_array_insert:
+ * @array: a #GPtrArray.
+ * @index_: the index to place the new element at, or -1 to append.
+ * @data: the pointer to add.
+ *
+ * Inserts an element into the pointer array at the given index. The
+ * array will grow in size automatically if necessary.
+ *
+ * Since: 2.40
+ */
+
+
+/**
  * g_ptr_array_new:
  *
  * Creates a new #GPtrArray with a reference count of 1.
 
 /**
  * g_ptr_array_remove_range:
- * @array: a @GPtrArray.
- * @index_: the index of the first pointer to remove.
- * @length: the number of pointers to remove.
+ * @array: a @GPtrArray
+ * @index_: the index of the first pointer to remove
+ * @length: the number of pointers to remove
  *
  * Removes the given number of pointers starting at the given index
  * from a #GPtrArray.  The following elements are moved to close the
  * gap. If @array has a non-%NULL #GDestroyNotify function it is called
  * for the removed elements.
  *
+ * Returns: the @array
  * Since: 2.4
  */
 
  * queue consist of pointers to data, the pointers are copied, but the
  * actual data is not.
  *
- * Returns: A copy of @queue
+ * Returns: a copy of @queue
  * Since: 2.4
  */
 
  *
  * Finds the first link in @queue which contains @data.
  *
- * Returns: The first link in @queue which contains @data.
+ * Returns: the first link in @queue which contains @data
  * Since: 2.4
  */
 
  * @queue: a #GQueue
  * @data: user data passed to @func
  * @func: a #GCompareFunc to call for each element. It should return 0
- * when the desired element is found
+ *     when the desired element is found
  *
  * Finds an element in a #GQueue, using a supplied function to find the
  * desired element. It iterates over the queue, calling the given function
  * takes two gconstpointer arguments, the #GQueue element's data as the
  * first argument and the given user data as the second argument.
  *
- * Returns: The found link, or %NULL if it wasn't found
+ * Returns: the found link, or %NULL if it wasn't found
  * Since: 2.4
  */
 
 
 /**
  * g_queue_free:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  *
- * Frees the memory allocated for the #GQueue. Only call this function if
- * @queue was created with g_queue_new(). If queue elements contain
+ * Frees the memory allocated for the #GQueue. Only call this function
+ * if @queue was created with g_queue_new(). If queue elements contain
  * dynamically-allocated memory, they should be freed first.
  *
  * <note><para>
  * @queue: a pointer to a #GQueue
  * @free_func: the function to be called to free each element's data
  *
- * Convenience method, which frees all the memory used by a #GQueue, and
- * calls the specified destroy function on every element's data.
+ * Convenience method, which frees all the memory used by a #GQueue,
+ * and calls the specified destroy function on every element's data.
  *
  * Since: 2.32
  */
  *
  * Returns the number of items in @queue.
  *
- * Returns: The number of items in @queue.
+ * Returns: the number of items in @queue
  * Since: 2.4
  */
 
 /**
  * g_queue_index:
  * @queue: a #GQueue
- * @data: the data to find.
+ * @data: the data to find
  *
  * Returns the position of the first element in @queue which contains @data.
  *
- * Returns: The position of the first element in @queue which contains @data, or -1 if no element in @queue contains @data.
+ * Returns: the position of the first element in @queue which
+ *     contains @data, or -1 if no element in @queue contains @data
  * Since: 2.4
  */
 
  *     return 0 if the elements are equal, a negative value if the first
  *     element comes before the second, and a positive value if the second
  *     element comes before the first.
- * @user_data: user data passed to @func.
+ * @user_data: user data passed to @func
  *
  * Inserts @data into @queue using @func to determine the new position.
  *
  *
  * Returns %TRUE if the queue is empty.
  *
- * Returns: %TRUE if the queue is empty.
+ * Returns: %TRUE if the queue is empty
  */
 
 
 /**
  * g_queue_link_index:
  * @queue: a #GQueue
- * @link_: A #GList link
+ * @link_: a #GList link
  *
  * Returns the position of @link_ in @queue.
  *
- * Returns: The position of @link_, or -1 if the link is
- * not part of @queue
+ * Returns: the position of @link_, or -1 if the link is
+ *     not part of @queue
  * Since: 2.4
  */
 
  *
  * Creates a new #GQueue.
  *
- * Returns: a new #GQueue.
+ * Returns: a newly allocated #GQueue
  */
 
 
 /**
  * g_queue_peek_head:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  *
  * Returns the first element of the queue.
  *
- * Returns: the data of the first element in the queue, or %NULL if the queue
- *   is empty.
+ * Returns: the data of the first element in the queue, or %NULL
+ *     if the queue is empty
  */
 
 
  * g_queue_peek_head_link:
  * @queue: a #GQueue
  *
- * Returns the first link in @queue
+ * Returns the first link in @queue.
  *
  * Returns: the first link in @queue, or %NULL if @queue is empty
  * Since: 2.4
 /**
  * g_queue_peek_nth:
  * @queue: a #GQueue
- * @n: the position of the element.
+ * @n: the position of the element
  *
  * Returns the @n'th element of @queue.
  *
- * Returns: The data for the @n'th element of @queue, or %NULL if @n is
- *   off the end of @queue.
+ * Returns: the data for the @n'th element of @queue,
+ *     or %NULL if @n is off the end of @queue
  * Since: 2.4
  */
 
  *
  * Returns the link at the given position
  *
- * Returns: The link at the @n'th position, or %NULL if @n is off the
- * end of the list
+ * Returns: the link at the @n'th position, or %NULL
+ *     if @n is off the end of the list
  * Since: 2.4
  */
 
 
 /**
  * g_queue_peek_tail:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  *
  * Returns the last element of the queue.
  *
- * Returns: the data of the last element in the queue, or %NULL if the queue
- *   is empty.
+ * Returns: the data of the last element in the queue, or %NULL
+ *     if the queue is empty
  */
 
 
  * g_queue_peek_tail_link:
  * @queue: a #GQueue
  *
- * Returns the last link @queue.
+ * Returns the last link in @queue.
  *
  * Returns: the last link in @queue, or %NULL if @queue is empty
  * Since: 2.4
 
 /**
  * g_queue_pop_head:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  *
- * Removes the first element of the queue.
+ * Removes the first element of the queue and returns its data.
  *
- * Returns: the data of the first element in the queue, or %NULL if the queue
- *   is empty.
+ * Returns: the data of the first element in the queue, or %NULL
+ *     if the queue is empty
  */
 
 
 /**
  * g_queue_pop_head_link:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  *
- * Removes the first element of the queue.
+ * Removes and returns the first element of the queue.
  *
- * Returns: the #GList element at the head of the queue, or %NULL if the queue
- *   is empty.
+ * Returns: the #GList element at the head of the queue, or %NULL
+ *     if the queue is empty
  */
 
 
 /**
  * g_queue_pop_nth:
  * @queue: a #GQueue
- * @n: the position of the element.
+ * @n: the position of the element
  *
- * Removes the @n'th element of @queue.
+ * Removes the @n'th element of @queue and returns its data.
  *
- * Returns: the element's data, or %NULL if @n is off the end of @queue.
+ * Returns: the element's data, or %NULL if @n is off the end of @queue
  * Since: 2.4
  */
 
  *
  * Removes and returns the link at the given position.
  *
- * Returns: The @n'th link, or %NULL if @n is off the end of @queue.
+ * Returns: the @n'th link, or %NULL if @n is off the end of @queue
  * Since: 2.4
  */
 
 
 /**
  * g_queue_pop_tail:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  *
- * Removes the last element of the queue.
+ * Removes the last element of the queue and returns its data.
  *
- * Returns: the data of the last element in the queue, or %NULL if the queue
- *   is empty.
+ * Returns: the data of the last element in the queue, or %NULL
+ *     if the queue is empty
  */
 
 
 /**
  * g_queue_pop_tail_link:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  *
- * Removes the last element of the queue.
+ * Removes and returns the last element of the queue.
  *
- * Returns: the #GList element at the tail of the queue, or %NULL if the queue
- *   is empty.
+ * Returns: the #GList element at the tail of the queue, or %NULL
+ *     if the queue is empty
  */
 
 
 
 /**
  * g_queue_push_head_link:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  * @link_: a single #GList element, <emphasis>not</emphasis> a list with
- *     more than one element.
+ *     more than one element
  *
  * Adds a new element at the head of the queue.
  */
  *     larger than the number of elements in the @queue, the element is
  *     added to the end of the queue.
  *
- * Inserts a new element into @queue at the given position
+ * Inserts a new element into @queue at the given position.
  *
  * Since: 2.4
  */
 
 /**
  * g_queue_push_tail:
- * @queue: a #GQueue.
- * @data: the data for the new element.
+ * @queue: a #GQueue
+ * @data: the data for the new element
  *
  * Adds a new element at the tail of the queue.
  */
 
 /**
  * g_queue_push_tail_link:
- * @queue: a #GQueue.
+ * @queue: a #GQueue
  * @link_: a single #GList element, <emphasis>not</emphasis> a list with
- *   more than one element.
+ *   more than one element
  *
  * Adds a new element at the tail of the queue.
  */
 /**
  * g_queue_remove:
  * @queue: a #GQueue
- * @data: data to remove.
+ * @data: the data to remove
  *
  * Removes the first element in @queue that contains @data.
  *
 /**
  * g_queue_remove_all:
  * @queue: a #GQueue
- * @data: data to remove
+ * @data: the data to remove
  *
  * Remove all elements whose data equals @data from @queue.
  *
  * Unlinks @link_ so that it will no longer be part of @queue. The link is
  * not freed.
  *
- * @link_ must be part of @queue,
+ * @link_ must be part of @queue.
  *
  * Since: 2.4
  */
 
 /**
  * g_realloc:
- * @mem: the memory to reallocate
+ * @mem: (allow-none): the memory to reallocate
  * @n_bytes: new size of the memory in bytes
  *
  * Reallocates the memory pointed to by @mem, so that it now has space for
 
 /**
  * g_realloc_n:
- * @mem: the memory to reallocate
+ * @mem: (allow-none): the memory to reallocate
  * @n_blocks: the number of blocks to allocate
  * @n_block_bytes: the size of each block in bytes
  *
  * improve the transliteration if the language of the source string is
  * known.
  *
- * Returns: the folded tokens
+ * Returns: (transfer full) (array zero-terminated=1): the folded tokens
  * Since: 2.40
  */
 
  * Removes trailing whitespace from a string.
  *
  * This function doesn't allocate or reallocate any memory;
- * it modifies @string in place. The pointer to @string is
- * returned to allow the nesting of functions.
+ * it modifies @string in place. Therefore, it cannot be used
+ * on statically allocated strings.
+ *
+ * The pointer to @string is returned to allow the nesting of functions.
  *
  * Also see g_strchug() and g_strstrip().
  *
- * Returns: @string.
+ * Returns: @string
  */
 
 
  * of the characters forward.
  *
  * This function doesn't allocate or reallocate any memory;
- * it modifies @string in place. The pointer to @string is
- * returned to allow the nesting of functions.
+ * it modifies @string in place. Therefore, it cannot be used on
+ * statically allocated strings.
+ *
+ * The pointer to @string is returned to allow the nesting of functions.
  *
  * Also see g_strchomp() and g_strstrip().
  *
  *
  * In order for this function to work in srcdir != builddir situations,
  * the G_TEST_SRCDIR and G_TEST_BUILDDIR environment variables need to
- * have been defined.  As of 2.38, this is done by the Makefile.decl
+ * have been defined.  As of 2.38, this is done by the glib.mk
  * included in GLib.  Please ensure that your copy is up to date before
  * using this function.
  *
  *        Changed if any arguments were handled.
  * @argv: Address of the @argv parameter of main().
  *        Any parameters understood by g_test_init() stripped before return.
- * @...: Reserved for future extension. Currently, you must pass %NULL.
+ * @...: %NULL-terminated list of special options. Currently the only
+ *       defined option is <literal>"no_g_set_prgname"</literal>, which
+ *       will cause g_test_init() to not call g_set_prgname().
  *
  * Initialize the GLib testing framework, e.g. by seeding the
  * test random number generator, the name for g_get_prgname()
  * g_test_run_suite() or g_test_run() may only be called once
  * in a program.
  *
- * Returns: 0 on success
+ * In general, the tests and sub-suites within each suite are run in
+ * the order in which they are defined. However, note that prior to
+ * GLib 2.36, there was a bug in the <literal>g_test_add_*</literal>
+ * functions which caused them to create multiple suites with the same
+ * name, meaning that if you created tests "/foo/simple",
+ * "/bar/simple", and "/foo/using-bar" in that order, they would get
+ * run in that order (since g_test_run() would run the first "/foo"
+ * suite, then the "/bar" suite, then the second "/foo" suite). As of
+ * 2.36, this bug is fixed, and adding the tests in that order would
+ * result in a running order of "/foo/simple", "/foo/using-bar",
+ * "/bar/simple". If this new ordering is sub-optimal (because it puts
+ * more-complicated tests before simpler ones, making it harder to
+ * figure out exactly what has failed), you can fix it by changing the
+ * test paths to group tests by suite in a way that will result in the
+ * desired running order. Eg, "/simple/foo", "/simple/bar",
+ * "/complex/foo-using-bar".
+ *
+ * However, you should never make the actual result of a test depend
+ * on the order that tests are run in. If you need to ensure that some
+ * particular code runs before or after a given test case, use
+ * g_test_add(), which lets you specify setup and teardown functions.
+ *
+ * Returns: 0 on success, 1 on failure (assuming it returns at all),
+ *   77 if all tests were skipped with g_test_skip().
  * Since: 2.16
  */
 
  * Execute the tests within @suite and all nested #GTestSuites.
  * The test suites to be executed are filtered according to
  * test path arguments (-p <replaceable>testpath</replaceable>)
- * as parsed by g_test_init().
+ * as parsed by g_test_init(). See the g_test_run() documentation
+ * for more information on the order that tests are run in.
+ *
  * g_test_run_suite() or g_test_run() may only be called once
  * in a program.
  *
  * g_assert_true(), g_assert_false(), g_assert_null(), g_assert_no_error(),
  * g_assert_error(), g_test_assert_expected_messages() and the various
  * g_test_trap_assert_*() macros to not abort to program, but instead
- * call g_test_fail() and continue.
+ * call g_test_fail() and continue. (This also changes the behavior of
+ * g_test_fail() so that it will not cause the test program to abort
+ * after completing the failed test.)
  *
  * Note that the g_assert_not_reached() and g_assert() are not
  * affected by this.
 
 /**
  * g_test_trap_subprocess:
- * @test_path: Test to run in a subprocess
+ * @test_path: (allow-none): Test to run in a subprocess
  * @usec_timeout: Timeout for the subprocess test in micro seconds.
  * @test_flags: Flags to modify subprocess behaviour.
  *
  * Respawns the test program to run only @test_path in a subprocess.
  * This can be used for a test case that might not return, or that
- * might abort. @test_path will normally be the name of the parent
+ * might abort.
+ *
+ * If @test_path is %NULL then the same test is re-run in a subprocess.
+ * You can use g_test_subprocess() to determine whether the test is in
+ * a subprocess or not.
+ *
+ * @test_path can also be the name of the parent
  * test, followed by "<literal>/subprocess/</literal>" and then a name
  * for the specific subtest (or just ending with
  * "<literal>/subprocess</literal>" if the test only has one child
  *   static void
  *   test_create_large_object_subprocess (void)
  *   {
- *     my_object_new (1000000);
- *   }
+ *     if (g_test_subprocess ())
+ *       {
+ *         my_object_new (1000000);
+ *         return;
+ *       }
  *
- *   static void
- *   test_create_large_object (void)
- *   {
- *     g_test_trap_subprocess ("/myobject/create_large_object/subprocess", 0, 0);
+ *     /&ast; Reruns this same test in a subprocess &ast;/
+ *     g_test_trap_subprocess (NULL, 0, 0);
  *     g_test_trap_assert_failed ();
  *     g_test_trap_assert_stderr ("*ERROR*too large*");
  *   }
  *
  *     g_test_add_func ("/myobject/create_large_object",
  *                      test_create_large_object);
- *     /&ast; Because of the '/subprocess' in the name, this test will
- *      &ast; not be run by the g_test_run () call below.
- *      &ast;/
- *     g_test_add_func ("/myobject/create_large_object/subprocess",
- *                      test_create_large_object_subprocess);
- *
  *     return g_test_run ();
  *   }
  * ]|
 
 /**
  * g_tree_destroy:
- * @tree: a #GTree.
+ * @tree: a #GTree
  *
  * Removes all keys and values from the #GTree and decreases its
  * reference count by one. If keys and/or values are dynamically
  * allocated, you should either free them first or create the #GTree
- * using g_tree_new_full().  In the latter case the destroy functions
+ * using g_tree_new_full(). In the latter case the destroy functions
  * you supplied will be called on all keys and values before destroying
  * the #GTree.
  */
 
 /**
  * g_tree_foreach:
- * @tree: a #GTree.
+ * @tree: a #GTree
  * @func: the function to call for each node visited.
  *     If this function returns %TRUE, the traversal is stopped.
- * @user_data: user data to pass to the function.
+ * @user_data: user data to pass to the function
  *
  * Calls the given function for each of the key/value pairs in the #GTree.
  * The function is passed the key and value of each pair, and the given
 
 /**
  * g_tree_height:
- * @tree: a #GTree.
+ * @tree: a #GTree
  *
  * Gets the height of a #GTree.
  *
  * If the #GTree contains only one root node the height is 1.
  * If the root node has children the height is 2, etc.
  *
- * Returns: the height of the #GTree.
+ * Returns: the height of @tree
  */
 
 
 /**
  * g_tree_insert:
- * @tree: a #GTree.
- * @key: the key to insert.
- * @value: the value corresponding to the key.
+ * @tree: a #GTree
+ * @key: the key to insert
+ * @value: the value corresponding to the key
  *
- * Inserts a key/value pair into a #GTree. If the given key already exists
- * in the #GTree its corresponding value is set to the new value. If you
- * supplied a value_destroy_func when creating the #GTree, the old value is
- * freed using that function. If you supplied a @key_destroy_func when
- * creating the #GTree, the passed key is freed using that function.
+ * Inserts a key/value pair into a #GTree.
+ *
+ * If the given key already exists in the #GTree its corresponding value
+ * is set to the new value. If you supplied a @value_destroy_func when
+ * creating the #GTree, the old value is freed using that function. If
+ * you supplied a @key_destroy_func when creating the #GTree, the passed
+ * key is freed using that function.
  *
  * The tree is automatically 'balanced' as new key/value pairs are added,
  * so that the distance from the root to every leaf is as small as possible.
 
 /**
  * g_tree_lookup:
- * @tree: a #GTree.
- * @key: the key to look up.
+ * @tree: a #GTree
+ * @key: the key to look up
  *
  * Gets the value corresponding to the given key. Since a #GTree is
- * automatically balanced as key/value pairs are added, key lookup is very
- * fast.
+ * automatically balanced as key/value pairs are added, key lookup
+ * is O(log n) (where n is the number of key/value pairs in the tree).
  *
- * Returns: the value corresponding to the key, or %NULL if the key was
- * not found.
+ * Returns: the value corresponding to the key, or %NULL
+ *     if the key was not found.
  */
 
 
 /**
  * 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.
+ * @tree: a #GTree
+ * @lookup_key: the key to look up
+ * @orig_key: returns the original key
+ * @value: returns the value associated with the key
  *
  * Looks up a key in the #GTree, returning the original key and the
- * associated value and a #gboolean which is %TRUE if the key was found. This
- * is useful if you need to free the memory allocated for the original key,
- * for example before calling g_tree_remove().
+ * associated value. This is useful if you need to free the memory
+ * allocated for the original key, for example before calling
+ * g_tree_remove().
  *
- * Returns: %TRUE if the key was found in the #GTree.
+ * Returns: %TRUE if the key was found in the #GTree
  */
 
 
  *
  * Creates a new #GTree.
  *
- * Returns: a new #GTree.
+ * Returns: a newly allocated #GTree
  */
 
 
 /**
  * g_tree_new_full:
- * @key_compare_func: qsort()-style comparison function.
- * @key_compare_data: data to pass to comparison function.
+ * @key_compare_func: qsort()-style comparison function
+ * @key_compare_data: data to pass to comparison function
  * @key_destroy_func: a function to free the memory allocated for the key
  *   used when removing the entry from the #GTree or %NULL if you don't
- *   want to supply such a function.
+ *   want to supply such a function
  * @value_destroy_func: a function to free the memory allocated for the
  *   value used when removing the entry from the #GTree or %NULL if you
- *   don't want to supply such a function.
+ *   don't want to supply such a function
  *
  * Creates a new #GTree like g_tree_new() and allows to specify functions
  * to free the memory allocated for the key and value that get called when
  * removing the entry from the #GTree.
  *
- * Returns: a new #GTree.
+ * Returns: a newly allocated #GTree
  */
 
 
 /**
  * g_tree_new_with_data:
- * @key_compare_func: qsort()-style comparison function.
- * @key_compare_data: data to pass to comparison function.
+ * @key_compare_func: qsort()-style comparison function
+ * @key_compare_data: data to pass to comparison function
  *
  * Creates a new #GTree with a comparison function that accepts user data.
  * See g_tree_new() for more details.
  *
- * Returns: a new #GTree.
+ * Returns: a newly allocated #GTree
  */
 
 
 /**
  * g_tree_nnodes:
- * @tree: a #GTree.
+ * @tree: a #GTree
  *
  * Gets the number of nodes in a #GTree.
  *
- * Returns: the number of nodes in the #GTree.
+ * Returns: the number of nodes in @tree
  */
 
 
 /**
  * g_tree_ref:
- * @tree: a #GTree.
+ * @tree: a #GTree
  *
- * Increments the reference count of @tree by one.  It is safe to call
- * this function from any thread.
+ * Increments the reference count of @tree by one.
  *
- * Returns: the passed in #GTree.
+ * It is safe to call this function from any thread.
+ *
+ * Returns: the passed in #GTree
  * Since: 2.22
  */
 
 
 /**
  * g_tree_remove:
- * @tree: a #GTree.
- * @key: the key to remove.
+ * @tree: a #GTree
+ * @key: the key to remove
  *
  * Removes a key/value pair from a #GTree.
  *
  * make sure that any dynamically allocated values are freed yourself.
  * If the key does not exist in the #GTree, the function does nothing.
  *
- * Returns: %TRUE if the key was found (prior to 2.8, this function returned
- *   nothing)
+ * Returns: %TRUE if the key was found (prior to 2.8, this function
+ *     returned nothing)
  */
 
 
 /**
  * g_tree_replace:
- * @tree: a #GTree.
- * @key: the key to insert.
- * @value: the value corresponding to the key.
+ * @tree: a #GTree
+ * @key: the key to insert
+ * @value: the value corresponding to the key
  *
  * Inserts a new key and value into a #GTree similar to g_tree_insert().
  * The difference is that if the key already exists in the #GTree, it gets
  * @search_func returns 1, searching will proceed among the key/value
  * pairs that have a larger key.
  *
- * Returns: the value corresponding to the found key, or %NULL if
- * the key was not found.
+ * Returns: the value corresponding to the found key, or %NULL
+ *     if the key was not found.
  */
 
 
 /**
  * g_tree_steal:
- * @tree: a #GTree.
- * @key: the key to remove.
+ * @tree: a #GTree
+ * @key: the key to remove
  *
  * Removes a key and its associated value from a #GTree without calling
  * the key and value destroy functions.
  *
  * If the key does not exist in the #GTree, the function does nothing.
  *
- * Returns: %TRUE if the key was found (prior to 2.8, this function returned
- *    nothing)
+ * Returns: %TRUE if the key was found (prior to 2.8, this function
+ *     returned nothing)
  */
 
 
 /**
  * g_tree_traverse:
- * @tree: a #GTree.
+ * @tree: a #GTree
  * @traverse_func: the function to call for each node visited. If this
  *   function returns %TRUE, the traversal is stopped.
  * @traverse_type: the order in which nodes are visited, one of %G_IN_ORDER,
- *   %G_PRE_ORDER and %G_POST_ORDER.
- * @user_data: user data to pass to the function.
+ *   %G_PRE_ORDER and %G_POST_ORDER
+ * @user_data: user data to pass to the function
  *
  * Calls the given function for each node in the #GTree.
  *
- * Deprecated: 2.2: The order of a balanced tree is somewhat arbitrary. If you
- * just want to visit all nodes in sorted order, use g_tree_foreach()
- * instead. If you really need to visit nodes in a different order, consider
- * using an <link linkend="glib-N-ary-Trees">N-ary Tree</link>.
+ * Deprecated: 2.2: The order of a balanced tree is somewhat arbitrary.
+ *     If you just want to visit all nodes in sorted order, use
+ *     g_tree_foreach() instead. If you really need to visit nodes in
+ *     a different order, consider using an
+ *     <link linkend="glib-N-ary-Trees">N-ary Tree</link>.
  */
 
 
 /**
  * g_tree_unref:
- * @tree: a #GTree.
+ * @tree: a #GTree
  *
- * Decrements the reference count of @tree by one.  If the reference count
- * drops to 0, all keys and values will be destroyed (if destroy
- * functions were specified) and all memory allocated by @tree will be
- * released.
+ * Decrements the reference count of @tree by one.
+ * If the reference count drops to 0, all keys and values will
+ * be destroyed (if destroy functions were specified) and all
+ * memory allocated by @tree will be released.
  *
  * It is safe to call this function from any thread.
  *
 
 
 /**
- * g_variant_builder_add: (skp)
+ * g_variant_builder_add: (skip)
  * @builder: a #GVariantBuilder
  * @format_string: a #GVariant varargs format string
  * @...: arguments, as per @format_string
  *
  * This function might be used as follows:
  *
- * <programlisting>
+ * |[
  * GVariant *
  * make_pointless_dictionary (void)
  * {
- *   GVariantBuilder *builder;
+ *   GVariantBuilder builder;
  *   int i;
  *
- *   builder = g_variant_builder_new (G_VARIANT_TYPE_ARRAY);
+ *   g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY);
  *   for (i = 0; i < 16; i++)
  *     {
  *       gchar buf[3];
  *
  *       sprintf (buf, "%d", i);
- *       g_variant_builder_add (builder, "{is}", i, buf);
+ *       g_variant_builder_add (&builder, "{is}", i, buf);
  *     }
  *
- *   return g_variant_builder_end (builder);
+ *   return g_variant_builder_end (&builder);
  * }
- * </programlisting>
+ * ]|
  *
  * Since: 2.24
  */
  *
  * This function might be used as follows:
  *
- * <programlisting>
+ * |[
  * GVariant *
  * make_pointless_dictionary (void)
  * {
- *   GVariantBuilder *builder;
+ *   GVariantBuilder builder;
  *   int i;
  *
- *   builder = g_variant_builder_new (G_VARIANT_TYPE_ARRAY);
- *   g_variant_builder_add_parsed (builder, "{'width', <%i>}", 600);
- *   g_variant_builder_add_parsed (builder, "{'title', <%s>}", "foo");
- *   g_variant_builder_add_parsed (builder, "{'transparency', <0.5>}");
- *   return g_variant_builder_end (builder);
+ *   g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY);
+ *   g_variant_builder_add_parsed (&builder, "{'width', <%i>}", 600);
+ *   g_variant_builder_add_parsed (&builder, "{'title', <%s>}", "foo");
+ *   g_variant_builder_add_parsed (&builder, "{'transparency', <0.5>}");
+ *   return g_variant_builder_end (&builder);
  * }
- * </programlisting>
+ * ]|
  *
  * Since: 2.26
  */
 
 
 /**
+ * g_variant_parse_error_print_context:
+ * @error: a #GError from the #GVariantParseError domain
+ * @source_str: the string that was given to the parser
+ *
+ * Pretty-prints a message showing the context of a #GVariant parse
+ * error within the string for which parsing was attempted.
+ *
+ * The resulting string is suitable for output to the console or other
+ * monospace media where newlines are treated in the usual way.
+ *
+ * The message will typically look something like one of the following:
+ *
+ * |[
+ * unterminated string constant:
+ *   (1, 2, 3, 'abc
+ *             ^^^^
+ * ]|
+ *
+ * or
+ *
+ * |[
+ * unable to find a common type:
+ *   [1, 2, 3, 'str']
+ *    ^        ^^^^^
+ * ]|
+ *
+ * The format of the message may change in a future version.
+ *
+ * @error must have come from a failed attempt to g_variant_parse() and
+ * @source_str must be exactly the same string that caused the error.
+ * If @source_str was not nul-terminated when you passed it to
+ * g_variant_parse() then you must add nul termination before using this
+ * function.
+ *
+ * Returns: (transfer full): the printed message
+ * Since: 2.40
+ */
+
+
+/**
  * g_variant_print:
  * @value: a #GVariant
  * @type_annotate: %TRUE if type information should be included in
 
 
 /**
+ * g_win32_get_command_line:
+ *
+ * Gets the command line arguments, on Windows, in the GLib filename
+ * encoding (ie: UTF-8).
+ *
+ * Normally, on Windows, the command line arguments are passed to main()
+ * in the system codepage encoding.  This prevents passing filenames as
+ * arguments if the filenames contain characters that fall outside of
+ * this codepage.  If such filenames are passed, then substitutions
+ * will occur (such as replacing some characters with '?').
+ *
+ * GLib's policy of using UTF-8 as a filename encoding on Windows was
+ * designed to localise the pain of dealing with filenames outside of
+ * the system codepage to one area: dealing with commandline arguments
+ * in main().
+ *
+ * As such, most GLib programs should ignore the value of argv passed to
+ * their main() function and call g_win32_get_command_line() instead.
+ * This will get the "full Unicode" commandline arguments using
+ * GetCommandLineW() and convert it to the GLib filename encoding (which
+ * is UTF-8 on Windows).
+ *
+ * The strings returned by this function are suitable for use with
+ * functions such as g_open() and g_file_new_for_commandline_arg() but
+ * are not suitable for use with g_option_context_parse(), which assumes
+ * that its input will be in the system codepage.  The return value is
+ * suitable for use with g_option_context_parse_strv(), however, which
+ * is a better match anyway because it won't leak memory.
+ *
+ * Unlike argv, the returned value is a normal strv and can (and should)
+ * be freed with g_strfreev() when no longer needed.
+ *
+ * Returns: (transfer full): the commandline arguments in the GLib
+ *   filename encoding (ie: UTF-8)
+ * Since: 2.40
+ */
+
+
+/**
  * g_win32_get_package_installation_directory:
  * @package: (allow-none): You should pass %NULL for this.
  * @dll_name: (allow-none): The name of a DLL that a package provides in UTF-8, or %NULL.
index 0b40df3..ccfbcca 100644 (file)
@@ -74,8 +74,8 @@
  * G_MODULE_SUFFIX:
  *
  * Expands to the proper shared library suffix for the current platform
- * without the leading dot. For the most Unices and Linux this is "so",
- * for some HP-UX versions this is "sl" and for Windows this is "dll".
+ * without the leading dot. For most Unices and Linux this is "so", and
+ * for Windows this is "dll".
  */
 
 
@@ -87,7 +87,7 @@
  * These functions provide a portable way to dynamically load object files
  * (commonly known as 'plug-ins'). The current implementation supports all
  * systems that provide an implementation of dlopen() (e.g. Linux/Sun), as
- * well as HP-UX via its shl_load() mechanism, and Windows platforms via DLLs.
+ * well as Windows platforms via DLLs.
  *
  * A program which wants to use these functions must be linked to the
  * libraries output by the command
index 2a0d276..ab618f6 100644 (file)
  *
  * Provide a copy of a boxed structure @src_boxed which is of type @boxed_type.
  *
- * Returns: The newly created copy of the boxed structure.
+ * Returns: (transfer full): The newly created copy of the boxed structure.
  */
 
 
 /**
  * g_enum_complete_type_info:
  * @g_enum_type: the type identifier of the type being completed
- * @info: the #GTypeInfo struct to be filled in
+ * @info: (out callee-allocates): the #GTypeInfo struct to be filled in
  * @const_values: An array of #GEnumValue structs for the possible
  *  enumeration values. The array is terminated by a struct with all
  *  members being 0.
  *
  * Returns the #GEnumValue for a value.
  *
- * Returns: the #GEnumValue for @value, or %NULL if @value is not a
- *          member of the enumeration
+ * Returns: (transfer none): the #GEnumValue for @value, or %NULL
+ *          if @value is not a member of the enumeration
  */
 
 
  *
  * Looks up a #GEnumValue by name.
  *
- * Returns: the #GEnumValue with name @name, or %NULL if the
- *          enumeration doesn't have a member with that name
+ * Returns: (transfer none): the #GEnumValue with name @name,
+ *          or %NULL if the enumeration doesn't have a member
+ *          with that name
  */
 
 
  *
  * Looks up a #GEnumValue by nickname.
  *
- * Returns: the #GEnumValue with nickname @nick, or %NULL if the
- *          enumeration doesn't have a member with that nickname
+ * Returns: (transfer none): the #GEnumValue with nickname @nick,
+ *          or %NULL if the enumeration doesn't have a member
+ *          with that nickname
  */
 
 
 /**
  * g_flags_complete_type_info:
  * @g_flags_type: the type identifier of the type being completed
- * @info: the #GTypeInfo struct to be filled in
+ * @info: (out callee-allocates): the #GTypeInfo struct to be filled in
  * @const_values: An array of #GFlagsValue structs for the possible
  *  enumeration values. The array is terminated by a struct with all
  *  members being 0.
  *
  * Returns the first #GFlagsValue which is set in @value.
  *
- * Returns: the first #GFlagsValue which is set in @value, or %NULL if
- *          none is set
+ * Returns: (transfer none): the first #GFlagsValue which is set in
+ *          @value, or %NULL if none is set
  */
 
 
  *
  * Looks up a #GFlagsValue by name.
  *
- * Returns: the #GFlagsValue with name @name, or %NULL if there is no
- *          flag with that name
+ * Returns: (transfer none): the #GFlagsValue with name @name,
+ *          or %NULL if there is no flag with that name
  */
 
 
  *
  * Looks up a #GFlagsValue by nickname.
  *
- * Returns: the #GFlagsValue with nickname @nick, or %NULL if there is
- *          no flag with that nickname
+ * Returns: (transfer none): the #GFlagsValue with nickname @nick,
+ *          or %NULL if there is no flag with that nickname
  */
 
 
  * When possible, eg. when signaling a property change from within the class
  * that registered the property, you should use g_object_notify_by_pspec()
  * instead.
+ *
+ * Note that emission of the notify signal may be blocked with
+ * g_object_freeze_notify(). In this case, the signal emissions are queued
+ * and will be emitted (in reverse order) when g_object_thaw_notify() is
+ * called.
  */
 
 
  *  name/value pairs, followed by %NULL
  *
  * Sets properties on an object.
+ *
+ * Note that the "notify" signals are queued and only emitted (in
+ * reverse order) after all properties have been set. See
+ * g_object_freeze_notify().
  */
 
 
  * and when it reaches zero, queued "notify" signals are emitted.
  *
  * Duplicate notifications for each property are squashed so that at most one
- * #GObject::notify signal is emitted for each property.
+ * #GObject::notify signal is emitted for each property, in the reverse order
+ * in which they have been queued.
  *
  * It is an error to call this function when the freeze count is zero.
  */
  *
  * Connects a closure to a signal for a particular object.
  *
- * Returns: the handler id
+ * Returns: the handler id (always greater than 0 for successful connections)
  */
 
 
  *
  * Connects a closure to a signal for a particular object.
  *
- * Returns: the handler id
+ * Returns: the handler id (always greater than 0 for successful connections)
  */
 
 
  * used. Specify @connect_flags if you need <literal>..._after()</literal> or
  * <literal>..._swapped()</literal> variants of this function.
  *
- * Returns: the handler id
+ * Returns: the handler id (always greater than 0 for successful connections)
  */
 
 
  * @dest_type: Target type.
  *
  * Check whether g_value_transform() is able to transform values
- * of type @src_type into values of type @dest_type.
+ * of type @src_type into values of type @dest_type. Note that for
+ * the types to be transformable, they must be compatible and a
+ * transform function must be registered.
  *
  * Returns: %TRUE if the transformation is possible, %FALSE otherwise.
  */
index b0aff37..3e3b312 100644 (file)
@@ -536,7 +536,7 @@ g_object_info_get_signal (GIObjectInfo *info,
  *
  * TODO
  *
- * Returns: Info for the signal with name @name in @info, or %NULL on failure.
+ * Returns: (transfer full): Info for the signal with name @name in @info, or %NULL on failure.
  */
 GISignalInfo *
 g_object_info_find_signal (GIObjectInfo *info,
index 05c8987..e3897c3 100644 (file)
@@ -279,8 +279,9 @@ add_directory_index_section (guint8 *data, GIrModule *module, guint32 *offset2)
   alloc_section (data, GI_SECTION_DIRECTORY_INDEX, *offset2);
 
   required_size = _gi_typelib_hash_builder_get_buffer_size (dirindex_builder);
+  required_size = ALIGN_VALUE (required_size, 4);
 
-  new_offset = *offset2 + ALIGN_VALUE (required_size, 4);
+  new_offset = *offset2 + required_size;
 
   data = g_realloc (data, new_offset);
 
index 4361474..093a378 100644 (file)
@@ -1010,10 +1010,10 @@ parse_float_value (const gchar *str)
 static gboolean
 parse_boolean_value (const gchar *str)
 {
-  if (strcmp (str, "TRUE") == 0)
+  if (g_ascii_strcasecmp (str, "TRUE") == 0)
     return TRUE;
 
-  if (strcmp (str, "FALSE") == 0)
+  if (g_ascii_strcasecmp (str, "FALSE") == 0)
     return FALSE;
 
   return parse_int_value (str) ? TRUE : FALSE;
index ecc3b10..831c87e 100644 (file)
@@ -158,6 +158,8 @@ _gi_typelib_hash_builder_pack (GITypelibHashBuilder *builder, guint8* mem, guint
   g_assert (len >= builder->packed_size);
   g_assert ((((unsigned long)mem) & 0x3) == 0);
 
+  memset (mem, 0, len);
+
   *((guint32*) mem) = builder->dirmap_offset;
   packed_mem = (guint8*)(mem + sizeof(guint32));
   cmph_pack (builder->c, packed_mem);
index bd536c6..b5b2ad7 100644 (file)
@@ -859,7 +859,8 @@ class Compound(Node, Registered):
                  gtype_name=None,
                  get_type=None,
                  c_symbol_prefix=None,
-                 disguised=False):
+                 disguised=False,
+                 tag_name=None):
         Node.__init__(self, name)
         Registered.__init__(self, gtype_name, get_type)
         self.ctype = ctype
@@ -871,6 +872,7 @@ class Compound(Node, Registered):
         self.gtype_name = gtype_name
         self.get_type = get_type
         self.c_symbol_prefix = c_symbol_prefix
+        self.tag_name = tag_name
 
     def add_gtype(self, gtype_name, get_type):
         self.gtype_name = gtype_name
@@ -930,13 +932,15 @@ class Record(Compound):
                  gtype_name=None,
                  get_type=None,
                  c_symbol_prefix=None,
-                 disguised=False):
+                 disguised=False,
+                 tag_name=None):
         Compound.__init__(self, name,
                           ctype=ctype,
                           gtype_name=gtype_name,
                           get_type=get_type,
                           c_symbol_prefix=c_symbol_prefix,
-                          disguised=disguised)
+                          disguised=disguised,
+                          tag_name=tag_name)
         # If non-None, this record defines the FooClass C structure
         # for some Foo GObject (or similar for GInterface)
         self.is_gtype_struct_for = None
@@ -949,13 +953,15 @@ class Union(Compound):
                  gtype_name=None,
                  get_type=None,
                  c_symbol_prefix=None,
-                 disguised=False):
+                 disguised=False,
+                 tag_name=None):
         Compound.__init__(self, name,
                           ctype=ctype,
                           gtype_name=gtype_name,
                           get_type=get_type,
                           c_symbol_prefix=c_symbol_prefix,
-                          disguised=disguised)
+                          disguised=disguised,
+                          tag_name=tag_name)
 
 
 class Boxed(Node, Registered):
index 93f2756..b415dd1 100644 (file)
@@ -82,7 +82,7 @@ class DumpCompiler(object):
         self._get_type_functions = get_type_functions
         self._error_quark_functions = error_quark_functions
 
-        self._compiler_cmd = os.environ.get('CC', 'gcc')
+        self._compiler_cmd = os.environ.get('CC', 'cc')
         self._linker_cmd = os.environ.get('CC', self._compiler_cmd)
         self._pkgconfig_cmd = os.environ.get('PKG_CONFIG', 'pkg-config')
         self._pkgconfig_msvc_flags = ''
@@ -215,6 +215,9 @@ class DumpCompiler(object):
             args.append("-Wno-deprecated-declarations")
         pkgconfig_flags = self._run_pkgconfig('--cflags')
         args.extend([utils.cflag_real_include_path(f) for f in pkgconfig_flags])
+        cppflags = os.environ.get('CPPFLAGS', '')
+        for cppflag in cppflags.split():
+            args.append(cppflag)
         cflags = os.environ.get('CFLAGS', '')
         for cflag in cflags.split():
             args.append(cflag)
@@ -263,6 +266,9 @@ class DumpCompiler(object):
             else:
                 args.append('-export-dynamic')
 
+        cppflags = os.environ.get('CPPFLAGS', '')
+        for cppflag in cppflags.split():
+            args.append(cppflag)
         cflags = os.environ.get('CFLAGS', '')
         for cflag in cflags.split():
             args.append(cflag)
index e5490b1..e1fc935 100644 (file)
@@ -326,17 +326,6 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
         self._introspect_signals(node, xmlnode)
         self._introspect_implemented_interfaces(node, xmlnode)
         self._add_record_fields(node)
-
-        if node.name == 'InitiallyUnowned':
-            # http://bugzilla.gnome.org/show_bug.cgi?id=569408
-            # GInitiallyUnowned is actually a typedef for GObject, but
-            # that's not reflected in the GIR, where it appears as a
-            # subclass (as it appears in the GType hierarchy).  So
-            # what we do here is copy all of the GObject fields into
-            # GInitiallyUnowned so that struct offset computation
-            # works correctly.
-            node.fields = self._namespace.get('Object').fields
-
         self._namespace.append(node, replace=True)
 
     def _introspect_interface(self, xmlnode):
index 2f413a0..b951227 100644 (file)
@@ -193,6 +193,19 @@ symbol_get_const_string (PyGISourceSymbol *self,
 }
 
 static PyObject *
+symbol_get_const_boolean (PyGISourceSymbol *self,
+                         void             *context)
+{
+  if (!self->symbol->const_boolean_set)
+    {
+      Py_INCREF(Py_None);
+      return Py_None;
+    }
+
+  return PyBool_FromLong (self->symbol->const_boolean);
+}
+
+static PyObject *
 symbol_get_source_filename (PyGISourceSymbol *self,
                             void             *context)
 {
@@ -216,6 +229,8 @@ static const PyGetSetDef _PyGISourceSymbol_getsets[] = {
   /* gboolean const_double_set; */
   { "const_double", (getter)symbol_get_const_double, NULL, NULL},
   { "const_string", (getter)symbol_get_const_string, NULL, NULL},
+  /* gboolean const_boolean_set; */
+  { "const_boolean", (getter)symbol_get_const_boolean, NULL, NULL},
   { "source_filename", (getter)symbol_get_source_filename, NULL, NULL},
   { "line", (getter)symbol_get_line, NULL, NULL},
   { "private", (getter)symbol_get_private, NULL, NULL},
@@ -560,6 +575,7 @@ pygi_source_scanner_get_symbols (PyGISourceScanner *self)
       PyList_SetItem (list, i++, item);
     }
 
+  g_slist_free (symbols);
   Py_INCREF (list);
   return list;
 }
@@ -583,6 +599,7 @@ pygi_source_scanner_get_comments (PyGISourceScanner *self)
       PyList_SetItem (list, i++, item);
     }
 
+  g_slist_free (comments);
   Py_INCREF (list);
   return list;
 }
index 89a34b8..b594362 100644 (file)
@@ -169,6 +169,12 @@ stringtext                         ([^\\\"])|(\\.)
 
 "G_GINT64_CONSTANT"                    { return INTL_CONST; }
 "G_GUINT64_CONSTANT"                   { return INTUL_CONST; }
+
+"TRUE"                                 { return BOOLEAN; }
+"FALSE"                                        { return BOOLEAN; }
+"true"                                 { return BOOLEAN; }
+"false"                                        { return BOOLEAN; }
+
 [a-zA-Z_][a-zA-Z_0-9]*                 { if (scanner->macro_scan) return check_identifier(scanner, yytext); else REJECT; }
 
 "asm"                                  { if (!parse_ignored_macro()) REJECT; }
@@ -394,7 +400,8 @@ process_linemarks (GISourceScanner *scanner)
             filename = real;
           }
 
-        g_object_unref (scanner->current_file);
+        if (scanner->current_file)
+          g_object_unref (scanner->current_file);
        scanner->current_file = g_file_new_for_path (filename);
        g_free (filename);
 }
index faf7341..6cbf36a 100644 (file)
@@ -226,7 +226,7 @@ toggle_conditional (GISourceScanner *scanner)
 %token <str> IDENTIFIER "identifier"
 %token <str> TYPEDEF_NAME "typedef-name"
 
-%token INTEGER FLOATING CHARACTER STRING
+%token INTEGER FLOATING BOOLEAN CHARACTER STRING
 
 %token INTL_CONST INTUL_CONST
 %token ELLIPSIS ADDEQ SUBEQ MULEQ DIVEQ MODEQ XOREQ ANDEQ OREQ SL SR
@@ -326,6 +326,12 @@ primary_expression
                $$->const_int = value;
                $$->const_int_is_unsigned = (rest && (rest[0] == 'U'));
          }
+       | BOOLEAN
+         {
+               $$ = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
+               $$->const_boolean_set = TRUE;
+               $$->const_boolean = g_ascii_strcasecmp (yytext, "true") == 0 ? TRUE : FALSE;
+         }
        | CHARACTER
          {
                $$ = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
@@ -1475,7 +1481,7 @@ function_macro_define
 object_macro_define
        : object_macro constant_expression
          {
-               if ($2->const_int_set || $2->const_double_set || $2->const_string != NULL) {
+               if ($2->const_int_set || $2->const_boolean_set || $2->const_double_set || $2->const_string != NULL) {
                        $2->ident = $1;
                        gi_source_scanner_add_symbol (scanner, $2);
                        gi_source_symbol_unref ($2);
index 98dbebd..7de891f 100644 (file)
@@ -60,6 +60,9 @@ gi_source_symbol_copy (GISourceSymbol * symbol)
     new_symbol->const_int = symbol->const_int;
     new_symbol->const_int_is_unsigned = symbol->const_int_is_unsigned;
     new_symbol->const_int_set = TRUE;
+  } else if (symbol->const_boolean_set) {
+    new_symbol->const_boolean = symbol->const_boolean;
+    new_symbol->const_boolean_set = TRUE;
   } else if (symbol->const_double_set) {
     new_symbol->const_double = symbol->const_double;
     new_symbol->const_double_set = TRUE;
@@ -306,14 +309,28 @@ gi_source_scanner_take_comment (GISourceScanner *scanner,
                                        comment);
 }
 
+/**
+ * gi_source_scanner_get_symbols:
+ * @scanner: scanner instance
+ *
+ * Returns: (transfer container): List of GISourceSymbol.
+ *   Free resulting list with g_slist_free().
+ */
 GSList *
 gi_source_scanner_get_symbols (GISourceScanner  *scanner)
 {
-  return g_slist_reverse (scanner->symbols);
+  return g_slist_reverse (g_slist_copy (scanner->symbols));
 }
 
+/**
+ * gi_source_scanner_get_comments:
+ * @scanner: scanner instance
+ *
+ * Returns: (transfer container): List of GISourceComment.
+ *   Free resulting list with g_slist_free().
+ */
 GSList *
 gi_source_scanner_get_comments(GISourceScanner  *scanner)
 {
-  return g_slist_reverse (scanner->comments);
+  return g_slist_reverse (g_slist_copy (scanner->comments));
 }
index 39ae84d..9e37131 100644 (file)
@@ -131,6 +131,8 @@ struct _GISourceSymbol
   char *const_string;
   gboolean const_double_set;
   double const_double;
+  gboolean const_boolean_set;
+  int const_boolean;
   char *source_filename;
   int line;
 };
index 42af96f..dab1602 100644 (file)
@@ -154,8 +154,8 @@ class SourceType(object):
 
 
 class SourceSymbol(object):
-    __members__ = ['const_int', 'const_double', 'const_string', 'ident',
-                   'type', 'base_type']
+    __members__ = ['const_int', 'const_double', 'const_string', 'const_boolean',
+                   'ident', 'type', 'base_type']
 
     def __init__(self, scanner, symbol):
         self._scanner = scanner
@@ -186,6 +186,10 @@ class SourceSymbol(object):
         return self._symbol.const_string
 
     @property
+    def const_boolean(self):
+        return self._symbol.const_boolean
+
+    @property
     def ident(self):
         return self._symbol.ident
 
@@ -285,6 +289,8 @@ class SourceScanner(object):
             # Note that the generated dumper program is
             # still built and linked by Visual C++.
             cpp_args = ['gcc']
+        cpp_args += os.environ.get('CPPFLAGS', '').split()
+        cpp_args += os.environ.get('CFLAGS', '').split()
         cpp_args += ['-E', '-C', '-I.', '-']
         cpp_args += self._cpp_options
 
index bd476cc..80265dd 100644 (file)
@@ -59,6 +59,11 @@ class Transformer(object):
         self._includepaths = []
         self._passthrough_mode = False
 
+        # Cache a list of struct/unions in C's "tag namespace". This helps
+        # manage various orderings of typedefs and structs. See:
+        # https://bugzilla.gnome.org/show_bug.cgi?id=581525
+        self._tag_ns = {}
+
     def get_pkgconfig_packages(self):
         return self._pkg_config_packages
 
@@ -76,6 +81,12 @@ class Transformer(object):
         # modules will just depend on that.
         if isinstance(original, ast.Constant) and isinstance(node, ast.Constant):
             pass
+        elif original is node:
+            # Ignore attempts to add the same node to the namespace. This can
+            # happen when parsing typedefs and structs in particular orderings:
+            #   typedef struct _Foo Foo;
+            #   struct _Foo {...};
+            pass
         elif original:
             positions = set()
             positions.update(original.file_positions)
@@ -91,28 +102,30 @@ class Transformer(object):
             # https://bugzilla.gnome.org/show_bug.cgi?id=550616
             if symbol.ident in ['gst_g_error_get_type']:
                 continue
-            node = self._traverse_one(symbol)
-            if node:
-                self._append_new_node(node)
 
-        # Now look through the namespace for things like
-        # typedef struct _Foo Foo;
-        # where we've never seen the struct _Foo.  Just create
-        # an empty structure for these as "disguised"
-        # If we do have a class/interface, merge fields
-        for typedef, compound in self._typedefs_ns.iteritems():
-            ns_compound = self._namespace.get(compound.name)
-            if not ns_compound:
-                ns_compound = self._namespace.get('_' + compound.name)
-            if (not ns_compound and isinstance(compound, (ast.Record, ast.Union))
-            and len(compound.fields) == 0):
-                disguised = ast.Record(compound.name, typedef, disguised=True)
-                self._namespace.append(disguised)
-            elif not ns_compound:
-                self._namespace.append(compound)
-            elif isinstance(ns_compound, (ast.Record, ast.Union)) and len(ns_compound.fields) == 0:
-                ns_compound.fields = compound.fields
-        self._typedefs_ns = None
+            try:
+                node = self._traverse_one(symbol)
+            except TransformerException as e:
+                message.warn_symbol(symbol, e)
+                continue
+
+            if node and node.name:
+                self._append_new_node(node)
+            if isinstance(node, ast.Compound) and node.tag_name and \
+                    node.tag_name not in self._tag_ns:
+                self._tag_ns[node.tag_name] = node
+
+        # Run through the tag namespace looking for structs that have not been
+        # promoted into the main namespace. In this case we simply promote them
+        # with their struct tag.
+        for tag_name, struct in self._tag_ns.iteritems():
+            if not struct.name:
+                try:
+                    name = self.strip_identifier(tag_name)
+                    struct.name = name
+                    self._append_new_node(struct)
+                except TransformerException as e:
+                    message.warn_node(node, e)
 
     def set_include_paths(self, paths):
         self._includepaths = list(paths)
@@ -323,13 +336,13 @@ raise ValueError."""
         elif stype == CSYMBOL_TYPE_TYPEDEF:
             return self._create_typedef(symbol)
         elif stype == CSYMBOL_TYPE_STRUCT:
-            return self._create_struct(symbol)
+            return self._create_tag_ns_compound(ast.Record, symbol)
         elif stype == CSYMBOL_TYPE_ENUM:
             return self._create_enum(symbol)
         elif stype == CSYMBOL_TYPE_MEMBER:
             return self._create_member(symbol, parent_symbol)
         elif stype == CSYMBOL_TYPE_UNION:
-            return self._create_union(symbol)
+            return self._create_tag_ns_compound(ast.Union, symbol)
         elif stype == CSYMBOL_TYPE_CONST:
             return self._create_const(symbol)
         # Ignore variable declarations in the header
@@ -376,21 +389,13 @@ raise ValueError."""
                 # Ok, the enum members don't have a consistent prefix
                 # among them, so let's just remove the global namespace
                 # prefix.
-                try:
-                    name = self._strip_symbol(child)
-                except TransformerException as e:
-                    message.warn_symbol(symbol, e)
-                    return None
+                name = self._strip_symbol(child)
             members.append(ast.Member(name.lower(),
                                       child.const_int,
                                       child.ident,
                                       None))
 
-        try:
-            enum_name = self.strip_identifier(symbol.ident)
-        except TransformerException as e:
-            message.warn_symbol(symbol, e)
-            return None
+        enum_name = self.strip_identifier(symbol.ident)
         if symbol.base_type.is_bitfield:
             klass = ast.Bitfield
         else:
@@ -405,11 +410,7 @@ raise ValueError."""
             return None
         parameters = list(self._create_parameters(symbol, symbol.base_type))
         return_ = self._create_return(symbol.base_type.base_type)
-        try:
-            name = self._strip_symbol(symbol)
-        except TransformerException as e:
-            message.warn_symbol(symbol, e)
-            return None
+        name = self._strip_symbol(symbol)
         func = ast.Function(name, return_, parameters, False, symbol.ident)
         func.add_symbol_reference(symbol)
         return func
@@ -505,9 +506,9 @@ raise ValueError."""
         and symbol.base_type.base_type.type == CTYPE_FUNCTION):
             node = self._create_callback(symbol, member=True)
         elif source_type.type == CTYPE_STRUCT and source_type.name is None:
-            node = self._create_struct(symbol, anonymous=True)
+            node = self._create_member_compound(ast.Record, symbol)
         elif source_type.type == CTYPE_UNION and source_type.name is None:
-            node = self._create_union(symbol, anonymous=True)
+            node = self._create_member_compound(ast.Union, symbol)
         else:
             # Special handling for fields; we don't have annotations on them
             # to apply later, yet.
@@ -560,22 +561,18 @@ raise ValueError."""
         if (ctype == CTYPE_POINTER and symbol.base_type.base_type.type == CTYPE_FUNCTION):
             node = self._create_typedef_callback(symbol)
         elif (ctype == CTYPE_POINTER and symbol.base_type.base_type.type == CTYPE_STRUCT):
-            node = self._create_typedef_struct(symbol, disguised=True)
+            node = self._create_typedef_compound(ast.Record, symbol, disguised=True)
         elif ctype == CTYPE_STRUCT:
-            node = self._create_typedef_struct(symbol)
+            node = self._create_typedef_compound(ast.Record, symbol)
         elif ctype == CTYPE_UNION:
-            node = self._create_typedef_union(symbol)
+            node = self._create_typedef_compound(ast.Union, symbol)
         elif ctype == CTYPE_ENUM:
             return self._create_enum(symbol)
         elif ctype in (CTYPE_TYPEDEF,
                        CTYPE_POINTER,
                        CTYPE_BASIC_TYPE,
                        CTYPE_VOID):
-            try:
-                name = self.strip_identifier(symbol.ident)
-            except TransformerException as e:
-                message.warn(e)
-                return None
+            name = self.strip_identifier(symbol.ident)
             if symbol.base_type.name:
                 complete_ctype = self._create_complete_source_type(symbol.base_type)
                 target = self.create_type_from_ctype_string(symbol.base_type.name,
@@ -698,11 +695,7 @@ raise ValueError."""
         # http://bugzilla.gnome.org/show_bug.cgi?id=572790
         if (symbol.source_filename is None or not symbol.source_filename.endswith('.h')):
             return None
-        try:
-            name = self._strip_symbol(symbol)
-        except TransformerException as e:
-            message.warn_symbol(symbol, e)
-            return None
+        name = self._strip_symbol(symbol)
         if symbol.const_string is not None:
             typeval = ast.TYPE_STRING
             value = unicode(symbol.const_string, 'utf-8')
@@ -728,6 +721,9 @@ raise ValueError."""
                 value = str(symbol.const_int % 2 ** 16)
             else:
                 value = str(symbol.const_int)
+        elif symbol.const_boolean is not None:
+            typeval = ast.TYPE_BOOLEAN
+            value = "true" if symbol.const_boolean else "false"
         elif symbol.const_double is not None:
             typeval = ast.TYPE_DOUBLE
             value = '%f' % (symbol.const_double, )
@@ -739,35 +735,88 @@ raise ValueError."""
         const.add_symbol_reference(symbol)
         return const
 
-    def _create_typedef_struct(self, symbol, disguised=False):
-        try:
-            name = self.strip_identifier(symbol.ident)
-        except TransformerException as e:
-            message.warn_symbol(symbol, e)
-            return None
-        struct = ast.Record(name, symbol.ident, disguised=disguised)
-        self._parse_fields(symbol, struct)
-        struct.add_symbol_reference(symbol)
-        self._typedefs_ns[symbol.ident] = struct
-        return None
+    def _create_typedef_compound(self, compound_class, symbol, disguised=False):
+        name = self.strip_identifier(symbol.ident)
+        assert symbol.base_type
+        if symbol.base_type.name:
+            tag_name = symbol.base_type.name
+        else:
+            tag_name = None
+
+        # If the struct already exists in the tag namespace, use it.
+        if tag_name in self._tag_ns:
+            compound = self._tag_ns[tag_name]
+            if compound.name:
+                # If the struct name is set it means the struct has already been
+                # promoted from the tag namespace to the main namespace by a
+                # prior typedef struct. If we get here it means this is another
+                # typedef of that struct. Instead of creating an alias to the
+                # primary typedef that has been promoted, we create a new Record
+                # with shared fields. This handles the case where we want to
+                # give structs like GInitiallyUnowned its own Record:
+                #    typedef struct _GObject GObject;
+                #    typedef struct _GObject GInitiallyUnowned;
+                # See: http://bugzilla.gnome.org/show_bug.cgi?id=569408
+                new_compound = compound_class(name, symbol.ident, tag_name=tag_name)
+                new_compound.fields = compound.fields
+                new_compound.add_symbol_reference(symbol)
+                return new_compound
+            else:
+                # If the struct does not have its name set, it exists only in
+                # the tag namespace. Set it here and return it which will
+                # promote it to the main namespace. Essentially the first
+                # typedef for a struct clobbers its name and ctype which is what
+                # will be visible to GI.
+                compound.name = name
+                compound.ctype = symbol.ident
+        else:
+            # Create a new struct with a typedef name and tag name when available.
+            # Structs with a typedef name are promoted into the main namespace
+            # by it being returned to the "parse" function and are also added to
+            # the tag namespace if it has a tag_name set.
+            compound = compound_class(name, symbol.ident, disguised=disguised, tag_name=tag_name)
+            if tag_name:
+                # Force the struct as disguised for now since we do not yet know
+                # if it has fields that will be parsed. Note that this is using
+                # an erroneous definition of disguised and we should eventually
+                # only look at the field count when needed.
+                compound.disguised = True
+            else:
+                # Case where we have an anonymous struct which is typedef'd:
+                #   typedef struct {...} Struct;
+                # we need to parse the fields because we never get a struct
+                # in the tag namespace which is normally where fields are parsed.
+                self._parse_fields(symbol, compound)
 
-    def _create_typedef_union(self, symbol):
-        try:
-            name = self.strip_identifier(symbol.ident)
-        except TransformerException as e:
-            message.warn(e)
-            return None
-        union = ast.Union(name, symbol.ident)
-        self._parse_fields(symbol, union)
-        union.add_symbol_reference(symbol)
-        self._typedefs_ns[symbol.ident] = union
-        return None
+        compound.add_symbol_reference(symbol)
+        return compound
+
+    def _create_tag_ns_compound(self, compound_class, symbol):
+        # Get or create a struct from C's tag namespace
+        if symbol.ident in self._tag_ns:
+            compound = self._tag_ns[symbol.ident]
+        else:
+            compound = compound_class(None, symbol.ident, tag_name=symbol.ident)
+
+        # Make sure disguised is False as we are now about to parse the
+        # fields of the real struct.
+        compound.disguised = False
+        # Fields may need to be parsed in either of the above cases because the
+        # Record can be created with a typedef prior to the struct definition.
+        self._parse_fields(symbol, compound)
+        compound.add_symbol_reference(symbol)
+        return compound
+
+    def _create_member_compound(self, compound_class, symbol):
+        compound = compound_class(symbol.ident, symbol.ident)
+        self._parse_fields(symbol, compound)
+        compound.add_symbol_reference(symbol)
+        return compound
 
     def _create_typedef_callback(self, symbol):
         callback = self._create_callback(symbol)
         if not callback:
             return None
-        self._typedefs_ns[callback.name] = callback
         return callback
 
     def _parse_fields(self, symbol, compound):
@@ -782,41 +831,6 @@ raise ValueError."""
                               anonymous_node=child_node)
             compound.fields.append(field)
 
-    def _create_compound(self, klass, symbol, anonymous):
-        if symbol.ident is None:
-            # the compound is an anonymous member of another union or a struct
-            assert anonymous
-            compound = klass(None, None)
-        else:
-            compound = self._typedefs_ns.get(symbol.ident, None)
-
-        if compound is None:
-            # This is a bit of a hack; really we should try
-            # to resolve through the typedefs to find the real
-            # name
-            if symbol.ident.startswith('_'):
-                compound = self._typedefs_ns.get(symbol.ident[1:], None)
-            if compound is None:
-                if anonymous:
-                    name = symbol.ident
-                else:
-                    try:
-                        name = self.strip_identifier(symbol.ident)
-                    except TransformerException as e:
-                        message.warn(e)
-                        return None
-                compound = klass(name, symbol.ident)
-
-        self._parse_fields(symbol, compound)
-        compound.add_symbol_reference(symbol)
-        return compound
-
-    def _create_struct(self, symbol, anonymous=False):
-        return self._create_compound(ast.Record, symbol, anonymous)
-
-    def _create_union(self, symbol, anonymous=False):
-        return self._create_compound(ast.Union, symbol, anonymous)
-
     def _create_callback(self, symbol, member=False):
         parameters = list(self._create_parameters(symbol, symbol.base_type.base_type))
         retval = self._create_return(symbol.base_type.base_type.base_type)
@@ -829,17 +843,9 @@ raise ValueError."""
         if member:
             name = symbol.ident
         elif symbol.ident.find('_') > 0:
-            try:
-                name = self._strip_symbol(symbol)
-            except TransformerException as e:
-                message.warn_symbol(symbol, e)
-                return None
+            name = self._strip_symbol(symbol)
         else:
-            try:
-                name = self.strip_identifier(symbol.ident)
-            except TransformerException as e:
-                message.warn(e)
-                return None
+            name = self.strip_identifier(symbol.ident)
         callback = ast.Callback(name, retval, parameters, False,
                                 ctype=symbol.ident)
         callback.add_symbol_reference(symbol)
index 820a4cf..b57349e 100644 (file)
@@ -1,6 +1,6 @@
-prefix=/home/mclasen/gnome
+prefix=/home/walters/src/build/jhbuild
 exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=/home/walters/src/build/jhbuild/lib64
 bindir=${exec_prefix}/bin
 datarootdir=${prefix}/share
 datadir=${datarootdir}
@@ -21,4 +21,4 @@ Libs.private:
 
 Name: gobject-introspection
 Description: GObject Introspection
-Version: 1.39.0
+Version: 1.39.3
index a515cb0..b32ea0d 100644 (file)
@@ -1,6 +1,6 @@
-prefix=/home/mclasen/gnome
+prefix=/home/walters/src/build/jhbuild
 exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=/home/walters/src/build/jhbuild/lib64
 bindir=${exec_prefix}/bin
 datarootdir=${prefix}/share
 datadir=${datarootdir}
@@ -20,4 +20,4 @@ Libs.private:
 
 Name: gobject-introspection
 Description: GObject Introspection
-Version: 1.39.0
+Version: 1.39.3
index bd0ff00..6263baa 100644 (file)
@@ -88,6 +88,8 @@ setup-build.stamp:
            files=`echo $(SETUP_FILES) $(expand_content_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; \
                done; \
index 126202f..56666f0 100644 (file)
@@ -1312,7 +1312,7 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
@@ -1326,10 +1326,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
          x86_64-*linux*)
            LD="${LD-ld} -m elf_i386"
            ;;
-         powerpcle-*linux*)
-           LD="${LD-ld} -m elf32lppclinux"
-           ;;
-         powerpc-*linux*)
+         ppc64-*linux*|powerpc64-*linux*)
            LD="${LD-ld} -m elf32ppclinux"
            ;;
          s390x-*linux*)
@@ -1348,10 +1345,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
          x86_64-*linux*)
            LD="${LD-ld} -m elf_x86_64"
            ;;
-         powerpcle-*linux*)
-           LD="${LD-ld} -m elf64lppc"
-           ;;
-         powerpc-*linux*)
+         ppc*-*linux*|powerpc*-*linux*)
            LD="${LD-ld} -m elf64ppc"
            ;;
          s390*-*linux*|s390*-*tpf*)
index b51e1d2..dcff447 100644 (file)
@@ -360,8 +360,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 139
-#define YY_END_OF_BUFFER 140
+#define YY_NUM_RULES 143
+#define YY_END_OF_BUFFER 144
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -369,166 +369,172 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_acclist[849] =
+static yyconst flex_int16_t yy_acclist[889] =
     {   0,
-      140,  138,  139,    3,  138,  139,    1,  139,   44,  138,
-      139,  138,  139,   19,  138,  139,   39,  138,  139,   41,
-      138,  139,  138,  139,   28,  138,  139,   29,  138,  139,
-       37,  138,  139,   35,  138,  139,   68,  138,  139,   36,
-      138,  139,   34,  138,  139,   38,  138,  139,  131,  138,
-      139,  131,  138,  139,   31,  138,  139,   30,  138,  139,
-       46,  138,  139,   45,  138,  139,   47,  138,  139,   33,
-      138,  139,   88,  128,  138,  139,   88,  128,  138,  139,
-       88,  128,  138,  139,   24,  138,  139,  138,  139,   26,
-      138,  139,   40,  138,  139,   88,  128,  138,  139,   88,
-
-      128,  138,  139,   88,  128,  138,  139,   88,  128,  138,
-      139,   88,  128,  138,  139,   88,  128,  138,  139,   88,
-      128,  138,  139,   88,  128,  138,  139,   88,  128,  138,
-      139,   88,  128,  138,  139,   88,  128,  138,  139,   88,
-      128,  138,  139,   88,  128,  138,  139,   88,  128,  138,
-      139,   88,  128,  138,  139,   88,  128,  138,  139,   20,
-      138,  139,   42,  138,  139,   22,  138,  139,   43,  138,
-      139,    3,    1,   61,  136,   52,   23,   64,   54,  134,
-       50,   66,   48,   67,   49,   69,  132,    4,    6,   51,
-      132,  130,  131,  131,  131,  131,   27,   21,   25,   56,
-
-       62,   60,   63,   57,   88,  128,   88,  128,    2,   53,
-       88,  128,   88,  128,   88,  128,   88,  128,   88,  128,
-       88,  128,   88,  128,   88,  128,   88,  128,   88,   97,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  105,  128,   88,  128,   88,  128,
-       88,  128,   88,  128,   88,  128,   88,  128,   88,  128,
-       88,  128,   88,  128,   88,  128,   88,  128,   55,   65,
-       32,  132,    6,  130,  131,  130,  131,  133,  131,  131,
-      131,  129,   58,   59,   88,  128,  137,  135,   88,  128,
-       88,  128,   88,  128,   88,  128,   88,  128,   88,  128,
-
-       88,  128,   88,  128,   88,  128,   88,  128,   88,  128,
-       88,   89,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  103,  128,   88,  128,
-       88,  128,   88,  107,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,  132,  130,  131,
-      130,  131,  130,  131,  133,  131,  129,  129,   88,  128,
-       88,  128,   88,  128,   88,  128,   88,  128,   88,  128,
-
-       88,  128,   88,  128,   88,  128,   88,  128,   88,  128,
-       88,  128,   88,  128,   88,  128,   88,   90,  128,   88,
-      128,   88,   92,  128,   88,   93,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,   99,  128,   88,  100,
-      128,   88,  128,   88,  128,   88,  104,  128,   88,  128,
-       88,  112,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  125,  128,
-       88,  128,   88,  128,   18,   13,  130,  131,  129,  129,
-      129,   88,  128,   88,  128,   85,   88,  128,   72,   88,
-
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,   91,  128,   88,   94,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  102,  128,
-       88,  128,   88,  128,   88,  128,   88,  128,   88,  116,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  123,  128,   88,  128,   88,  128,
-       88,  127,  128,   15,  129,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-
-      128,   88,  128,   88,  128,   88,  128,   88,   98,  128,
-       88,  101,  128,   88,  106,  128,   88,  128,   88,  128,
-       88,  115,  128,   88,  117,  128,   88,  118,  128,   88,
-      119,  128,   88,  120,  128,   88,  121,  128,   88,  128,
-       88,  128,   88,  128,   14,   16,    5,   88,  128,   88,
-      128,   73,   88,  128,   88,  128,   76,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   88,
-       96,  128,   88,  128,   88,  128,   88,  122,  128,   88,
-      128,   88,  128,   12,   88,  128,   88,  128,   88,  128,
-
-       88,  128,   78,   88,  128,   88,  111,  128,   88,  128,
-       88,  128,   88,  128,   82,   88,  128,   88,  128,   88,
-      128,   88,   95,  128,   88,  113,  128,   88,  114,  128,
-       88,  124,  128,   88,  126,  128,    8,   11,   17,   88,
-      128,   88,  128,   88,  128,   88,  128,   88,  128,   79,
-       88,  128,   88,  128,   88,  128,   88,  110,  128,   88,
-      128,    7,    8,   88,  128,   88,  128,   88,  128,   88,
-      128,   88,  109,  128,   81,   88,  128,   80,   88,  128,
-       88,  128,   83,   88,  128,   88,  128,   88,  128,   75,
-       88,  128,   88,  128,   88,  108,  128,   88,  128,   88,
-
-      128,   88,  128,   88,  128,   88,  128,   84,   88,  128,
-       88,  128,   88,  128,   74,   88,  128,   77,   88,  128,
-       88,  128,   88,  128,   70,   88,  128,   88,  128,   88,
-      128,   88,  128,   71,   86,   88,  128,   88,  128,   87,
-       88,  128,    9,    9,   12,   10,   10,   11
+      144,  142,  143,    3,  142,  143,    1,  143,   44,  142,
+      143,  142,  143,   19,  142,  143,   39,  142,  143,   41,
+      142,  143,  142,  143,   28,  142,  143,   29,  142,  143,
+       37,  142,  143,   35,  142,  143,   68,  142,  143,   36,
+      142,  143,   34,  142,  143,   38,  142,  143,  135,  142,
+      143,  135,  142,  143,   31,  142,  143,   30,  142,  143,
+       46,  142,  143,   45,  142,  143,   47,  142,  143,   33,
+      142,  143,   92,  132,  142,  143,   92,  132,  142,  143,
+       92,  132,  142,  143,   92,  132,  142,  143,   92,  132,
+      142,  143,   24,  142,  143,  142,  143,   26,  142,  143,
+
+       40,  142,  143,   92,  132,  142,  143,   92,  132,  142,
+      143,   92,  132,  142,  143,   92,  132,  142,  143,   92,
+      132,  142,  143,   92,  132,  142,  143,   92,  132,  142,
+      143,   92,  132,  142,  143,   92,  132,  142,  143,   92,
+      132,  142,  143,   92,  132,  142,  143,   92,  132,  142,
+      143,   92,  132,  142,  143,   92,  132,  142,  143,   92,
+      132,  142,  143,   92,  132,  142,  143,   20,  142,  143,
+       42,  142,  143,   22,  142,  143,   43,  142,  143,    3,
+        1,   61,  140,   52,   23,   64,   54,  138,   50,   66,
+       48,   67,   49,   69,  136,    4,    6,   51,  136,  134,
+
+      135,  135,  135,  135,   27,   21,   25,   56,   62,   60,
+       63,   57,   92,  132,   92,  132,   92,  132,   92,  132,
+        2,   53,   92,  132,   92,  132,   92,  132,   92,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  132,
+       92,  101,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  109,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  132,
+       92,  132,   92,  132,   55,   65,   32,  136,    6,  134,
+      135,  134,  135,  137,  135,  135,  135,  133,   58,   59,
+
+       92,  132,   92,  132,  141,  139,   92,  132,   92,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  132,
+       92,   93,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  107,  132,
+       92,  132,   92,  132,   92,  111,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+
+      132,  136,  134,  135,  134,  135,  134,  135,  137,  135,
+      133,  133,   92,  132,   92,  132,   92,  132,   88,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,   94,  132,   92,  132,
+       92,   96,  132,   92,   97,  132,   92,  132,   92,  132,
+       92,  132,   92,  132,   92,  103,  132,   92,  104,  132,
+       92,  132,   92,  132,   92,  132,   92,  108,  132,   92,
+      132,   92,  116,  132,   92,  132,   92,  132,   92,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  132,
+
+       92,  132,   90,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  129,  132,   92,  132,   92,  132,   18,   13,
+      134,  135,  133,  133,  133,   89,   92,  132,   92,  132,
+       92,  132,   85,   92,  132,   72,   92,  132,   92,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  132,
+       92,   95,  132,   92,   98,  132,   92,  132,   92,  132,
+       92,  132,   92,  132,   91,   92,  132,   92,  106,  132,
+       92,  132,   92,  132,   92,  132,   92,  132,   92,  120,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+
+      132,   92,  132,   92,  127,  132,   92,  132,   92,  132,
+       92,  131,  132,   15,  133,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  102,  132,
+       92,  105,  132,   92,  110,  132,   92,  132,   92,  132,
+       92,  119,  132,   92,  121,  132,   92,  122,  132,   92,
+      123,  132,   92,  124,  132,   92,  125,  132,   92,  132,
+       92,  132,   92,  132,   14,   16,    5,   92,  132,   92,
+      132,   73,   92,  132,   92,  132,   76,   92,  132,   92,
+
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   92,
+      100,  132,   92,  132,   92,  132,   92,  126,  132,   92,
+      132,   92,  132,   12,   92,  132,   92,  132,   92,  132,
+       92,  132,   78,   92,  132,   92,  115,  132,   92,  132,
+       92,  132,   92,  132,   82,   92,  132,   92,  132,   92,
+      132,   92,   99,  132,   92,  117,  132,   92,  118,  132,
+       92,  128,  132,   92,  130,  132,    8,   11,   17,   92,
+      132,   92,  132,   92,  132,   92,  132,   92,  132,   79,
+       92,  132,   92,  132,   92,  132,   92,  114,  132,   92,
+
+      132,    7,    8,   92,  132,   92,  132,   92,  132,   92,
+      132,   92,  113,  132,   81,   92,  132,   80,   92,  132,
+       92,  132,   83,   92,  132,   92,  132,   92,  132,   75,
+       92,  132,   92,  132,   92,  112,  132,   92,  132,   92,
+      132,   92,  132,   92,  132,   92,  132,   84,   92,  132,
+       92,  132,   92,  132,   74,   92,  132,   77,   92,  132,
+       92,  132,   92,  132,   70,   92,  132,   92,  132,   92,
+      132,   92,  132,   71,   86,   92,  132,   92,  132,   87,
+       92,  132,    9,    9,   12,   10,   10,   11
     } ;
 
-static yyconst flex_int16_t yy_accept[559] =
+static yyconst flex_int16_t yy_accept[575] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   12,   14,   17,
        20,   23,   25,   28,   31,   34,   37,   40,   43,   46,
        49,   52,   55,   58,   61,   64,   67,   70,   73,   77,
-       81,   85,   88,   90,   93,   96,  100,  104,  108,  112,
+       81,   85,   89,   93,   96,   98,  101,  104,  108,  112,
       116,  120,  124,  128,  132,  136,  140,  144,  148,  152,
-      156,  160,  163,  166,  169,  172,  173,  174,  175,  175,
-      176,  176,  176,  176,  176,  176,  176,  177,  178,  179,
-      180,  180,  181,  181,  182,  183,  184,  185,  186,  187,
-      187,  188,  189,  190,  191,  192,  194,  195,  195,  196,
-      197,  197,  198,  199,  200,  201,  202,  203,  204,  205,
-
-      207,  209,  209,  209,  210,  211,  213,  215,  217,  219,
-      221,  223,  225,  227,  229,  232,  234,  236,  238,  240,
-      242,  244,  247,  249,  251,  253,  255,  257,  259,  261,
-      263,  265,  267,  269,  270,  271,  271,  271,  271,  271,
-      271,  271,  272,  272,  273,  273,  273,  274,  276,  278,
-      278,  279,  280,  281,  282,  283,  284,  285,  287,  287,
-      288,  288,  288,  289,  289,  291,  293,  295,  297,  299,
-      301,  303,  305,  307,  309,  311,  314,  316,  318,  320,
-      322,  324,  326,  328,  330,  332,  334,  336,  339,  341,
-      343,  346,  348,  350,  352,  354,  356,  358,  360,  362,
-
-      364,  366,  368,  370,  372,  374,  376,  378,  378,  378,
-      378,  378,  378,  378,  378,  378,  378,  378,  379,  379,
-      381,  383,  385,  386,  387,  388,  389,  391,  393,  395,
-      397,  399,  401,  403,  405,  407,  409,  411,  413,  415,
-      417,  420,  422,  425,  428,  430,  432,  434,  436,  439,
-      442,  444,  446,  449,  451,  454,  456,  458,  460,  462,
-      464,  466,  468,  470,  472,  474,  476,  478,  481,  483,
-      485,  485,  486,  486,  486,  486,  486,  486,  487,  487,
-      487,  487,  487,  489,  490,  491,  492,  494,  496,  499,
-      502,  504,  506,  508,  510,  512,  514,  516,  518,  520,
-
-      522,  524,  527,  530,  532,  534,  536,  538,  541,  543,
-      545,  547,  549,  552,  554,  556,  558,  560,  562,  564,
-      567,  569,  571,  574,  574,  574,  574,  575,  575,  575,
-      575,  575,  575,  575,  576,  578,  580,  580,  582,  584,
-      586,  588,  590,  592,  594,  596,  598,  600,  602,  604,
-      606,  608,  611,  614,  617,  619,  621,  624,  627,  630,
-      633,  636,  639,  641,  643,  645,  645,  645,  646,  646,
-      647,  647,  647,  647,  647,  648,  650,  652,  652,  655,
-      657,  660,  662,  664,  666,  668,  670,  672,  674,  676,
-      678,  680,  683,  685,  687,  690,  692,  694,  694,  694,
-
-      694,  694,  695,  695,  695,  695,  695,  697,  699,  699,
-      699,  701,  703,  706,  709,  711,  713,  715,  718,  720,
-      722,  725,  728,  731,  734,  737,  738,  738,  738,  738,
-      738,  738,  739,  739,  739,  740,  742,  744,  744,  744,
-      746,  748,  750,  753,  755,  757,  760,  762,  763,  764,
-      764,  764,  764,  764,  766,  768,  768,  768,  770,  772,
-      775,  778,  781,  783,  786,  786,  786,  786,  786,  788,
-      790,  790,  790,  793,  795,  798,  800,  800,  800,  800,
-      800,  802,  804,  804,  804,  806,  808,  811,  811,  811,
-      811,  811,  813,  815,  815,  815,  818,  821,  821,  821,
-
-      821,  821,  823,  825,  826,  826,  826,  826,  826,  826,
-      828,  830,  830,  830,  830,  830,  830,  832,  834,  835,
-      835,  835,  835,  835,  838,  840,  840,  840,  840,  840,
-      843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
-      843,  843,  843,  843,  843,  844,  844,  844,  846,  846,
-      846,  846,  846,  847,  847,  847,  849,  849
+      156,  160,  164,  168,  171,  174,  177,  180,  181,  182,
+      183,  183,  184,  184,  184,  184,  184,  184,  184,  185,
+      186,  187,  188,  188,  189,  189,  190,  191,  192,  193,
+      194,  195,  195,  196,  197,  198,  199,  200,  202,  203,
+      203,  204,  205,  205,  206,  207,  208,  209,  210,  211,
+
+      212,  213,  215,  217,  219,  219,  219,  221,  222,  223,
+      225,  227,  229,  231,  233,  235,  237,  239,  241,  244,
+      246,  248,  250,  252,  254,  256,  258,  261,  263,  265,
+      267,  269,  271,  273,  275,  277,  279,  281,  283,  285,
+      286,  287,  287,  287,  287,  287,  287,  287,  288,  288,
+      289,  289,  289,  290,  292,  294,  294,  295,  296,  297,
+      298,  299,  300,  301,  303,  305,  305,  306,  306,  306,
+      307,  307,  309,  311,  313,  315,  317,  319,  321,  323,
+      325,  327,  329,  331,  334,  336,  338,  340,  342,  344,
+      346,  348,  350,  352,  354,  356,  358,  361,  363,  365,
+
+      368,  370,  372,  374,  376,  378,  380,  382,  384,  386,
+      388,  390,  392,  394,  396,  398,  400,  402,  402,  402,
+      402,  402,  402,  402,  402,  402,  402,  402,  403,  403,
+      405,  407,  409,  410,  411,  412,  413,  415,  417,  419,
+      422,  424,  426,  428,  430,  432,  434,  436,  438,  440,
+      442,  444,  446,  449,  451,  454,  457,  459,  461,  463,
+      465,  468,  471,  473,  475,  477,  480,  482,  485,  487,
+      489,  491,  493,  495,  497,  499,  501,  503,  506,  508,
+      510,  512,  515,  517,  519,  519,  520,  520,  520,  520,
+      520,  520,  521,  521,  521,  521,  521,  523,  524,  525,
+
+      526,  529,  531,  533,  536,  539,  541,  543,  545,  547,
+      549,  551,  553,  555,  557,  559,  561,  564,  567,  569,
+      571,  573,  575,  578,  581,  583,  585,  587,  589,  592,
+      594,  596,  598,  600,  602,  604,  607,  609,  611,  614,
+      614,  614,  614,  615,  615,  615,  615,  615,  615,  615,
+      616,  618,  620,  620,  622,  624,  626,  628,  630,  632,
+      634,  636,  638,  640,  642,  644,  646,  648,  651,  654,
+      657,  659,  661,  664,  667,  670,  673,  676,  679,  681,
+      683,  685,  685,  685,  686,  686,  687,  687,  687,  687,
+      687,  688,  690,  692,  692,  695,  697,  700,  702,  704,
+
+      706,  708,  710,  712,  714,  716,  718,  720,  723,  725,
+      727,  730,  732,  734,  734,  734,  734,  734,  735,  735,
+      735,  735,  735,  737,  739,  739,  739,  741,  743,  746,
+      749,  751,  753,  755,  758,  760,  762,  765,  768,  771,
+      774,  777,  778,  778,  778,  778,  778,  778,  779,  779,
+      779,  780,  782,  784,  784,  784,  786,  788,  790,  793,
+      795,  797,  800,  802,  803,  804,  804,  804,  804,  804,
+      806,  808,  808,  808,  810,  812,  815,  818,  821,  823,
+      826,  826,  826,  826,  826,  828,  830,  830,  830,  833,
+      835,  838,  840,  840,  840,  840,  840,  842,  844,  844,
+
+      844,  846,  848,  851,  851,  851,  851,  851,  853,  855,
+      855,  855,  858,  861,  861,  861,  861,  861,  863,  865,
+      866,  866,  866,  866,  866,  866,  868,  870,  870,  870,
+      870,  870,  870,  872,  874,  875,  875,  875,  875,  875,
+      878,  880,  880,  880,  880,  880,  883,  883,  883,  883,
+      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
+      883,  884,  884,  884,  886,  886,  886,  886,  886,  887,
+      887,  887,  889,  889
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -576,257 +582,264 @@ static yyconst flex_int32_t yy_meta[84] =
         1,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[581] =
+static yyconst flex_int16_t yy_base[597] =
     {   0,
-        0,    0,  931,  932,   82,    0,  899,   78,   83,   58,
-       81,   81,  932,  932,  898,   78,  932,   79,   77,   94,
-      136,  196,  896,  932,   96,  896,   75,  932,    0,  871,
-      107,  932,  922,  932,  893,   80,   45,  852,   60,   62,
-       68,   71,  853,   60,  852,  860,   75,  841,  850,  848,
-      853,  932,   63,  932,  932,  162,    0,  932,  113,  932,
-      912,  167,  854,   84,  852,  841,  932,  932,  932,  932,
-      121,  932,  908,  932,  932,  932,  932,  932,  932,  892,
-      251,  167,    0,  932,    0,  132,    0,  226,  134,  112,
-        0,  932,  932,  932,  878,  932,  932,  932,  877,    0,
-
-      867,  163,  160,  932,  932,  837,  224,  838,  831,  843,
-      830,  845,  832,  838,  824,  825,  822,  822,  825,  822,
-      819,    0,  138,  823,  163,  821,  122,  124,  825,  818,
-       77,  139,  823,  932,  932,  280,  825,  104,  826,  250,
-      828,  932,  299,  932,  853,    0,    0,  195,  164,  307,
-      315,  150,  932,  188,  217,  932,  932,  184,  235,  932,
-      879,  216,  932,  878,  811,  156,  810,  801,  809,  807,
-      815,  810,  795,  808,  802,    0,  801,  813,  808,  796,
-      185,  810,  808,  804,  796,  802,  805,    0,  791,  795,
-        0,  796,  793,  783,  781,  783,  785,  792,  778,  776,
-
-      776,  788,  778,  782,  786,  788,  777,  839,  777,  779,
-      779,  774,  834,  776,  776,  772,  323,  339,  801,  191,
-      932,  220,  932,  932,  324,  308,  788,  789,  764,  762,
-      755,  759,  753,  242,  757,  752,  761,  752,  753,  754,
-        0,  754,    0,    0,  745,  753,  742,  749,    0,    0,
-      743,  740,    0,  744,    0,  739,  739,  738,  735,  747,
-      737,  741,  746,  745,  743,  733,  738,    0,  726,  738,
-      794,  932,  728,  790,  791,  732,  789,  932,  730,  730,
-      722,  366,  932,  303,  932,  313,  740,  743,    0,  381,
-      715,  713,  724,  719,  761,  713,  707,  711,  718,  704,
-
-      720,    0,    0,  707,  708,  713,  704,    0,  711,  697,
-      705,  700,    0,  708,  705,  707,  691,  700,  702,    0,
-      693,  696,    0,  699,  755,  754,  932,  753,  262,  694,
-      698,  739,  733,  932,  726,  702,  387,  694,  684,  674,
-      678,  677,  722,  669,  671,  681,  671,  718,  665,  663,
-      663,    0,    0,    0,  675,  676,    0,    0,    0,    0,
-        0,    0,  672,  672,  665,  725,  726,  932,  725,  932,
-      367,  391,  308,  722,  932,  702,  700,  655,  397,  666,
-        0,  650,  661,  694,  653,  654,  658,  655,  693,  650,
-      653,    0,  641,  638,    0,  651,  649,    0,  653,  704,
-
-      401,  932,  352,  382,  406,  703,  650,  680,  637,  408,
-      628,  637,    0,  645,  633,  640,  642,    0,  670,  629,
-        0,    0,    0,    0,    0,  682,  653,  385,  637,  688,
-      412,  932,  372,  687,  932,  653,  633,  631,  617,  612,
-      615,  610,    0,  609,  626,  625,  619,  932,  666,  635,
-      392,  636,  413,  630,  638,  600,  606,  611,  602,    0,
-        0,    0,  596,  613,  612,  394,  624,  415,  621,  619,
-      599,  606,  606,  605,    0,  604,  611,  234,  602,  416,
-      609,  611,  588,  580,  597,  596,    0,  614,  418,  602,
-      417,  600,  600,  586,  581,    0,    0,  610,  421,  607,
-
-      423,  608,  593,  932,  574,  502,  425,  511,  426,  479,
-      465,  435,  450,  428,  447,  429,  441,  444,  932,  448,
-      420,  437,  430,    0,  432,  429,  432,  432,  427,    0,
-      413,  435,  420,  436,  408,  437,  397,  438,  440,  445,
-      396,  441,  367,  354,  932,  350,  290,  932,  474,  482,
-      276,  256,  932,  229,  143,  932,  932,  496,  503,  510,
-      513,  520,  523,  529,  536,  542,  549,  556,  563,  570,
-      577,  584,  586,  593,  600,  604,  611,  618,  625,  632
+        0,    0,  945,  946,   82,    0,  913,   78,   83,   58,
+       81,   81,  946,  946,  912,   78,  946,   79,   77,   94,
+      136,  196,  910,  946,   96,  910,   75,  946,    0,  906,
+      884,  107,  892,  946,  934,  946,  905,   80,   45,  864,
+       60,   62,   68,   72,  865,   71,  864,  872,  102,   66,
+      863,  861,  866,  946,   89,  946,  946,  144,    0,  946,
+      143,  946,  925,  167,  867,  101,  865,  854,  946,  946,
+      946,  946,  129,  946,  921,  946,  946,  946,  946,  946,
+      946,  905,  251,  150,    0,  946,    0,  134,    0,  226,
+      133,  158,    0,  946,  946,  946,  891,  946,  946,  946,
+
+      890,    0,  877,  879,  157,  160,  869,  946,  946,  848,
+      224,  849,  842,  854,  841,  856,  843,  849,  835,  836,
+      833,  833,  839,  835,  832,  829,    0,  131,  833,  153,
+      831,   89,  171,  835,  824,  827,  134,  139,  832,  946,
+      946,  280,  834,  164,  835,  250,  837,  946,  299,  946,
+      862,    0,    0,  195,  188,  307,  315,  183,  946,  192,
+      217,  946,  946,  844,  188,  256,  946,  887,  229,  946,
+      886,  850,  818,  100,  817,  808,  816,  814,  822,  817,
+      802,  815,  809,    0,  808,  820,  815,  803,  192,  817,
+      815,  811,  803,  809,  796,  811,    0,  797,  801,    0,
+
+      802,  799,  789,  787,  789,  791,  798,  784,  782,  782,
+      794,  793,  783,  787,  791,  793,  782,  844,  782,  784,
+      784,  779,  839,  781,  781,  777,  323,  339,  806,  219,
+      946,  244,  946,  946,  324,  308,  799,  792,  793,    0,
+      768,  766,  759,  763,  757,  213,  761,  756,  765,  756,
+      757,  758,    0,  758,    0,    0,  749,  757,  746,  753,
+        0,    0,  747,  757,  743,    0,  747,    0,  742,  742,
+      741,  738,  750,  740,  744,  749,  748,    0,  746,  736,
+      741,    0,  729,  741,  797,  946,  731,  793,  794,  735,
+      792,  946,  733,  733,  725,  366,  946,  303,  946,  313,
+
+        0,  743,  746,    0,  381,  718,  716,  727,  722,  764,
+      716,  710,  714,  721,  707,  723,    0,    0,  710,  711,
+      716,  707,    0,    0,  714,  700,  708,  703,    0,  711,
+      708,  710,  694,  703,  705,    0,  696,  699,    0,  702,
+      758,  757,  946,  756,  367,  697,  701,  742,  736,  946,
+      729,  705,  387,  697,  687,  677,  681,  680,  725,  672,
+      674,  684,  674,  721,  668,  666,  666,    0,    0,    0,
+      678,  679,    0,    0,    0,    0,    0,    0,  675,  675,
+      668,  728,  729,  946,  728,  946,  382,  391,  397,  725,
+      946,  705,  703,  658,  399,  669,    0,  653,  664,  697,
+
+      656,  657,  661,  658,  696,  653,  656,    0,  644,  641,
+        0,  654,  652,    0,  656,  707,  404,  946,  367,  406,
+      410,  706,  653,  683,  640,  412,  631,  640,    0,  648,
+      636,  643,  645,    0,  673,  632,    0,    0,    0,    0,
+        0,  685,  656,  385,  640,  691,  416,  946,  372,  690,
+      946,  656,  636,  634,  620,  615,  618,  613,    0,  612,
+      629,  628,  622,  946,  669,  638,  392,  639,  407,  633,
+      641,  603,  609,  614,  605,    0,    0,    0,  599,  616,
+      615,  394,  627,  421,  624,  622,  602,  609,  609,  608,
+        0,  607,  614,  310,  605,  417,  612,  614,  591,  583,
+
+      600,  599,    0,  617,  420,  605,  423,  603,  603,  589,
+      584,    0,    0,  613,  426,  610,  428,  611,  596,  946,
+      484,  505,  425,  493,  432,  459,  465,  438,  451,  429,
+      449,  430,  444,  446,  946,  447,  437,  440,  435,    0,
+      435,  435,  436,  430,  438,    0,  412,  439,  412,  440,
+      397,  441,  375,  442,  448,  452,  300,  445,  350,  312,
+      946,  264,  256,  946,  475,  486,  230,  226,  946,  118,
+       91,  946,  946,  500,  507,  514,  517,  524,  527,  533,
+      540,  546,  553,  560,  567,  574,  581,  588,  590,  597,
+      604,  608,  615,  622,  629,  636
+
     } ;
 
-static yyconst flex_int16_t yy_def[581] =
+static yyconst flex_int16_t yy_def[597] =
     {   0,
-      557,    1,  557,  557,  557,  558,  557,  559,  557,  557,
-      557,  560,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  561,  561,
-      561,  557,  557,  557,  557,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  557,  557,  557,  557,  557,  558,  557,  559,  557,
-      559,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      560,  557,  560,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  562,  557,   81,   21,   22,  557,  557,  557,
-      563,  557,  557,  557,  557,  557,  557,  557,  557,  561,
-
-      561,  564,  565,  557,  557,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  566,  562,  557,  557,  557,
-      557,  557,  557,  557,  563,  557,  557,  561,  564,  557,
-      564,  565,  557,  565,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-
-      561,  561,  561,  561,  561,  561,  561,  567,  557,  557,
-      557,  557,  568,  557,  557,  557,  557,  557,  566,  557,
-      557,  557,  557,  557,  557,  557,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      567,  557,  557,  557,  569,  557,  568,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  557,  570,  569,  557,  571,  557,  557,
-      557,  557,  557,  557,  561,  561,  557,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  557,  570,  557,  571,  557,
-      557,  572,  557,  557,  557,  561,  561,  557,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  561,  561,  573,  557,  572,
-
-      572,  557,  572,  557,  574,  575,  561,  561,  557,  557,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
-      561,  561,  561,  561,  561,  576,  557,  572,  557,  574,
-      574,  557,  574,  575,  557,  561,  561,  557,  557,  561,
-      561,  561,  561,  561,  561,  561,  561,  557,  576,  557,
-      572,  557,  574,  561,  561,  557,  557,  561,  561,  561,
-      561,  561,  561,  561,  557,  572,  557,  574,  561,  561,
-      557,  557,  561,  561,  561,  561,  557,  572,  557,  574,
-      561,  561,  557,  557,  561,  561,  561,  557,  572,  557,
-      574,  561,  561,  557,  557,  561,  561,  557,  572,  557,
-
-      574,  561,  561,  557,  557,  557,  572,  557,  574,  561,
-      561,  557,  557,  572,  557,  574,  561,  561,  557,  557,
-      572,  557,  574,  561,  561,  557,  572,  557,  574,  561,
-      557,  572,  557,  574,  557,  572,  557,  574,  577,  578,
-      557,  574,  577,  577,  557,  578,  578,  557,  579,  580,
-      579,  579,  557,  580,  580,  557,    0,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557
+      573,    1,  573,  573,  573,  574,  573,  575,  573,  573,
+      573,  576,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  577,  577,
+      577,  577,  577,  573,  573,  573,  573,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  573,  573,  573,  573,  573,  574,  573,
+      575,  573,  575,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  576,  573,  576,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  578,  573,   83,   21,   22,  573,
+      573,  573,  579,  573,  573,  573,  573,  573,  573,  573,
+
+      573,  577,  577,  577,  580,  581,  577,  573,  573,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  582,  578,  573,  573,  573,  573,  573,  573,  573,
+      579,  573,  573,  577,  577,  580,  573,  580,  581,  573,
+      581,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  583,  573,  573,
+      573,  573,  584,  573,  573,  573,  573,  573,  582,  573,
+      573,  573,  573,  573,  573,  573,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  583,  573,  573,  573,  585,  573,
+      584,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  573,
+      586,  585,  573,  587,  573,  573,  573,  573,  573,  573,
+      577,  577,  573,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  573,  586,  573,  587,  573,  573,  588,  573,  573,
+      573,  577,  577,  573,  577,  577,  577,  577,  577,  577,
+
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  577,  577,  589,  573,  588,  588,  573,  588,  573,
+      590,  591,  577,  577,  573,  573,  577,  577,  577,  577,
+      577,  577,  577,  577,  577,  577,  577,  577,  577,  577,
+      577,  592,  573,  588,  573,  590,  590,  573,  590,  591,
+      573,  577,  577,  573,  573,  577,  577,  577,  577,  577,
+      577,  577,  577,  573,  592,  573,  588,  573,  590,  577,
+      577,  573,  573,  577,  577,  577,  577,  577,  577,  577,
+      573,  588,  573,  590,  577,  577,  573,  573,  577,  577,
+      577,  577,  573,  588,  573,  590,  577,  577,  573,  573,
+
+      577,  577,  577,  573,  588,  573,  590,  577,  577,  573,
+      573,  577,  577,  573,  588,  573,  590,  577,  577,  573,
+      573,  573,  588,  573,  590,  577,  577,  573,  573,  588,
+      573,  590,  577,  577,  573,  573,  588,  573,  590,  577,
+      577,  573,  588,  573,  590,  577,  573,  588,  573,  590,
+      573,  588,  573,  590,  593,  594,  573,  590,  593,  593,
+      573,  594,  594,  573,  595,  596,  595,  595,  573,  596,
+      596,  573,    0,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573
+
     } ;
 
-static yyconst flex_int16_t yy_nxt[1016] =
+static yyconst flex_int16_t yy_nxt[1030] =
     {   0,
         4,    5,    6,    5,    5,    7,    8,    9,   10,   11,
        12,   13,   14,   15,   16,   17,   18,   19,   20,   21,
        22,   22,   22,   22,   22,   22,   22,   23,   24,   25,
-       26,   27,   28,   29,   29,   29,   29,   29,   29,   30,
-       29,   29,   31,   29,   29,   29,   29,   29,   29,   29,
-       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
-       42,   43,   29,   44,   29,   45,   29,   29,   29,   29,
-       46,   47,   48,   49,   50,   51,   29,   29,   29,   52,
-       53,   54,   55,   56,   60,   56,   56,   62,   67,   68,
-       69,   72,   75,  134,   80,   77,   81,   81,   81,   81,
-
-       81,   81,   81,   81,   93,   98,   99,   82,   76,   78,
-       79,   70,   83,  102,  106,  111,  108,  103,  109,   60,
-      122,  114,  112,   94,   84,   95,   96,  123,  113,   61,
-      115,   72,   73,  116,  107,  117,  119,  126,  127,  120,
-      203,   63,   64,  135,  118,  556,   65,  128,  204,  138,
-      129,  139,   66,   85,  154,   86,   86,   86,   86,   86,
-       86,   87,   87,   56,   61,   56,   56,  210,  145,  160,
-      163,  145,   73,   88,  148,  211,  152,  154,   89,  199,
-      149,  557,  153,  197,   90,   91,  136,  136,  136,  136,
-      136,  136,  136,  136,  200,   88,  146,  148,  153,  152,
-
-      198,   89,  205,  190,  206,  149,  222,  153,  557,   90,
-      191,  164,   91,   85,  161,   87,   87,   87,   87,   87,
-       87,   87,   87,  153,  193,  227,  163,  230,  231,  222,
-      224,  556,  228,   88,  194,  195,  402,  220,   89,  221,
-      150,  160,  150,  221,   90,  151,  151,  151,  151,  151,
-      151,  151,  151,  224,  213,   88,  245,  246,  553,  225,
-      220,   89,  283,  371,  221,  226,  372,  164,  221,   90,
-       81,   81,   81,   81,   81,   81,   81,   81,  553,  166,
-      489,  167,  225,  168,  208,  283,  161,  169,  143,  144,
-      226,  170,  548,  144,  171,  172,  173,  174,  175,  136,
-
-      136,  136,  136,  136,  136,  136,  136,  294,  214,  404,
-      143,  144,  405,  217,  295,  217,  144,  215,  218,  218,
-      218,  218,  218,  218,  218,  218,  151,  151,  151,  151,
-      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
-      151,  151,  218,  218,  218,  218,  218,  218,  218,  218,
-      286,  285,  548,  223,  402,  334,  545,  223,  218,  218,
-      218,  218,  218,  218,  218,  218,  284,  332,  371,  545,
-      332,  371,  285,  286,  432,  223,  285,  144,  334,  333,
-      223,  144,  337,  404,  337,  337,  404,  402,  337,  284,
-      337,  337,  401,  402,  402,  401,  402,  285,  410,  144,
-
-      410,  410,  401,  402,  144,  401,  428,  431,  432,  410,
-      431,  410,  410,  431,  432,  432,  431,  432,  432,  432,
-      402,  399,  402,  402,  451,  432,  453,  402,  432,  432,
-      402,  432,  432,  466,  402,  338,  429,  402,  432,  402,
-      432,  544,  545,  432,  544,  403,  547,  548,  478,  547,
-      549,  541,  468,  499,  507,  403,  480,  527,  509,  516,
-      433,  378,  539,  501,  534,  537,  433,  535,  514,  533,
-      491,  521,  523,  529,  531,  552,  553,  532,  552,  530,
-      528,  538,  439,  555,  556,  526,  555,  525,  524,  536,
-      522,  540,  542,  520,  519,  550,   57,   57,  518,   57,
-
-       57,   57,   57,   59,   59,   59,   59,   59,   59,   59,
-       71,   71,   71,   71,   71,   71,   71,  100,  100,  100,
-      147,  147,  517,  147,  147,  147,  147,  155,  155,  159,
-      159,  159,  159,  159,  159,  159,  162,  162,  162,  162,
-      162,  162,  162,  219,  515,  513,  219,  219,  219,  271,
-      271,  271,  271,  271,  271,  271,  277,  277,  277,  277,
-      277,  277,  277,  326,  326,  326,  326,  326,  326,  326,
-      367,  367,  367,  367,  367,  367,  367,  369,  369,  369,
-      369,  369,  369,  369,  400,  400,  400,  400,  400,  400,
-      400,  426,  426,  430,  430,  430,  430,  430,  430,  430,
-
-      434,  434,  434,  434,  434,  434,  434,  449,  449,  449,
-      449,  543,  543,  543,  543,  543,  543,  543,  546,  546,
-      546,  546,  546,  546,  546,  551,  551,  551,  551,  551,
-      551,  551,  554,  554,  554,  554,  554,  554,  554,  512,
-      511,  510,  508,  506,  505,  504,  503,  502,  500,  498,
-      497,  496,  495,  494,  493,  492,  490,  488,  487,  486,
-      485,  484,  483,  482,  481,  479,  477,  476,  475,  474,
-      473,  472,  471,  470,  469,  467,  465,  448,  464,  463,
-      462,  461,  460,  459,  458,  457,  456,  455,  454,  435,
-      432,  452,  450,  448,  447,  446,  445,  444,  443,  442,
-
-      441,  440,  438,  437,  436,  435,  402,  427,  425,  424,
-      423,  422,  421,  420,  419,  418,  417,  416,  415,  414,
-      413,  412,  411,  409,  408,  407,  406,  370,  368,  398,
-      397,  396,  395,  394,  393,  392,  391,  390,  389,  388,
-      387,  386,  385,  384,  383,  382,  381,  380,  379,  377,
-      376,  375,  333,  374,  373,  370,  327,  368,  366,  365,
-      364,  363,  362,  361,  360,  359,  358,  357,  356,  355,
-      354,  353,  352,  351,  350,  349,  348,  347,  346,  345,
-      344,  343,  342,  341,  340,  339,  336,  335,  331,  330,
-      329,  278,  328,  327,  325,  324,  272,  323,  322,  321,
-
-      320,  319,  318,  317,  316,  315,  314,  313,  312,  311,
-      310,  309,  308,  307,  306,  305,  304,  303,  302,  301,
-      300,  299,  298,  297,  296,  293,  292,  291,  290,  289,
-      288,  287,  282,  281,  280,  279,  278,  276,  275,  274,
-      273,  272,  270,  269,  268,  267,  266,  265,  264,  263,
-      262,  261,  260,  259,  258,  257,  256,  255,  254,  253,
-      252,  251,  250,  249,  248,  247,  244,  243,  242,  241,
-      240,  239,  238,  237,  236,  235,  234,  233,  232,  229,
-      557,  557,  146,  216,  212,  209,  207,  202,  201,  196,
-      192,  189,  188,  187,  186,  185,  184,  183,  182,  181,
-
-      180,  179,  178,  177,  176,  165,  158,  157,  156,  142,
-      557,  141,  140,  137,  557,  133,  132,  131,  130,  125,
-      124,  121,  110,  105,  104,  101,   97,   92,   74,   58,
-      557,    3,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557
+       26,   27,   28,   29,   29,   29,   29,   29,   30,   31,
+       29,   29,   32,   29,   29,   29,   29,   33,   29,   29,
+       34,   35,   36,   37,   38,   39,   40,   41,   42,   43,
+       44,   45,   29,   46,   29,   47,   29,   29,   29,   29,
+       48,   49,   50,   51,   52,   53,   29,   29,   29,   54,
+       55,   56,   57,   58,   62,   58,   58,   64,   69,   70,
+       71,   74,   77,  572,   82,   79,   83,   83,   83,   83,
+
+       83,   83,   83,   83,   95,  100,  101,   84,   78,   80,
+       81,   72,   85,  105,  110,  115,  112,  106,  113,  140,
+      572,  118,  116,   96,   86,   97,   98,  123,  117,   63,
+      119,  127,   75,  120,  111,  121,  135,  124,  128,   74,
+      125,   65,   66,  136,  122,   58,   67,   58,   58,   62,
+      206,  151,   68,   87,  151,   88,   88,   88,   88,   88,
+       88,   89,   89,  167,  131,  132,  144,  207,  145,  141,
+      170,  242,  243,   90,  133,  158,  154,  134,   91,  152,
+       75,  159,  155,  573,   92,   93,  142,  142,  142,  142,
+      142,  142,  142,  142,   63,   90,  199,  213,  158,  154,
+
+      160,   91,  215,  200,  216,  214,  159,  155,  168,   92,
+      573,  171,   93,   87,  202,   89,   89,   89,   89,   89,
+       89,   89,   89,  160,  203,  204,  208,  220,  569,  238,
+      232,  159,  569,   90,  234,  221,  239,  230,   91,  170,
+      156,  209,  156,  231,   92,  157,  157,  157,  157,  157,
+      157,  157,  157,  232,  223,   90,  159,  234,  564,  235,
+      230,   91,  167,  257,  258,  236,  564,  231,  231,   92,
+       83,   83,   83,   83,   83,   83,   83,   83,  309,  174,
+      171,  175,  235,  176,  218,  310,  297,  177,  149,  150,
+      236,  178,  231,  150,  179,  180,  181,  182,  183,  142,
+
+      142,  142,  142,  142,  142,  142,  142,  168,  224,  297,
+      149,  150,  418,  227,  561,  227,  150,  225,  228,  228,
+      228,  228,  228,  228,  228,  228,  157,  157,  157,  157,
+      157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
+      157,  157,  228,  228,  228,  228,  228,  228,  228,  228,
+      300,  299,  561,  233,  565,  350,  505,  233,  228,  228,
+      228,  228,  228,  228,  228,  228,  298,  348,  387,  418,
+      348,  388,  299,  300,  448,  233,  299,  150,  350,  349,
+      233,  150,  353,  387,  353,  353,  387,  418,  353,  298,
+      353,  353,  417,  418,  418,  417,  418,  299,  420,  150,
+
+      426,  421,  426,  426,  150,  417,  418,  420,  417,  448,
+      420,  447,  448,  426,  447,  426,  426,  447,  448,  448,
+      447,  444,  418,  448,  467,  448,  469,  418,  418,  557,
+      448,  418,  448,  482,  448,  354,  415,  448,  418,  418,
+      448,  418,  448,  418,  448,  419,  484,  448,  494,  560,
+      561,  555,  560,  563,  564,  515,  563,  553,  419,  523,
+      445,  394,  496,  525,  449,  532,  551,  549,  530,  517,
+      449,  507,  537,  539,  543,  550,  568,  569,  545,  568,
+      547,  548,  546,  544,  542,  554,  455,  571,  572,  541,
+      571,  540,  538,  552,  536,  556,  558,  535,  534,  566,
+
+       59,   59,  533,   59,   59,   59,   59,   61,   61,   61,
+       61,   61,   61,   61,   73,   73,   73,   73,   73,   73,
+       73,  102,  102,  102,  153,  153,  531,  153,  153,  153,
+      153,  161,  161,  166,  166,  166,  166,  166,  166,  166,
+      169,  169,  169,  169,  169,  169,  169,  229,  529,  528,
+      229,  229,  229,  285,  285,  285,  285,  285,  285,  285,
+      291,  291,  291,  291,  291,  291,  291,  342,  342,  342,
+      342,  342,  342,  342,  383,  383,  383,  383,  383,  383,
+      383,  385,  385,  385,  385,  385,  385,  385,  416,  416,
+      416,  416,  416,  416,  416,  442,  442,  446,  446,  446,
+
+      446,  446,  446,  446,  450,  450,  450,  450,  450,  450,
+      450,  465,  465,  465,  465,  559,  559,  559,  559,  559,
+      559,  559,  562,  562,  562,  562,  562,  562,  562,  567,
+      567,  567,  567,  567,  567,  567,  570,  570,  570,  570,
+      570,  570,  570,  527,  526,  524,  522,  521,  520,  519,
+      518,  516,  514,  513,  512,  511,  510,  509,  508,  506,
+      504,  503,  502,  501,  500,  499,  498,  497,  495,  493,
+      492,  491,  490,  489,  488,  487,  486,  485,  483,  481,
+      464,  480,  479,  478,  477,  476,  475,  474,  473,  472,
+      471,  470,  451,  448,  468,  466,  464,  463,  462,  461,
+
+      460,  459,  458,  457,  456,  454,  453,  452,  451,  418,
+      443,  441,  440,  439,  438,  437,  436,  435,  434,  433,
+      432,  431,  430,  429,  428,  427,  425,  424,  423,  422,
+      386,  384,  414,  413,  412,  411,  410,  409,  408,  407,
+      406,  405,  404,  403,  402,  401,  400,  399,  398,  397,
+      396,  395,  393,  392,  391,  349,  390,  389,  386,  343,
+      384,  382,  381,  380,  379,  378,  377,  376,  375,  374,
+      373,  372,  371,  370,  369,  368,  367,  366,  365,  364,
+      363,  362,  361,  360,  359,  358,  357,  356,  355,  352,
+      351,  347,  346,  345,  292,  344,  343,  341,  340,  286,
+
+      339,  338,  337,  336,  335,  334,  333,  332,  331,  330,
+      329,  328,  327,  326,  325,  324,  323,  322,  321,  320,
+      319,  318,  317,  316,  315,  314,  313,  312,  311,  308,
+      307,  306,  305,  304,  303,  302,  301,  296,  295,  294,
+      293,  292,  290,  289,  288,  287,  286,  284,  283,  282,
+      281,  280,  279,  278,  277,  276,  275,  274,  273,  272,
+      271,  270,  269,  268,  267,  266,  265,  264,  263,  262,
+      261,  260,  259,  256,  255,  254,  253,  252,  251,  250,
+      249,  248,  247,  246,  245,  244,  241,  240,  573,  573,
+      237,  152,  226,  222,  219,  217,  212,  211,  210,  205,
+
+      201,  198,  197,  196,  195,  194,  193,  192,  191,  190,
+      189,  188,  187,  186,  185,  184,  173,  172,  165,  164,
+      163,  162,  148,  573,  147,  146,  143,  573,  139,  138,
+      137,  130,  129,  126,  114,  109,  108,  107,  104,  103,
+       99,   94,   76,   60,  573,    3,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573
     } ;
 
-static yyconst flex_int16_t yy_chk[1016] =
+static yyconst flex_int16_t yy_chk[1030] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -837,109 +850,110 @@ static yyconst flex_int16_t yy_chk[1016] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    5,    8,    5,    5,    9,   10,   10,
-       11,   12,   16,   53,   19,   18,   19,   19,   19,   19,
+       11,   12,   16,  571,   19,   18,   19,   19,   19,   19,
 
        19,   19,   19,   19,   25,   27,   27,   20,   16,   18,
-       18,   11,   20,   31,   36,   39,   37,   31,   37,   59,
-       44,   40,   39,   25,   20,   25,   25,   44,   39,    8,
-       40,   71,   12,   41,   36,   41,   42,   47,   47,   42,
-      131,    9,    9,   53,   41,  555,    9,   47,  131,   64,
-       47,   64,    9,   21,   90,   21,   21,   21,   21,   21,
-       21,   21,   21,   56,   59,   56,   56,  138,   82,  102,
-      103,   82,   71,   21,   86,  138,   89,   90,   21,  128,
-       86,   86,   89,  127,   21,   21,   62,   62,   62,   62,
-       62,   62,   62,   62,  128,   21,   82,   86,  152,   89,
-
-      127,   21,  132,  123,  132,   86,  149,   89,   86,   21,
-      123,  103,   21,   22,  102,   22,   22,   22,   22,   22,
-       22,   22,   22,  152,  125,  158,  162,  166,  166,  149,
-      154,  554,  158,   22,  125,  125,  478,  148,   22,  220,
-       88,  159,   88,  148,   22,   88,   88,   88,   88,   88,
-       88,   88,   88,  154,  140,   22,  181,  181,  552,  155,
-      148,   22,  222,  329,  220,  155,  329,  162,  148,   22,
-       81,   81,   81,   81,   81,   81,   81,   81,  551,  107,
-      478,  107,  155,  107,  136,  222,  159,  107,   81,   81,
-      155,  107,  547,   81,  107,  107,  107,  107,  107,  136,
-
-      136,  136,  136,  136,  136,  136,  136,  234,  140,  373,
-       81,   81,  373,  143,  234,  143,   81,  140,  143,  143,
-      143,  143,  143,  143,  143,  143,  150,  150,  150,  150,
-      150,  150,  150,  150,  151,  151,  151,  151,  151,  151,
-      151,  151,  217,  217,  217,  217,  217,  217,  217,  217,
-      226,  284,  546,  151,  403,  286,  544,  151,  218,  218,
-      218,  218,  218,  218,  218,  218,  225,  282,  371,  543,
-      282,  371,  225,  226,  433,  151,  284,  218,  286,  282,
-      151,  218,  290,  404,  290,  290,  404,  428,  337,  225,
-      337,  337,  372,  372,  451,  372,  466,  225,  379,  218,
-
-      379,  379,  401,  401,  218,  401,  403,  405,  405,  410,
-      405,  410,  410,  431,  431,  453,  431,  468,  480,  491,
-      489,  371,  521,  499,  428,  501,  433,  507,  509,  529,
-      514,  516,  523,  451,  527,  290,  404,  532,  534,  536,
-      538,  539,  539,  542,  539,  372,  540,  540,  466,  540,
-      541,  537,  453,  489,  499,  401,  468,  521,  501,  509,
-      405,  337,  535,  491,  529,  533,  431,  531,  507,  528,
-      480,  514,  516,  523,  526,  549,  549,  527,  549,  525,
-      522,  534,  410,  550,  550,  520,  550,  518,  517,  532,
-      515,  536,  538,  513,  512,  542,  558,  558,  511,  558,
-
-      558,  558,  558,  559,  559,  559,  559,  559,  559,  559,
-      560,  560,  560,  560,  560,  560,  560,  561,  561,  561,
-      562,  562,  510,  562,  562,  562,  562,  563,  563,  564,
-      564,  564,  564,  564,  564,  564,  565,  565,  565,  565,
-      565,  565,  565,  566,  508,  506,  566,  566,  566,  567,
-      567,  567,  567,  567,  567,  567,  568,  568,  568,  568,
-      568,  568,  568,  569,  569,  569,  569,  569,  569,  569,
-      570,  570,  570,  570,  570,  570,  570,  571,  571,  571,
-      571,  571,  571,  571,  572,  572,  572,  572,  572,  572,
-      572,  573,  573,  574,  574,  574,  574,  574,  574,  574,
-
-      575,  575,  575,  575,  575,  575,  575,  576,  576,  576,
-      576,  577,  577,  577,  577,  577,  577,  577,  578,  578,
-      578,  578,  578,  578,  578,  579,  579,  579,  579,  579,
-      579,  579,  580,  580,  580,  580,  580,  580,  580,  505,
-      503,  502,  500,  498,  495,  494,  493,  492,  490,  488,
-      486,  485,  484,  483,  482,  481,  479,  477,  476,  474,
-      473,  472,  471,  470,  469,  467,  465,  464,  463,  459,
-      458,  457,  456,  455,  454,  452,  450,  449,  447,  446,
-      445,  444,  442,  441,  440,  439,  438,  437,  436,  434,
-      430,  429,  427,  426,  420,  419,  417,  416,  415,  414,
-
-      412,  411,  409,  408,  407,  406,  400,  399,  397,  396,
-      394,  393,  391,  390,  389,  388,  387,  386,  385,  384,
-      383,  382,  380,  378,  377,  376,  374,  369,  367,  366,
-      365,  364,  363,  356,  355,  351,  350,  349,  348,  347,
-      346,  345,  344,  343,  342,  341,  340,  339,  338,  336,
-      335,  333,  332,  331,  330,  328,  326,  325,  324,  322,
-      321,  319,  318,  317,  316,  315,  314,  312,  311,  310,
-      309,  307,  306,  305,  304,  301,  300,  299,  298,  297,
-      296,  295,  294,  293,  292,  291,  288,  287,  281,  280,
-      279,  277,  276,  275,  274,  273,  271,  270,  269,  267,
-
-      266,  265,  264,  263,  262,  261,  260,  259,  258,  257,
-      256,  254,  252,  251,  248,  247,  246,  245,  242,  240,
-      239,  238,  237,  236,  235,  233,  232,  231,  230,  229,
-      228,  227,  219,  216,  215,  214,  213,  212,  211,  210,
-      209,  208,  207,  206,  205,  204,  203,  202,  201,  200,
-      199,  198,  197,  196,  195,  194,  193,  192,  190,  189,
-      187,  186,  185,  184,  183,  182,  180,  179,  178,  177,
-      175,  174,  173,  172,  171,  170,  169,  168,  167,  165,
-      164,  161,  145,  141,  139,  137,  133,  130,  129,  126,
-      124,  121,  120,  119,  118,  117,  116,  115,  114,  113,
-
-      112,  111,  110,  109,  108,  106,  101,   99,   95,   80,
-       73,   66,   65,   63,   61,   51,   50,   49,   48,   46,
-       45,   43,   38,   35,   33,   30,   26,   23,   15,    7,
-        3,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-
-      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
-      557,  557,  557,  557,  557
+       18,   11,   20,   32,   38,   41,   39,   32,   39,   55,
+      570,   42,   41,   25,   20,   25,   25,   44,   41,    8,
+       42,   46,   12,   43,   38,   43,   50,   44,   46,   73,
+       44,    9,    9,   50,   43,   58,    9,   58,   58,   61,
+      132,   84,    9,   21,   84,   21,   21,   21,   21,   21,
+       21,   21,   21,  105,   49,   49,   66,  132,   66,   55,
+      106,  174,  174,   21,   49,   91,   88,   49,   21,   84,
+       73,   91,   88,   88,   21,   21,   64,   64,   64,   64,
+       64,   64,   64,   64,   61,   21,  128,  137,   91,   88,
+
+       92,   21,  138,  128,  138,  137,   91,   88,  105,   21,
+       88,  106,   21,   22,  130,   22,   22,   22,   22,   22,
+       22,   22,   22,   92,  130,  130,  133,  144,  568,  165,
+      155,  158,  567,   22,  160,  144,  165,  154,   22,  169,
+       90,  133,   90,  154,   22,   90,   90,   90,   90,   90,
+       90,   90,   90,  155,  146,   22,  158,  160,  563,  161,
+      154,   22,  166,  189,  189,  161,  562,  230,  154,   22,
+       83,   83,   83,   83,   83,   83,   83,   83,  246,  111,
+      169,  111,  161,  111,  142,  246,  232,  111,   83,   83,
+      161,  111,  230,   83,  111,  111,  111,  111,  111,  142,
+
+      142,  142,  142,  142,  142,  142,  142,  166,  146,  232,
+       83,   83,  494,  149,  560,  149,   83,  146,  149,  149,
+      149,  149,  149,  149,  149,  149,  156,  156,  156,  156,
+      156,  156,  156,  156,  157,  157,  157,  157,  157,  157,
+      157,  157,  227,  227,  227,  227,  227,  227,  227,  227,
+      236,  298,  559,  157,  557,  300,  494,  157,  228,  228,
+      228,  228,  228,  228,  228,  228,  235,  296,  345,  419,
+      296,  345,  235,  236,  449,  157,  298,  228,  300,  296,
+      157,  228,  305,  387,  305,  305,  387,  444,  353,  235,
+      353,  353,  388,  388,  467,  388,  482,  235,  389,  228,
+
+      395,  389,  395,  395,  228,  417,  417,  420,  417,  469,
+      420,  421,  421,  426,  421,  426,  426,  447,  447,  496,
+      447,  419,  505,  484,  444,  507,  449,  523,  515,  553,
+      517,  530,  532,  467,  525,  305,  387,  539,  543,  537,
+      545,  548,  550,  552,  554,  388,  469,  558,  482,  555,
+      555,  551,  555,  556,  556,  505,  556,  549,  417,  515,
+      420,  353,  484,  517,  421,  525,  547,  544,  523,  507,
+      447,  496,  530,  532,  537,  545,  565,  565,  539,  565,
+      542,  543,  541,  538,  536,  550,  426,  566,  566,  534,
+      566,  533,  531,  548,  529,  552,  554,  528,  527,  558,
+
+      574,  574,  526,  574,  574,  574,  574,  575,  575,  575,
+      575,  575,  575,  575,  576,  576,  576,  576,  576,  576,
+      576,  577,  577,  577,  578,  578,  524,  578,  578,  578,
+      578,  579,  579,  580,  580,  580,  580,  580,  580,  580,
+      581,  581,  581,  581,  581,  581,  581,  582,  522,  521,
+      582,  582,  582,  583,  583,  583,  583,  583,  583,  583,
+      584,  584,  584,  584,  584,  584,  584,  585,  585,  585,
+      585,  585,  585,  585,  586,  586,  586,  586,  586,  586,
+      586,  587,  587,  587,  587,  587,  587,  587,  588,  588,
+      588,  588,  588,  588,  588,  589,  589,  590,  590,  590,
+
+      590,  590,  590,  590,  591,  591,  591,  591,  591,  591,
+      591,  592,  592,  592,  592,  593,  593,  593,  593,  593,
+      593,  593,  594,  594,  594,  594,  594,  594,  594,  595,
+      595,  595,  595,  595,  595,  595,  596,  596,  596,  596,
+      596,  596,  596,  519,  518,  516,  514,  511,  510,  509,
+      508,  506,  504,  502,  501,  500,  499,  498,  497,  495,
+      493,  492,  490,  489,  488,  487,  486,  485,  483,  481,
+      480,  479,  475,  474,  473,  472,  471,  470,  468,  466,
+      465,  463,  462,  461,  460,  458,  457,  456,  455,  454,
+      453,  452,  450,  446,  445,  443,  442,  436,  435,  433,
+
+      432,  431,  430,  428,  427,  425,  424,  423,  422,  416,
+      415,  413,  412,  410,  409,  407,  406,  405,  404,  403,
+      402,  401,  400,  399,  398,  396,  394,  393,  392,  390,
+      385,  383,  382,  381,  380,  379,  372,  371,  367,  366,
+      365,  364,  363,  362,  361,  360,  359,  358,  357,  356,
+      355,  354,  352,  351,  349,  348,  347,  346,  344,  342,
+      341,  340,  338,  337,  335,  334,  333,  332,  331,  330,
+      328,  327,  326,  325,  322,  321,  320,  319,  316,  315,
+      314,  313,  312,  311,  310,  309,  308,  307,  306,  303,
+      302,  295,  294,  293,  291,  290,  289,  288,  287,  285,
+
+      284,  283,  281,  280,  279,  277,  276,  275,  274,  273,
+      272,  271,  270,  269,  267,  265,  264,  263,  260,  259,
+      258,  257,  254,  252,  251,  250,  249,  248,  247,  245,
+      244,  243,  242,  241,  239,  238,  237,  229,  226,  225,
+      224,  223,  222,  221,  220,  219,  218,  217,  216,  215,
+      214,  213,  212,  211,  210,  209,  208,  207,  206,  205,
+      204,  203,  202,  201,  199,  198,  196,  195,  194,  193,
+      192,  191,  190,  188,  187,  186,  185,  183,  182,  181,
+      180,  179,  178,  177,  176,  175,  173,  172,  171,  168,
+      164,  151,  147,  145,  143,  139,  136,  135,  134,  131,
+
+      129,  126,  125,  124,  123,  122,  121,  120,  119,  118,
+      117,  116,  115,  114,  113,  112,  110,  107,  104,  103,
+      101,   97,   82,   75,   68,   67,   65,   63,   53,   52,
+       51,   48,   47,   45,   40,   37,   35,   33,   31,   30,
+       26,   23,   15,    7,    3,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
+      573,  573,  573,  573,  573,  573,  573,  573,  573
     } ;
 
 extern int yy_flex_debug;
@@ -1020,7 +1034,7 @@ static void process_linemarks (GISourceScanner *scanner);
 static int check_identifier (GISourceScanner *scanner, const char *);
 static int parse_ignored_macro (void);
 static void print_error (GISourceScanner *scanner);
-#line 1024 "scannerlexer.c"
+#line 1038 "scannerlexer.c"
 
 #define INITIAL 0
 
@@ -1203,7 +1217,7 @@ YY_DECL
 #line 72 "giscanner/scannerlexer.l"
 
 
-#line 1207 "scannerlexer.c"
+#line 1221 "scannerlexer.c"
 
        if ( !(yy_init) )
                {
@@ -1261,14 +1275,14 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 558 )
+                               if ( yy_current_state >= 574 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        *(yy_state_ptr)++ = yy_current_state;
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 932 );
+               while ( yy_base[yy_current_state] != 946 );
 
 yy_find_action:
                yy_current_state = *--(yy_state_ptr);
@@ -1749,269 +1763,289 @@ YY_RULE_SETUP
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 172 "giscanner/scannerlexer.l"
-{ if (scanner->macro_scan) return check_identifier(scanner, yytext); else REJECT; }
+#line 173 "giscanner/scannerlexer.l"
+{ return BOOLEAN; }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
 #line 174 "giscanner/scannerlexer.l"
-{ if (!parse_ignored_macro()) REJECT; }
+{ return BOOLEAN; }
        YY_BREAK
 case 90:
 YY_RULE_SETUP
 #line 175 "giscanner/scannerlexer.l"
-{ return AUTO; }
+{ return BOOLEAN; }
        YY_BREAK
 case 91:
 YY_RULE_SETUP
 #line 176 "giscanner/scannerlexer.l"
-{ return BREAK; }
+{ return BOOLEAN; }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 177 "giscanner/scannerlexer.l"
-{ return CASE; }
+#line 178 "giscanner/scannerlexer.l"
+{ if (scanner->macro_scan) return check_identifier(scanner, yytext); else REJECT; }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 178 "giscanner/scannerlexer.l"
-{ return CHAR; }
+#line 180 "giscanner/scannerlexer.l"
+{ if (!parse_ignored_macro()) REJECT; }
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 179 "giscanner/scannerlexer.l"
-{ return CONST; }
+#line 181 "giscanner/scannerlexer.l"
+{ return AUTO; }
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 180 "giscanner/scannerlexer.l"
-{ return CONTINUE; }
+#line 182 "giscanner/scannerlexer.l"
+{ return BREAK; }
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 181 "giscanner/scannerlexer.l"
-{ return DEFAULT; }
+#line 183 "giscanner/scannerlexer.l"
+{ return CASE; }
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 182 "giscanner/scannerlexer.l"
-{ return DO; }
+#line 184 "giscanner/scannerlexer.l"
+{ return CHAR; }
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 183 "giscanner/scannerlexer.l"
-{ return DOUBLE; }
+#line 185 "giscanner/scannerlexer.l"
+{ return CONST; }
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 184 "giscanner/scannerlexer.l"
-{ return ELSE; }
+#line 186 "giscanner/scannerlexer.l"
+{ return CONTINUE; }
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 185 "giscanner/scannerlexer.l"
-{ return ENUM; }
+#line 187 "giscanner/scannerlexer.l"
+{ return DEFAULT; }
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 186 "giscanner/scannerlexer.l"
-{ return EXTERN; }
+#line 188 "giscanner/scannerlexer.l"
+{ return DO; }
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 187 "giscanner/scannerlexer.l"
-{ return FLOAT; }
+#line 189 "giscanner/scannerlexer.l"
+{ return DOUBLE; }
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 188 "giscanner/scannerlexer.l"
-{ return FOR; }
+#line 190 "giscanner/scannerlexer.l"
+{ return ELSE; }
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 189 "giscanner/scannerlexer.l"
-{ return GOTO; }
+#line 191 "giscanner/scannerlexer.l"
+{ return ENUM; }
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 190 "giscanner/scannerlexer.l"
-{ return IF; }
+#line 192 "giscanner/scannerlexer.l"
+{ return EXTERN; }
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 191 "giscanner/scannerlexer.l"
-{ return INLINE; }
+#line 193 "giscanner/scannerlexer.l"
+{ return FLOAT; }
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 192 "giscanner/scannerlexer.l"
-{ return INT; }
+#line 194 "giscanner/scannerlexer.l"
+{ return FOR; }
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 193 "giscanner/scannerlexer.l"
-{ return INT; }
+#line 195 "giscanner/scannerlexer.l"
+{ return GOTO; }
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 194 "giscanner/scannerlexer.l"
-{ return INT; }
+#line 196 "giscanner/scannerlexer.l"
+{ return IF; }
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 195 "giscanner/scannerlexer.l"
-{ return INT; }
+#line 197 "giscanner/scannerlexer.l"
+{ return INLINE; }
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 196 "giscanner/scannerlexer.l"
+#line 198 "giscanner/scannerlexer.l"
 { return INT; }
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 197 "giscanner/scannerlexer.l"
-{ return LONG; }
+#line 199 "giscanner/scannerlexer.l"
+{ return INT; }
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 198 "giscanner/scannerlexer.l"
-{ return REGISTER; }
+#line 200 "giscanner/scannerlexer.l"
+{ return INT; }
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 199 "giscanner/scannerlexer.l"
-{ return RESTRICT; }
+#line 201 "giscanner/scannerlexer.l"
+{ return INT; }
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 200 "giscanner/scannerlexer.l"
-{ return RETURN; }
+#line 202 "giscanner/scannerlexer.l"
+{ return INT; }
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 201 "giscanner/scannerlexer.l"
-{ return SHORT; }
+#line 203 "giscanner/scannerlexer.l"
+{ return LONG; }
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 202 "giscanner/scannerlexer.l"
-{ return SIGNED; }
+#line 204 "giscanner/scannerlexer.l"
+{ return REGISTER; }
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 203 "giscanner/scannerlexer.l"
-{ return SIZEOF; }
+#line 205 "giscanner/scannerlexer.l"
+{ return RESTRICT; }
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 204 "giscanner/scannerlexer.l"
-{ return STATIC; }
+#line 206 "giscanner/scannerlexer.l"
+{ return RETURN; }
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 205 "giscanner/scannerlexer.l"
-{ return STRUCT; }
+#line 207 "giscanner/scannerlexer.l"
+{ return SHORT; }
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 206 "giscanner/scannerlexer.l"
-{ return SWITCH; }
+#line 208 "giscanner/scannerlexer.l"
+{ return SIGNED; }
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 207 "giscanner/scannerlexer.l"
-{ return TYPEDEF; }
+#line 209 "giscanner/scannerlexer.l"
+{ return SIZEOF; }
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 208 "giscanner/scannerlexer.l"
-{ return UNION; }
+#line 210 "giscanner/scannerlexer.l"
+{ return STATIC; }
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 209 "giscanner/scannerlexer.l"
-{ return UNSIGNED; }
+#line 211 "giscanner/scannerlexer.l"
+{ return STRUCT; }
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 210 "giscanner/scannerlexer.l"
-{ return VOID; }
+#line 212 "giscanner/scannerlexer.l"
+{ return SWITCH; }
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 211 "giscanner/scannerlexer.l"
-{ return VOLATILE; }
+#line 213 "giscanner/scannerlexer.l"
+{ return TYPEDEF; }
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 212 "giscanner/scannerlexer.l"
-{ return WHILE; }
+#line 214 "giscanner/scannerlexer.l"
+{ return UNION; }
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 214 "giscanner/scannerlexer.l"
-{ return check_identifier(scanner, yytext); }
+#line 215 "giscanner/scannerlexer.l"
+{ return UNSIGNED; }
        YY_BREAK
 case 129:
 YY_RULE_SETUP
 #line 216 "giscanner/scannerlexer.l"
-{ return INTEGER; }
+{ return VOID; }
        YY_BREAK
 case 130:
 YY_RULE_SETUP
 #line 217 "giscanner/scannerlexer.l"
-{ return INTEGER; }
+{ return VOLATILE; }
        YY_BREAK
 case 131:
 YY_RULE_SETUP
 #line 218 "giscanner/scannerlexer.l"
-{ return INTEGER; }
+{ return WHILE; }
        YY_BREAK
 case 132:
 YY_RULE_SETUP
 #line 220 "giscanner/scannerlexer.l"
-{ return FLOATING; }
+{ return check_identifier(scanner, yytext); }
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 221 "giscanner/scannerlexer.l"
-{ return FLOATING; }
+#line 222 "giscanner/scannerlexer.l"
+{ return INTEGER; }
        YY_BREAK
 case 134:
-/* rule 134 can match eol */
 YY_RULE_SETUP
 #line 223 "giscanner/scannerlexer.l"
-{ return CHARACTER; }
+{ return INTEGER; }
        YY_BREAK
 case 135:
-/* rule 135 can match eol */
 YY_RULE_SETUP
 #line 224 "giscanner/scannerlexer.l"
-{ return CHARACTER; }
+{ return INTEGER; }
        YY_BREAK
 case 136:
-/* rule 136 can match eol */
 YY_RULE_SETUP
 #line 226 "giscanner/scannerlexer.l"
-{ return STRING; }
+{ return FLOATING; }
        YY_BREAK
 case 137:
-/* rule 137 can match eol */
 YY_RULE_SETUP
 #line 227 "giscanner/scannerlexer.l"
-{ return STRING; }
+{ return FLOATING; }
        YY_BREAK
 case 138:
+/* rule 138 can match eol */
 YY_RULE_SETUP
 #line 229 "giscanner/scannerlexer.l"
-{ print_error(scanner); }
+{ return CHARACTER; }
        YY_BREAK
 case 139:
+/* rule 139 can match eol */
+YY_RULE_SETUP
+#line 230 "giscanner/scannerlexer.l"
+{ return CHARACTER; }
+       YY_BREAK
+case 140:
+/* rule 140 can match eol */
+YY_RULE_SETUP
+#line 232 "giscanner/scannerlexer.l"
+{ return STRING; }
+       YY_BREAK
+case 141:
+/* rule 141 can match eol */
 YY_RULE_SETUP
-#line 231 "giscanner/scannerlexer.l"
+#line 233 "giscanner/scannerlexer.l"
+{ return STRING; }
+       YY_BREAK
+case 142:
+YY_RULE_SETUP
+#line 235 "giscanner/scannerlexer.l"
+{ print_error(scanner); }
+       YY_BREAK
+case 143:
+YY_RULE_SETUP
+#line 237 "giscanner/scannerlexer.l"
 ECHO;
        YY_BREAK
-#line 2015 "scannerlexer.c"
+#line 2049 "scannerlexer.c"
                        case YY_STATE_EOF(INITIAL):
                                yyterminate();
 
@@ -2272,7 +2306,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 558 )
+                       if ( yy_current_state >= 574 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2295,11 +2329,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 558 )
+               if ( yy_current_state >= 574 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 557);
+       yy_is_jam = (yy_current_state == 573);
        if ( ! yy_is_jam )
                *(yy_state_ptr)++ = yy_current_state;
 
@@ -2704,7 +2738,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;
-       yy_size_t i;
+       int i;
     
        /* Get memory for full buffer, including space for trailing EOB's. */
        n = _yybytes_len + 2;
@@ -2942,7 +2976,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 231 "giscanner/scannerlexer.l"
+#line 237 "giscanner/scannerlexer.l"
 
 
 
@@ -3110,7 +3144,8 @@ process_linemarks (GISourceScanner *scanner)
             filename = real;
           }
 
-        g_object_unref (scanner->current_file);
+        if (scanner->current_file)
+          g_object_unref (scanner->current_file);
        scanner->current_file = g_file_new_for_path (filename);
        g_free (filename);
 }
index 5e6d0ca..299ba71 100644 (file)
@@ -286,78 +286,79 @@ extern int yydebug;
      TYPEDEF_NAME = 259,
      INTEGER = 260,
      FLOATING = 261,
-     CHARACTER = 262,
-     STRING = 263,
-     INTL_CONST = 264,
-     INTUL_CONST = 265,
-     ELLIPSIS = 266,
-     ADDEQ = 267,
-     SUBEQ = 268,
-     MULEQ = 269,
-     DIVEQ = 270,
-     MODEQ = 271,
-     XOREQ = 272,
-     ANDEQ = 273,
-     OREQ = 274,
-     SL = 275,
-     SR = 276,
-     SLEQ = 277,
-     SREQ = 278,
-     EQ = 279,
-     NOTEQ = 280,
-     LTEQ = 281,
-     GTEQ = 282,
-     ANDAND = 283,
-     OROR = 284,
-     PLUSPLUS = 285,
-     MINUSMINUS = 286,
-     ARROW = 287,
-     AUTO = 288,
-     BOOL = 289,
-     BREAK = 290,
-     CASE = 291,
-     CHAR = 292,
-     CONST = 293,
-     CONTINUE = 294,
-     DEFAULT = 295,
-     DO = 296,
-     DOUBLE = 297,
-     ELSE = 298,
-     ENUM = 299,
-     EXTENSION = 300,
-     EXTERN = 301,
-     FLOAT = 302,
-     FOR = 303,
-     GOTO = 304,
-     IF = 305,
-     INLINE = 306,
-     INT = 307,
-     LONG = 308,
-     REGISTER = 309,
-     RESTRICT = 310,
-     RETURN = 311,
-     SHORT = 312,
-     SIGNED = 313,
-     SIZEOF = 314,
-     STATIC = 315,
-     STRUCT = 316,
-     SWITCH = 317,
-     TYPEDEF = 318,
-     UNION = 319,
-     UNSIGNED = 320,
-     VOID = 321,
-     VOLATILE = 322,
-     WHILE = 323,
-     FUNCTION_MACRO = 324,
-     OBJECT_MACRO = 325,
-     IFDEF_GI_SCANNER = 326,
-     IFNDEF_GI_SCANNER = 327,
-     IFDEF_COND = 328,
-     IFNDEF_COND = 329,
-     IF_COND = 330,
-     ELIF_COND = 331,
-     ELSE_COND = 332,
-     ENDIF_COND = 333
+     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.  */
@@ -365,78 +366,79 @@ extern int yydebug;
 #define TYPEDEF_NAME 259
 #define INTEGER 260
 #define FLOATING 261
-#define CHARACTER 262
-#define STRING 263
-#define INTL_CONST 264
-#define INTUL_CONST 265
-#define ELLIPSIS 266
-#define ADDEQ 267
-#define SUBEQ 268
-#define MULEQ 269
-#define DIVEQ 270
-#define MODEQ 271
-#define XOREQ 272
-#define ANDEQ 273
-#define OREQ 274
-#define SL 275
-#define SR 276
-#define SLEQ 277
-#define SREQ 278
-#define EQ 279
-#define NOTEQ 280
-#define LTEQ 281
-#define GTEQ 282
-#define ANDAND 283
-#define OROR 284
-#define PLUSPLUS 285
-#define MINUSMINUS 286
-#define ARROW 287
-#define AUTO 288
-#define BOOL 289
-#define BREAK 290
-#define CASE 291
-#define CHAR 292
-#define CONST 293
-#define CONTINUE 294
-#define DEFAULT 295
-#define DO 296
-#define DOUBLE 297
-#define ELSE 298
-#define ENUM 299
-#define EXTENSION 300
-#define EXTERN 301
-#define FLOAT 302
-#define FOR 303
-#define GOTO 304
-#define IF 305
-#define INLINE 306
-#define INT 307
-#define LONG 308
-#define REGISTER 309
-#define RESTRICT 310
-#define RETURN 311
-#define SHORT 312
-#define SIGNED 313
-#define SIZEOF 314
-#define STATIC 315
-#define STRUCT 316
-#define SWITCH 317
-#define TYPEDEF 318
-#define UNION 319
-#define UNSIGNED 320
-#define VOID 321
-#define VOLATILE 322
-#define WHILE 323
-#define FUNCTION_MACRO 324
-#define OBJECT_MACRO 325
-#define IFDEF_GI_SCANNER 326
-#define IFNDEF_GI_SCANNER 327
-#define IFDEF_COND 328
-#define IFNDEF_COND 329
-#define IF_COND 330
-#define ELIF_COND 331
-#define ELSE_COND 332
-#define ENDIF_COND 333
+#define BOOLEAN 262
+#define CHARACTER 263
+#define STRING 264
+#define INTL_CONST 265
+#define INTUL_CONST 266
+#define ELLIPSIS 267
+#define ADDEQ 268
+#define SUBEQ 269
+#define MULEQ 270
+#define DIVEQ 271
+#define MODEQ 272
+#define XOREQ 273
+#define ANDEQ 274
+#define OREQ 275
+#define SL 276
+#define SR 277
+#define SLEQ 278
+#define SREQ 279
+#define EQ 280
+#define NOTEQ 281
+#define LTEQ 282
+#define GTEQ 283
+#define ANDAND 284
+#define OROR 285
+#define PLUSPLUS 286
+#define MINUSMINUS 287
+#define ARROW 288
+#define AUTO 289
+#define BOOL 290
+#define BREAK 291
+#define CASE 292
+#define CHAR 293
+#define CONST 294
+#define CONTINUE 295
+#define DEFAULT 296
+#define DO 297
+#define DOUBLE 298
+#define ELSE 299
+#define ENUM 300
+#define EXTENSION 301
+#define EXTERN 302
+#define FLOAT 303
+#define FOR 304
+#define GOTO 305
+#define IF 306
+#define INLINE 307
+#define INT 308
+#define LONG 309
+#define REGISTER 310
+#define RESTRICT 311
+#define RETURN 312
+#define SHORT 313
+#define SIGNED 314
+#define SIZEOF 315
+#define STATIC 316
+#define STRUCT 317
+#define SWITCH 318
+#define TYPEDEF 319
+#define UNION 320
+#define UNSIGNED 321
+#define VOID 322
+#define VOLATILE 323
+#define WHILE 324
+#define FUNCTION_MACRO 325
+#define OBJECT_MACRO 326
+#define IFDEF_GI_SCANNER 327
+#define IFNDEF_GI_SCANNER 328
+#define IFDEF_COND 329
+#define IFNDEF_COND 330
+#define IF_COND 331
+#define ELIF_COND 332
+#define ELSE_COND 333
+#define ENDIF_COND 334
 
 
 
@@ -457,7 +459,7 @@ typedef union YYSTYPE
 
 
 /* Line 387 of yacc.c  */
-#line 461 "scannerparser.c"
+#line 463 "scannerparser.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -485,7 +487,7 @@ int yyparse ();
 /* Copy the second part of user declarations.  */
 
 /* Line 390 of yacc.c  */
-#line 489 "scannerparser.c"
+#line 491 "scannerparser.c"
 
 #ifdef short
 # undef short
@@ -705,20 +707,20 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  76
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2591
+#define YYLAST   2799
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  103
+#define YYNTOKENS  104
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  77
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  255
+#define YYNRULES  256
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  425
+#define YYNSTATES  426
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   333
+#define YYMAXUTOK   334
 
 #define YYTRANSLATE(YYX)                                               \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -729,16 +731,16 @@ static const yytype_uint8 yytranslate[] =
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    92,     2,     2,     2,    94,    87,     2,
-      79,    80,    88,    89,    86,    90,    85,    93,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,   100,   102,
-      95,   101,    96,    99,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    93,     2,     2,     2,    95,    88,     2,
+      80,    81,    89,    90,    87,    91,    86,    94,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,   101,   103,
+      96,   102,    97,   100,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,    83,     2,    84,    97,     2,     2,     2,     2,     2,
+       2,    84,     2,    85,    98,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    81,    98,    82,    91,     2,     2,     2,
+       2,     2,     2,    82,    99,    83,    92,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -759,7 +761,7 @@ static const yytype_uint8 yytranslate[] =
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78
+      75,    76,    77,    78,    79
 };
 
 #if YYDEBUG
@@ -767,149 +769,149 @@ static const yytype_uint8 yytranslate[] =
    YYRHS.  */
 static const yytype_uint16 yyprhs[] =
 {
-       0,     0,     3,     5,     7,     9,    11,    13,    17,    24,
-      26,    29,    31,    33,    35,    37,    42,    47,    51,    55,
-      59,    62,    65,    67,    71,    73,    76,    79,    82,    87,
-      92,    95,   100,   102,   104,   106,   108,   110,   112,   114,
-     119,   121,   125,   129,   133,   135,   139,   143,   145,   149,
-     153,   155,   159,   163,   167,   171,   173,   177,   181,   183,
-     187,   189,   193,   195,   199,   201,   205,   207,   211,   213,
-     219,   221,   225,   227,   229,   231,   233,   235,   237,   239,
-     241,   243,   245,   247,   249,   253,   256,   258,   262,   265,
-     268,   270,   273,   275,   278,   280,   283,   285,   287,   291,
-     293,   297,   299,   301,   303,   305,   307,   309,   311,   313,
+       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,
-     339,   344,   347,   349,   351,   353,   356,   360,   363,   365,
-     368,   370,   372,   376,   377,   379,   382,   386,   392,   397,
-     404,   410,   413,   415,   416,   419,   423,   425,   429,   431,
-     433,   435,   437,   439,   442,   444,   446,   450,   455,   459,
-     464,   469,   473,   476,   478,   482,   485,   487,   490,   492,
-     496,   499,   502,   504,   506,   508,   512,   514,   517,   519,
-     521,   524,   528,   531,   535,   539,   544,   547,   551,   555,
-     560,   562,   564,   568,   573,   575,   579,   581,   583,   585,
-     587,   589,   591,   595,   600,   604,   607,   611,   613,   616,
-     618,   620,   622,   625,   631,   639,   645,   651,   659,   666,
-     674,   682,   691,   699,   708,   717,   727,   731,   734,   737,
-     740,   744,   746,   749,   751,   753,   755,   760,   764,   766,
-     769,   771,   773,   778,   781,   783,   785,   787,   789,   791,
-     793,   795,   797,   799,   801,   803
+     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[] =
 {
-     170,     0,    -1,   106,    -1,     5,    -1,     7,    -1,     6,
-      -1,   105,    -1,    79,   126,    80,    -1,    45,    79,    81,
-     164,    82,    80,    -1,     8,    -1,   105,     8,    -1,     3,
-      -1,   106,    -1,   158,    -1,   104,    -1,   108,    83,   126,
-      84,    -1,   108,    79,   109,    80,    -1,   108,    79,    80,
-      -1,   108,    85,   107,    -1,   108,    32,   107,    -1,   108,
-      30,    -1,   108,    31,    -1,   124,    -1,   109,    86,   124,
-      -1,   108,    -1,    30,   110,    -1,    31,   110,    -1,   111,
-     112,    -1,     9,    79,   110,    80,    -1,    10,    79,   110,
-      80,    -1,    59,   110,    -1,    59,    79,   155,    80,    -1,
-      87,    -1,    88,    -1,    89,    -1,    90,    -1,    91,    -1,
-      92,    -1,   110,    -1,    79,   155,    80,   112,    -1,   112,
-      -1,   113,    88,   112,    -1,   113,    93,   112,    -1,   113,
-      94,   112,    -1,   113,    -1,   114,    89,   113,    -1,   114,
-      90,   113,    -1,   114,    -1,   115,    20,   114,    -1,   115,
-      21,   114,    -1,   115,    -1,   116,    95,   115,    -1,   116,
-      96,   115,    -1,   116,    26,   115,    -1,   116,    27,   115,
-      -1,   116,    -1,   117,    24,   116,    -1,   117,    25,   116,
-      -1,   117,    -1,   118,    87,   117,    -1,   118,    -1,   119,
-      97,   118,    -1,   119,    -1,   120,    98,   119,    -1,   120,
-      -1,   121,    28,   120,    -1,   121,    -1,   122,    29,   121,
-      -1,   122,    -1,   122,    99,   126,   100,   126,    -1,   123,
-      -1,   110,   125,   124,    -1,   101,    -1,    14,    -1,    15,
-      -1,    16,    -1,    12,    -1,    13,    -1,    22,    -1,    23,
-      -1,    18,    -1,    17,    -1,    19,    -1,   124,    -1,   126,
-      86,   124,    -1,    45,   126,    -1,   123,    -1,   129,   130,
-     102,    -1,   129,   102,    -1,   132,   129,    -1,   132,    -1,
-     133,   129,    -1,   133,    -1,   146,   129,    -1,   146,    -1,
-     147,   129,    -1,   147,    -1,   131,    -1,   130,    86,   131,
-      -1,   148,    -1,   148,   101,   159,    -1,    63,    -1,    46,
-      -1,    60,    -1,    33,    -1,    54,    -1,    66,    -1,    37,
-      -1,    57,    -1,    52,    -1,    53,    -1,    47,    -1,    42,
-      -1,    58,    -1,    65,    -1,    34,    -1,   134,    -1,   141,
-      -1,   158,    -1,   135,   107,    81,   136,    82,    -1,   135,
-      81,   136,    82,    -1,   135,   107,    -1,    61,    -1,    64,
-      -1,   137,    -1,   136,   137,    -1,   138,   139,   102,    -1,
-     133,   138,    -1,   133,    -1,   146,   138,    -1,   146,    -1,
-     140,    -1,   139,    86,   140,    -1,    -1,   148,    -1,   100,
-     127,    -1,   148,   100,   127,    -1,   142,   107,    81,   143,
-      82,    -1,   142,    81,   143,    82,    -1,   142,   107,    81,
-     143,    86,    82,    -1,   142,    81,   143,    86,    82,    -1,
-     142,   107,    -1,    44,    -1,    -1,   144,   145,    -1,   143,
-      86,   145,    -1,   106,    -1,   106,   101,   127,    -1,    38,
-      -1,    55,    -1,    45,    -1,    67,    -1,    51,    -1,   150,
-     149,    -1,   149,    -1,   106,    -1,    79,   148,    80,    -1,
-     149,    83,   124,    84,    -1,   149,    83,    84,    -1,   149,
-      79,   152,    80,    -1,   149,    79,   154,    80,    -1,   149,
-      79,    80,    -1,    88,   151,    -1,    88,    -1,    88,   151,
-     150,    -1,    88,   150,    -1,   146,    -1,   151,   146,    -1,
-     153,    -1,   152,    86,   153,    -1,   129,   148,    -1,   129,
-     156,    -1,   129,    -1,    11,    -1,   106,    -1,   154,    86,
-     106,    -1,   138,    -1,   138,   156,    -1,   150,    -1,   157,
-      -1,   150,   157,    -1,    79,   156,    80,    -1,    83,    84,
-      -1,    83,   124,    84,    -1,   157,    83,    84,    -1,   157,
-      83,   124,    84,    -1,    79,    80,    -1,    79,   152,    80,
-      -1,   157,    79,    80,    -1,   157,    79,   152,    80,    -1,
-       4,    -1,   124,    -1,    81,   160,    82,    -1,    81,   160,
-      86,    82,    -1,   159,    -1,   160,    86,   159,    -1,   162,
-      -1,   163,    -1,   166,    -1,   167,    -1,   168,    -1,   169,
-      -1,   107,   100,   161,    -1,    36,   127,   100,   161,    -1,
-      40,   100,   161,    -1,    81,    82,    -1,    81,   164,    82,
-      -1,   165,    -1,   164,   165,    -1,   128,    -1,   161,    -1,
-     102,    -1,   126,   102,    -1,    50,    79,   126,    80,   161,
-      -1,    50,    79,   126,    80,   161,    43,   161,    -1,    62,
-      79,   126,    80,   161,    -1,    68,    79,   126,    80,   161,
-      -1,    41,   161,    68,    79,   126,    80,   102,    -1,    48,
-      79,   102,   102,    80,   161,    -1,    48,    79,   126,   102,
-     102,    80,   161,    -1,    48,    79,   102,   126,   102,    80,
-     161,    -1,    48,    79,   126,   102,   126,   102,    80,   161,
-      -1,    48,    79,   102,   102,   126,    80,   161,    -1,    48,
-      79,   126,   102,   102,   126,    80,   161,    -1,    48,    79,
-     102,   126,   102,   126,    80,   161,    -1,    48,    79,   126,
-     102,   126,   102,   126,    80,   161,    -1,    49,   107,   102,
-      -1,    39,   102,    -1,    35,   102,    -1,    56,   102,    -1,
-      56,   126,   102,    -1,   171,    -1,   170,   171,    -1,   172,
-      -1,   128,    -1,   179,    -1,   129,   148,   173,   163,    -1,
-     129,   148,   163,    -1,   128,    -1,   173,   128,    -1,    69,
-      -1,    70,    -1,   174,    79,   154,    80,    -1,   175,   127,
-      -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,    75,
-      -1,    76,    -1,    77,    -1,    78,    -1,   176,    -1,   177,
-      -1,   178,    -1,     1,    -1
+     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.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   304,   304,   313,   329,   335,   342,   343,   347,   355,
-     370,   384,   391,   392,   396,   397,   401,   405,   409,   413,
-     417,   421,   428,   429,   433,   434,   438,   442,   465,   472,
-     479,   483,   491,   495,   499,   503,   507,   511,   518,   519,
-     531,   532,   538,   546,   557,   558,   564,   573,   574,   586,
-     595,   596,   602,   608,   614,   623,   624,   630,   639,   640,
-     649,   650,   659,   660,   669,   670,   681,   682,   693,   694,
-     701,   702,   709,   710,   711,   712,   713,   714,   715,   716,
-     717,   718,   719,   723,   724,   725,   732,   738,   756,   763,
-     768,   773,   786,   787,   792,   797,   802,   810,   814,   821,
-     822,   826,   830,   834,   838,   842,   849,   853,   857,   861,
-     865,   869,   873,   877,   881,   885,   889,   890,   891,   899,
-     919,   924,   932,   937,   945,   946,   953,   973,   978,   979,
-     984,   992,   996,  1004,  1007,  1008,  1012,  1023,  1030,  1037,
-    1044,  1051,  1058,  1067,  1067,  1076,  1084,  1092,  1104,  1108,
-    1112,  1116,  1123,  1130,  1135,  1139,  1144,  1148,  1153,  1158,
-    1168,  1175,  1184,  1189,  1193,  1204,  1217,  1218,  1225,  1229,
-    1236,  1241,  1246,  1251,  1258,  1264,  1273,  1274,  1278,  1283,
-    1284,  1292,  1296,  1301,  1306,  1311,  1316,  1322,  1332,  1338,
-    1351,  1358,  1359,  1360,  1364,  1365,  1371,  1372,  1373,  1374,
-    1375,  1376,  1380,  1381,  1382,  1386,  1387,  1391,  1392,  1396,
-    1397,  1401,  1402,  1406,  1407,  1408,  1412,  1413,  1414,  1415,
-    1416,  1417,  1418,  1419,  1420,  1421,  1425,  1426,  1427,  1428,
-    1429,  1435,  1436,  1440,  1441,  1442,  1446,  1447,  1451,  1452,
-    1458,  1465,  1472,  1476,  1487,  1492,  1497,  1502,  1507,  1512,
-    1519,  1524,  1532,  1533,  1534,  1535
+       0,   304,   304,   313,   329,   335,   341,   348,   349,   353,
+     361,   376,   390,   397,   398,   402,   403,   407,   411,   415,
+     419,   423,   427,   434,   435,   439,   440,   444,   448,   471,
+     478,   485,   489,   497,   501,   505,   509,   513,   517,   524,
+     525,   537,   538,   544,   552,   563,   564,   570,   579,   580,
+     592,   601,   602,   608,   614,   620,   629,   630,   636,   645,
+     646,   655,   656,   665,   666,   675,   676,   687,   688,   699,
+     700,   707,   708,   715,   716,   717,   718,   719,   720,   721,
+     722,   723,   724,   725,   729,   730,   731,   738,   744,   762,
+     769,   774,   779,   792,   793,   798,   803,   808,   816,   820,
+     827,   828,   832,   836,   840,   844,   848,   855,   859,   863,
+     867,   871,   875,   879,   883,   887,   891,   895,   896,   897,
+     905,   925,   930,   938,   943,   951,   952,   959,   979,   984,
+     985,   990,   998,  1002,  1010,  1013,  1014,  1018,  1029,  1036,
+    1043,  1050,  1057,  1064,  1073,  1073,  1082,  1090,  1098,  1110,
+    1114,  1118,  1122,  1129,  1136,  1141,  1145,  1150,  1154,  1159,
+    1164,  1174,  1181,  1190,  1195,  1199,  1210,  1223,  1224,  1231,
+    1235,  1242,  1247,  1252,  1257,  1264,  1270,  1279,  1280,  1284,
+    1289,  1290,  1298,  1302,  1307,  1312,  1317,  1322,  1328,  1338,
+    1344,  1357,  1364,  1365,  1366,  1370,  1371,  1377,  1378,  1379,
+    1380,  1381,  1382,  1386,  1387,  1388,  1392,  1393,  1397,  1398,
+    1402,  1403,  1407,  1408,  1412,  1413,  1414,  1418,  1419,  1420,
+    1421,  1422,  1423,  1424,  1425,  1426,  1427,  1431,  1432,  1433,
+    1434,  1435,  1441,  1442,  1446,  1447,  1448,  1452,  1453,  1457,
+    1458,  1464,  1471,  1478,  1482,  1493,  1498,  1503,  1508,  1513,
+    1518,  1525,  1530,  1538,  1539,  1540,  1541
 };
 #endif
 
@@ -919,7 +921,7 @@ static const yytype_uint16 yyrline[] =
 static const char *const yytname[] =
 {
   "$end", "error", "$undefined", "\"identifier\"", "\"typedef-name\"",
-  "INTEGER", "FLOATING", "CHARACTER", "STRING", "INTL_CONST",
+  "INTEGER", "FLOATING", "BOOLEAN", "CHARACTER", "STRING", "INTL_CONST",
   "INTUL_CONST", "ELLIPSIS", "ADDEQ", "SUBEQ", "MULEQ", "DIVEQ", "MODEQ",
   "XOREQ", "ANDEQ", "OREQ", "SL", "SR", "SLEQ", "SREQ", "EQ", "NOTEQ",
   "LTEQ", "GTEQ", "ANDAND", "OROR", "PLUSPLUS", "MINUSMINUS", "ARROW",
@@ -972,786 +974,826 @@ static const yytype_uint16 yytoknum[] =
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
-     325,   326,   327,   328,   329,   330,   331,   332,   333,    40,
-      41,   123,   125,    91,    93,    46,    44,    38,    42,    43,
-      45,   126,    33,    47,    37,    60,    62,    94,   124,    63,
-      58,    61,    59
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+      40,    41,   123,   125,    91,    93,    46,    44,    38,    42,
+      43,    45,   126,    33,    47,    37,    60,    62,    94,   124,
+      63,    58,    61,    59
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,   103,   104,   104,   104,   104,   104,   104,   104,   105,
-     105,   106,   107,   107,   108,   108,   108,   108,   108,   108,
-     108,   108,   109,   109,   110,   110,   110,   110,   110,   110,
-     110,   110,   111,   111,   111,   111,   111,   111,   112,   112,
-     113,   113,   113,   113,   114,   114,   114,   115,   115,   115,
-     116,   116,   116,   116,   116,   117,   117,   117,   118,   118,
-     119,   119,   120,   120,   121,   121,   122,   122,   123,   123,
-     124,   124,   125,   125,   125,   125,   125,   125,   125,   125,
-     125,   125,   125,   126,   126,   126,   127,   128,   128,   129,
-     129,   129,   129,   129,   129,   129,   129,   130,   130,   131,
-     131,   132,   132,   132,   132,   132,   133,   133,   133,   133,
-     133,   133,   133,   133,   133,   133,   133,   133,   133,   134,
-     134,   134,   135,   135,   136,   136,   137,   138,   138,   138,
-     138,   139,   139,   140,   140,   140,   140,   141,   141,   141,
-     141,   141,   142,   144,   143,   143,   145,   145,   146,   146,
-     146,   146,   147,   148,   148,   149,   149,   149,   149,   149,
-     149,   149,   150,   150,   150,   150,   151,   151,   152,   152,
-     153,   153,   153,   153,   154,   154,   155,   155,   156,   156,
-     156,   157,   157,   157,   157,   157,   157,   157,   157,   157,
-     158,   159,   159,   159,   160,   160,   161,   161,   161,   161,
-     161,   161,   162,   162,   162,   163,   163,   164,   164,   165,
-     165,   166,   166,   167,   167,   167,   168,   168,   168,   168,
-     168,   168,   168,   168,   168,   168,   169,   169,   169,   169,
-     169,   170,   170,   171,   171,   171,   172,   172,   173,   173,
-     174,   175,   176,   177,   178,   178,   178,   178,   178,   178,
-     178,   178,   179,   179,   179,   179
+       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 composing right hand side of rule YYN.  */
 static const yytype_uint8 yyr2[] =
 {
-       0,     2,     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,
+       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,     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
+       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
 };
 
 /* 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_uint8 yydefact[] =
+static const yytype_uint16 yydefact[] =
 {
-       0,   255,   190,   104,   115,   107,   148,   112,   142,   150,
-     102,   111,   152,   109,   110,   105,   149,   108,   113,   103,
-     122,   101,   123,   114,   106,   151,   240,   241,   244,   245,
-     246,   247,   248,   249,   250,   251,   234,     0,    90,    92,
-     116,     0,   117,     0,    94,    96,   118,     0,   231,   233,
-       0,     0,   252,   253,   254,   235,    11,     0,   163,    88,
-     155,     0,    97,    99,   154,     0,    89,    91,     0,    12,
-     121,    13,   143,   141,    93,    95,     1,   232,     0,     3,
-       5,     4,     9,     0,     0,     0,     0,     0,     0,     0,
-      32,    33,    34,    35,    36,    37,    14,     6,     2,    24,
-      38,     0,    40,    44,    47,    50,    55,    58,    60,    62,
-      64,    66,    68,    86,   243,     0,   166,   165,   162,     0,
-      87,     0,     0,   238,     0,   237,     0,     0,     0,   153,
-     128,     0,   124,   133,   130,     0,     0,     0,   143,   174,
-       0,     0,     0,     0,    25,    26,     0,     0,    30,   150,
-      38,    70,    83,     0,   176,     0,    10,    20,    21,     0,
-       0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
+       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,   156,   167,   164,    98,    99,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   205,
-     211,     2,     0,     0,   209,   118,   210,   196,   197,     0,
-     207,   198,   199,   200,   201,     0,   191,   100,   239,   236,
-     173,   161,   172,     0,   168,     0,   158,     0,   127,   120,
-     125,     0,     0,   131,   134,   129,     0,   138,     0,   146,
-     144,     0,   242,     0,     0,     0,     0,     0,     0,     0,
-      85,    76,    77,    73,    74,    75,    81,    80,    82,    78,
-      79,    72,     0,     7,     0,     0,     0,   178,   177,   179,
-       0,    19,    17,     0,    22,     0,    18,    41,    42,    43,
-      45,    46,    48,    49,    53,    54,    51,    52,    56,    57,
-      59,    61,    63,    65,    67,     0,   228,     0,   227,     0,
-       0,     0,     0,     0,   229,     0,     0,     0,     0,   212,
-     206,   208,   194,     0,     0,   170,   178,   171,   159,     0,
-     160,   157,   135,   133,   126,     0,   119,   140,   145,     0,
-     137,     0,   175,    28,    29,     0,    31,    71,    84,   186,
-       0,     0,   182,     0,   180,     0,     0,    39,    16,     0,
-      15,     0,     0,   204,     0,     0,     0,   226,     0,   230,
-       0,     0,   202,   192,     0,   169,   132,   136,   147,   139,
-       0,   187,   181,   183,   188,     0,   184,     0,    23,    69,
-     203,     0,     0,     0,     0,     0,     0,     0,   193,   195,
-       8,   189,   185,     0,     0,     0,     0,     0,     0,   213,
-     215,   216,     0,   218,     0,     0,     0,     0,     0,     0,
-       0,   217,   222,   220,     0,   219,     0,     0,     0,   214,
-     224,   223,   221,     0,   225
+       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
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    96,    97,    98,   202,    99,   273,   150,   101,   102,
-     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
-     151,   152,   262,   203,   114,   204,   124,    61,    62,    38,
-      39,    40,    41,   131,   132,   133,   232,   233,    42,    43,
-     136,   137,   328,    44,    45,   115,    64,    65,   118,   340,
-     224,   140,   155,   341,   269,    46,   217,   313,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,    47,    48,    49,
-     126,    50,    51,    52,    53,    54,    55
+      -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
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -249
+#define YYPACT_NINF -234
 static const yytype_int16 yypact[] =
 {
-    2259,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
-    -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
-    -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
-    -249,  -249,  -249,  -249,  -249,  -249,  -249,    15,  2489,  2489,
-    -249,    34,  -249,    39,  2489,  2489,  -249,  2139,  -249,  -249,
-     -54,  1761,  -249,  -249,  -249,  -249,  -249,    47,   177,  -249,
-    -249,   -39,  -249,  1086,   -22,    37,  -249,  -249,  2524,  -249,
-     -10,  -249,  -249,     2,  -249,  -249,  -249,  -249,    85,  -249,
-    -249,  -249,  -249,    60,    77,  1802,  1802,    80,  1857,  1216,
-    -249,  -249,  -249,  -249,  -249,  -249,  -249,   168,  -249,   156,
-    -249,  1761,  -249,    43,   -56,   246,    97,   245,   103,    67,
-     106,   181,     6,  -249,  -249,   138,  -249,  -249,   177,    47,
-    -249,   467,  1322,  -249,    15,  -249,  2372,  2335,  1377,   -22,
-    2524,  2184,  -249,    33,  2524,  2524,    93,    85,  -249,  -249,
-      -5,  1802,  1802,  1898,  -249,  -249,   166,  1216,  -249,  1953,
-     211,  -249,  -249,    74,    62,   170,  -249,  -249,  -249,   270,
-    1418,  1898,   270,  -249,  1761,  1761,  1761,  1761,  1761,  1761,
-    1761,  1761,  1761,  1761,  1761,  1761,  1761,  1761,  1761,  1761,
-    1761,  1761,  1898,  -249,  -249,  -249,  -249,   184,   173,  1761,
-     185,   178,   816,   220,   270,   225,   880,   227,   228,  -249,
-    -249,   209,   214,   -38,  -249,   217,  -249,  -249,  -249,   568,
-    -249,  -249,  -249,  -249,  -249,  1322,  -249,  -249,  -249,  -249,
-    -249,  -249,    64,    87,  -249,    91,  -249,   234,  -249,  -249,
-    -249,  1761,   -28,  -249,   230,  -249,  2220,  -249,    13,   224,
-    -249,   134,  -249,    85,   247,   248,  1953,   748,   253,  1151,
-     249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
-    -249,  -249,  1761,  -249,  1761,  2071,  1473,   159,  -249,   176,
-    1761,  -249,  -249,    94,  -249,   -24,  -249,  -249,  -249,  -249,
-      43,    43,   -56,   -56,   246,   246,   246,   246,    97,    97,
-     245,   103,    67,   106,   181,   -30,  -249,   236,  -249,   816,
-     269,   921,   237,  1898,  -249,   -17,  1898,  1898,   816,  -249,
-    -249,  -249,  -249,   182,  2013,  -249,    23,  -249,  -249,  2454,
-    -249,  -249,  -249,    33,  -249,  1761,  -249,  -249,  -249,  1761,
-    -249,    26,  -249,  -249,  -249,   658,  -249,  -249,  -249,  -249,
-     109,   258,  -249,   256,   176,  2417,  1514,  -249,  -249,  1761,
-    -249,  1898,   816,  -249,   263,   984,    27,  -249,   114,  -249,
-     117,   122,  -249,  -249,  1281,  -249,  -249,  -249,  -249,  -249,
-     264,  -249,  -249,  -249,  -249,   131,  -249,   259,  -249,   249,
-    -249,  1898,  1569,    42,  1025,   816,   816,   816,  -249,  -249,
-    -249,  -249,  -249,   133,   816,   151,  1610,  1665,    56,   302,
-    -249,  -249,   260,  -249,   816,   816,   160,   816,   163,  1706,
-     816,  -249,  -249,  -249,   816,  -249,   816,   816,   174,  -249,
-    -249,  -249,  -249,   816,  -249
+    2506,  -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,
+    -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,
+    -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,
+    -234,  -234,  -234,  -234,  -234,  -234,  -234,    33,  2731,  2731,
+    -234,    39,  -234,    46,  2731,  2731,  -234,  2373,  -234,  -234,
+     -63,  1962,  -234,  -234,  -234,  -234,  -234,    35,   120,  -234,
+    -234,   -48,  -234,  1134,   -20,    15,  -234,  -234,  1083,  -234,
+     -55,  -234,  -234,   -45,  -234,  -234,  -234,  -234,    31,  -234,
+    -234,  -234,  -234,  -234,    10,    34,  2025,  2025,    40,  2088,
+    1266,  -234,  -234,  -234,  -234,  -234,  -234,  -234,    56,  -234,
+     184,  -234,  1962,  -234,    80,   213,   279,    41,   282,    44,
+      59,    69,   114,     3,  -234,  -234,    98,  -234,  -234,   120,
+      35,  -234,   468,  1395,  -234,    33,  -234,  2620,  2583,  1458,
+     -20,  1083,  2419,  -234,    45,  1083,  1083,    -1,    31,  -234,
+    -234,    90,  2025,  2025,  2151,  -234,  -234,   110,  1266,  -234,
+    2214,   571,  -234,  -234,   100,   109,   122,  -234,  -234,  -234,
+     311,  1521,  2151,   311,  -234,  1962,  1962,  1962,  1962,  1962,
+    1962,  1962,  1962,  1962,  1962,  1962,  1962,  1962,  1962,  1962,
+    1962,  1962,  1962,  2151,  -234,  -234,  -234,  -234,   112,   153,
+    1962,   156,   140,   819,   191,   311,   194,   884,   208,   211,
+    -234,  -234,   193,   204,   -40,  -234,   218,  -234,  -234,  -234,
+     569,  -234,  -234,  -234,  -234,  -234,  1395,  -234,  -234,  -234,
+    -234,  -234,  -234,    64,   123,  -234,   125,  -234,   238,  -234,
+    -234,  -234,  1962,   -29,  -234,   225,  -234,  2455,  -234,    16,
+     228,  -234,   107,  -234,    31,   215,   250,  2214,   751,   253,
+    1200,   249,  -234,  -234,  -234,  -234,  -234,  -234,  -234,  -234,
+    -234,  -234,  -234,  1962,  -234,  1962,  2333,  1584,   121,  -234,
+     199,  1962,  -234,  -234,   157,  -234,    22,  -234,  -234,  -234,
+    -234,    80,    80,   213,   213,   279,   279,   279,   279,    41,
+      41,   282,    44,    59,    69,   114,    30,  -234,   236,  -234,
+     819,   269,   947,   237,  2151,  -234,   -28,  2151,  2151,   819,
+    -234,  -234,  -234,  -234,   210,  2274,  -234,    12,  -234,  -234,
+    2695,  -234,  -234,  -234,    45,  -234,  1962,  -234,  -234,  -234,
+    1962,  -234,    23,  -234,  -234,  -234,   660,  -234,  -234,  -234,
+    -234,   159,   258,  -234,   256,   199,  2658,  1647,  -234,  -234,
+    1962,  -234,  2151,   819,  -234,   264,  1010,   -25,  -234,   161,
+    -234,   164,   168,  -234,  -234,  1332,  -234,  -234,  -234,  -234,
+    -234,   265,  -234,  -234,  -234,  -234,   179,  -234,   260,  -234,
+     249,  -234,  2151,  1710,    58,  1073,   819,   819,   819,  -234,
+    -234,  -234,  -234,  -234,   180,   819,   188,  1773,  1836,    77,
+     310,  -234,  -234,   252,  -234,   819,   819,   195,   819,   203,
+    1899,   819,  -234,  -234,  -234,   819,  -234,   819,   819,   205,
+    -234,  -234,  -234,  -234,   819,  -234
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -249,  -249,  -249,   -37,   -32,  -249,  -249,   268,  -249,   -86,
-     128,   120,   110,   127,   183,   180,   172,   175,   190,  -249,
-     -49,  -101,  -249,   -50,  -176,    44,     7,  -249,   242,  -249,
-     -58,  -249,  -249,   229,  -117,   -81,  -249,    40,  -249,  -249,
-     240,  -249,   235,   332,  -249,   -15,   -64,   -53,  -249,  -124,
-      46,   239,   238,  -130,  -248,   -11,  -198,  -249,   -94,  -249,
-     -40,   135,  -197,  -249,  -249,  -249,  -249,  -249,   334,  -249,
-    -249,  -249,  -249,  -249,  -249,  -249,  -249
+    -234,  -234,  -234,   -37,   -33,  -234,  -234,    53,  -234,   -86,
+     149,   150,   138,   152,   178,   182,   177,   181,   183,  -234,
+     -49,  -100,  -234,   -50,  -176,    24,     7,  -234,   239,  -234,
+     -59,  -234,  -234,   227,  -119,   -78,  -234,    42,  -234,  -234,
+     231,  -234,   226,   333,  -234,   -15,   -64,   -53,  -234,  -107,
+      47,   244,   234,  -130,  -233,   -11,  -205,  -234,    43,  -234,
+     -19,   137,  -207,  -234,  -234,  -234,  -234,  -234,   326,  -234,
+    -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 -14
+#define YYTABLE_NINF -15
 static const yytype_int16 yytable[] =
 {
-      60,   129,   113,   223,    69,   117,    69,    37,   154,    70,
-     130,    73,   311,   297,   230,   163,    56,   312,    56,   344,
-      60,   216,    63,   125,   268,    78,    56,   227,    60,    56,
-      71,   130,    71,   167,   168,   181,    56,    56,     2,   153,
-      56,   139,    56,     2,    36,    66,    67,   119,   264,   228,
-      56,    74,    75,   235,    37,   322,   264,   127,   323,   274,
-     350,   128,   264,   120,   309,   185,   154,    56,   344,   264,
-     351,   135,   130,   130,   324,   242,   130,   130,   277,   278,
-     279,   243,    60,   138,   201,   359,   219,    60,    56,   130,
-     139,    36,   317,   153,    57,   327,    60,   153,   300,   250,
-     239,   267,   314,    58,   187,   182,   266,   123,   369,   187,
-     205,   275,    57,   264,   216,    68,    57,    59,   234,   230,
-      72,    58,    69,   171,   172,    69,    57,   271,   264,   384,
-     276,   164,   295,   231,   222,    58,   165,   166,   311,   141,
-     113,   265,   264,   314,   396,   266,   305,   266,    71,   367,
-      58,    71,    58,   368,   263,   201,   142,    69,   409,   146,
-     264,   337,   302,   338,   178,   343,   389,   318,   154,   316,
-     218,   320,   201,   319,   348,   237,   156,   243,   130,   238,
-     349,    71,   113,    71,   347,    60,   157,   158,   159,   371,
-     177,   130,   173,   174,   385,   319,   250,   386,   205,   153,
-     264,   239,   387,   264,   179,   353,   332,   315,   264,   180,
-     201,   391,   267,   402,   362,     6,   330,   319,   183,   264,
-     331,   375,     9,   251,   252,   253,   254,   255,   256,   257,
-     258,   404,    16,   259,   260,   160,   205,   264,   265,   161,
-     414,   162,   266,   416,    25,   377,   264,   247,   378,   264,
-     270,   356,   129,   358,   423,   345,   360,   361,   380,   346,
-     264,   316,   201,   216,   363,    58,   169,   170,   364,   175,
-     176,   201,   222,    56,     2,   296,   113,    60,   299,    60,
-     113,   284,   285,   286,   287,   122,    60,   298,    71,   282,
-     283,   399,   400,   401,   239,   280,   281,    71,   201,   301,
-     403,   379,   288,   289,   303,   383,   306,   307,   234,   -12,
-     412,   413,   261,   415,   308,   201,   419,   -13,   321,   100,
-     420,   222,   421,   422,   205,   329,   222,   333,   334,   424,
-     325,   393,   395,   336,   398,   264,   352,   354,   372,   357,
-     373,    71,   381,   392,   390,   410,   406,   408,   201,   201,
-     201,   292,   222,   144,   145,   293,   148,   201,   291,   418,
-     290,   186,   411,   366,   236,   365,   225,   201,   201,   100,
-     201,   294,   240,   201,    71,    71,    71,   201,   241,   201,
-     201,    77,   335,    71,     0,   248,   201,     0,     0,     0,
-     116,     0,     0,    71,    71,     0,    71,     0,     0,    71,
-     134,     0,     0,    71,     0,    71,    71,     0,     0,   244,
-     245,     0,    71,     0,     0,     0,     0,     0,     0,     0,
-       0,   134,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   100,   100,   100,   100,   100,   100,   100,   100,
-     100,   100,   100,   100,   100,   100,   100,   100,   100,   100,
-     184,     0,     0,     0,     0,     0,     0,   100,     0,     0,
-       0,     0,   134,   134,     0,     0,   134,   134,     0,     0,
-      56,     2,    79,    80,    81,    82,    83,    84,     0,   134,
+      60,   130,   114,   312,    69,   118,    69,    37,    70,   131,
+      73,   313,   155,   231,   298,    56,   164,    78,    56,    56,
+      60,   224,    63,   217,    36,   269,    56,   136,    60,   228,
+      71,   131,    71,   182,    56,   345,    56,   139,    56,   120,
+     154,   140,    56,     2,   126,    66,    67,   265,    56,    56,
+       2,    74,    75,   229,    37,   121,   323,   236,   324,   265,
+     128,   275,   265,   310,   129,   157,   186,    56,   172,   173,
+     155,    36,   131,   131,   325,   360,   131,   131,   385,   278,
+     279,   280,   238,    60,   345,   202,   239,   124,    60,   131,
+     142,   140,   315,   318,   154,    57,   267,    60,   154,   328,
+     251,   240,   268,   183,   101,   188,   370,   351,   220,   265,
+     188,   206,   276,    57,   143,    57,   217,   265,   231,   235,
+     147,    68,    58,    69,    58,    57,    69,   272,    72,   312,
+     277,   352,   178,   296,    58,   223,    59,   174,   175,   145,
+     146,   114,   149,   181,   315,   265,   232,   306,   267,    71,
+     368,   219,    71,    58,   369,   101,   202,   179,    69,     6,
+     390,   397,   303,   338,   265,   339,     9,   344,   180,   165,
+     317,   243,   155,   202,   166,   167,    16,   244,   131,   184,
+     410,   264,    71,   114,    71,   348,    60,   265,    25,   266,
+     331,   131,   248,   267,   332,   245,   246,   251,    58,   206,
+     154,   266,   240,   271,   319,   267,   321,   333,   316,    58,
+     320,   202,   244,   268,   123,   158,   159,   160,   101,   101,
+     101,   101,   101,   101,   101,   101,   101,   101,   101,   101,
+     101,   101,   101,   101,   101,   101,   301,   206,   349,   376,
+     372,   300,   386,   101,   350,   387,   320,   378,   265,   388,
+     379,   265,   357,   130,   359,   265,   297,   361,   362,   299,
+     392,   403,   317,   202,   161,   217,   320,   265,   162,   405,
+     163,   302,   202,   223,   304,   265,   415,   114,    60,   346,
+      60,   114,   265,   347,   417,   101,   424,    60,   307,    71,
+     265,   308,   265,   364,   -13,   240,   334,   365,    71,   202,
+     170,   171,   380,   168,   169,   309,   384,   176,   177,   235,
+     285,   286,   287,   288,    56,     2,   202,   281,   282,   -14,
+     283,   284,   223,   322,   101,   206,   326,   223,   289,   290,
+     330,   335,   394,   396,   337,   399,   265,   353,   355,   373,
+     358,   374,    71,   354,   382,   393,   391,   407,   409,   202,
+     202,   202,   363,   223,   411,   412,   291,   293,   202,   187,
+     419,   292,   294,   237,   241,   295,   367,   366,   202,   202,
+     242,   202,   226,    77,   202,    71,    71,    71,   202,   101,
+     202,   202,   249,   101,    71,   336,     0,   202,     0,     0,
+       0,   117,     0,     0,    71,    71,   381,    71,     0,     0,
+      71,   135,     0,     0,    71,     0,    71,    71,     0,     0,
+       0,     0,     0,    71,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   135,     0,     0,     0,     0,     0,   400,
+     401,   402,     0,     0,     0,     0,     0,     0,   404,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   413,   414,
+       0,   416,   185,     0,   420,     0,     0,     0,   421,     0,
+     422,   423,     0,     0,   135,   135,     0,   425,   135,   135,
+       0,    56,     2,    79,    80,    81,    82,    83,    84,    85,
+       0,   135,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
+      87,     0,     3,     4,   189,   190,     5,     6,   191,   192,
+     193,     7,     0,     8,   150,    10,    11,   194,   195,   196,
+      12,    13,    14,    15,    16,   197,    17,    18,    89,    19,
+      20,   198,    21,    22,    23,    24,    25,   199,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    90,     0,
+     122,   200,     0,     0,     0,     0,    91,    92,    93,    94,
+      95,    96,     0,     0,     0,     0,     0,     0,     0,     0,
+     135,   201,    56,     2,    79,    80,    81,    82,    83,    84,
+      85,     0,     0,   135,   252,   253,   254,   255,   256,   257,
+     258,   259,     0,     0,   260,   261,     0,     0,     0,     0,
+      86,    87,     0,     3,     4,   189,   190,     5,     6,   191,
+     192,   193,     7,     0,     8,   150,    10,    11,   194,   195,
+     196,    12,    13,    14,    15,    16,   197,    17,    18,    89,
+      19,    20,   198,    21,    22,    23,    24,    25,   199,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    90,
+       0,   122,   311,     0,     0,     0,     0,    91,    92,    93,
+      94,    95,    96,    56,     2,    79,    80,    81,    82,    83,
+      84,    85,   201,   262,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    85,    86,   100,
-       3,     4,   188,   189,     5,     6,   190,   191,   192,     7,
-       0,     8,   149,    10,    11,   193,   194,   195,    12,    13,
-      14,    15,    16,   196,    17,    18,    88,    19,    20,   197,
-      21,    22,    23,    24,    25,   198,     0,     0,   100,     0,
-       0,     0,     0,     0,     0,     0,    89,     0,   121,   199,
-       0,     0,     0,     0,    90,    91,    92,    93,    94,    95,
-       0,     0,     0,     0,     0,     0,     0,     0,   134,   200,
-       0,    56,     2,    79,    80,    81,    82,    83,    84,     0,
-       0,   134,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   100,     0,     0,     0,   100,    85,    86,
-       0,     3,     4,   188,   189,     5,     6,   190,   191,   192,
-       7,     0,     8,   149,    10,    11,   193,   194,   195,    12,
-      13,    14,    15,    16,   196,    17,    18,    88,    19,    20,
-     197,    21,    22,    23,    24,    25,   198,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    89,     0,   121,
-     310,     0,     0,     0,     0,    90,    91,    92,    93,    94,
-      95,    56,     2,    79,    80,    81,    82,    83,    84,     0,
-     200,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    85,    86,
-       0,     3,     4,   188,   189,     5,     6,   190,   191,   192,
-       7,     0,     8,   149,    10,    11,   193,   194,   195,    12,
-      13,    14,    15,    16,   196,    17,    18,    88,    19,    20,
-     197,    21,    22,    23,    24,    25,   198,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    89,     0,   121,
-     370,     0,     0,     0,     0,    90,    91,    92,    93,    94,
-      95,    56,     2,    79,    80,    81,    82,    83,    84,     0,
-     200,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    85,    86,
-       0,     3,     4,   188,   189,     5,     6,   190,   191,   192,
-       7,     0,     8,   149,    10,    11,   193,   194,   195,    12,
-      13,    14,    15,    16,   196,    17,    18,    88,    19,    20,
-     197,    21,    22,    23,    24,    25,   198,     0,     0,    56,
-       2,    79,    80,    81,    82,    83,    84,    89,     0,   121,
-       0,     0,     0,     0,     0,    90,    91,    92,    93,    94,
-      95,     0,     0,     0,     0,     0,    85,    86,     0,     0,
-     200,   188,   189,     0,     0,   190,   191,   192,     0,     0,
-       0,   246,     0,     0,   193,   194,   195,     0,     0,     0,
-       0,     0,   196,     0,     0,    88,     0,     0,   197,     0,
-       0,     0,     0,    56,   198,    79,    80,    81,    82,    83,
-      84,     0,     0,     0,     0,    89,     0,   121,     0,     0,
-       0,     0,     0,    90,    91,    92,    93,    94,    95,     0,
-      85,    86,     0,     0,     0,     0,     0,     0,   200,     0,
-       0,     0,     0,     0,    56,   246,    79,    80,    81,    82,
-      83,    84,     0,     0,     0,     0,     0,     0,     0,    88,
+       0,    86,    87,     0,     3,     4,   189,   190,     5,     6,
+     191,   192,   193,     7,     0,     8,   150,    10,    11,   194,
+     195,   196,    12,    13,    14,    15,    16,   197,    17,    18,
+      89,    19,    20,   198,    21,    22,    23,    24,    25,   199,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    85,    86,     0,     0,     0,     0,     0,     0,    89,
-       0,     0,     0,     0,     0,     0,   246,    90,    91,    92,
-      93,    94,    95,     0,     0,     0,     0,     0,     0,     0,
-      88,     0,   304,     0,     0,     0,     0,    56,     0,    79,
-      80,    81,    82,    83,    84,     0,     0,     0,     0,     0,
-      89,     0,     0,     0,     0,     0,     0,     0,    90,    91,
-      92,    93,    94,    95,    85,    86,     0,     0,     0,     0,
-       0,     0,     0,   355,     0,     0,     0,     0,    56,   246,
-      79,    80,    81,    82,    83,    84,     0,     0,     0,     0,
-       0,     0,     0,    88,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    85,    86,     0,     0,     0,
-       0,     0,     0,    89,     0,     0,     0,     0,     0,     0,
-     246,    90,    91,    92,    93,    94,    95,     0,     0,     0,
-       0,     0,     0,     0,    88,     0,   382,     0,     0,     0,
-       2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      90,     0,   122,   371,     0,     0,     0,     0,    91,    92,
+      93,    94,    95,    96,    56,     2,    79,    80,    81,    82,
+      83,    84,    85,   201,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    86,    87,     0,     3,     4,   189,   190,     5,
+       6,   191,   192,   193,     7,     0,     8,   150,    10,    11,
+     194,   195,   196,    12,    13,    14,    15,    16,   197,    17,
+      18,    89,    19,    20,   198,    21,    22,    23,    24,    25,
+     199,     0,    56,     2,    79,    80,    81,    82,    83,    84,
+      85,    90,     0,   122,     0,     0,     0,     0,     0,    91,
+      92,    93,    94,    95,    96,     0,     0,     0,     0,     0,
+      86,    87,     0,     0,   201,   189,   190,     0,     0,   191,
+     192,   193,     0,     0,     0,   247,     0,     0,   194,   195,
+     196,     0,     0,     0,     0,     0,   197,     0,     0,    89,
+       0,     0,   198,     0,     0,     0,     0,    56,   199,    79,
+      80,    81,    82,    83,    84,    85,     0,     0,     0,    90,
+       0,   122,     0,     0,     0,     0,     0,    91,    92,    93,
+      94,    95,    96,     0,     0,    86,    87,     0,     0,     0,
+       0,     0,   201,     0,     0,     0,     0,     0,     0,     0,
+     247,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    89,     0,     0,     0,     0,     0,
-       0,     0,    90,    91,    92,    93,    94,    95,     0,     3,
-       4,     0,     0,     5,     6,     0,     0,   397,     7,     0,
-       8,     9,    10,    11,     0,     0,     0,    12,    13,    14,
-      15,    16,     0,    17,    18,     0,    19,    20,     0,    21,
-      22,    23,    24,    25,    56,     2,    79,    80,    81,    82,
-      83,    84,     0,     0,     0,     0,     0,   121,     0,     0,
+      56,     0,    79,    80,    81,    82,    83,    84,    85,     0,
+       0,     0,     0,     0,    90,     0,     0,     0,     0,     0,
+       0,     0,    91,    92,    93,    94,    95,    96,    86,    87,
+       0,     0,     0,     0,     0,     0,     0,   305,     0,     0,
+       0,     0,     0,   247,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    89,     0,     0,
+       0,     0,     0,    56,     0,    79,    80,    81,    82,    83,
+      84,    85,     0,     0,     0,     0,     0,    90,     0,     0,
+       0,     0,     0,     0,     0,    91,    92,    93,    94,    95,
+      96,    86,    87,     0,     0,     0,     0,     0,     0,     0,
+     356,     0,     0,     0,     0,     0,   247,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    85,    86,     0,     0,     4,     0,   122,     5,     6,
-       0,     0,     0,     7,     0,     8,   149,     0,    11,     0,
-       0,     0,     0,    13,    14,     0,    16,     0,    17,    18,
-      88,     0,    20,     0,     0,    22,    23,    24,    25,    56,
-       2,    79,    80,    81,    82,    83,    84,     0,     0,     0,
-      89,     0,   247,     0,     0,     0,     0,     0,    90,    91,
-      92,    93,    94,    95,     0,     0,    85,    86,     0,     0,
-       4,     0,     0,     5,     6,     0,     0,     0,     7,     0,
-       8,   149,     0,    11,     0,     0,     0,     0,    13,    14,
-       0,    16,     0,    17,    18,    88,     0,    20,     0,     0,
-      22,    23,    24,    25,    56,     0,    79,    80,    81,    82,
-      83,    84,     0,     0,     0,    89,     0,     0,     0,     0,
-       0,     0,     0,    90,    91,    92,    93,    94,    95,     0,
-       0,    85,    86,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    56,    87,    79,    80,    81,
-      82,    83,    84,     0,     0,     0,     0,     0,     0,     0,
-      88,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    85,    86,     0,     0,     0,     0,     0,     0,
-      89,     0,   215,   388,     0,     0,     0,    87,    90,    91,
-      92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
-      56,    88,    79,    80,    81,    82,    83,    84,     0,     0,
+      89,     0,     0,     0,     0,     0,    56,     0,    79,    80,
+      81,    82,    83,    84,    85,     0,     0,     2,     0,     0,
+      90,     0,     0,     0,     0,     0,     0,     0,    91,    92,
+      93,    94,    95,    96,    86,    87,     0,     0,     0,     0,
+       0,     0,     0,   383,     0,     0,     0,     0,     4,   247,
+       0,     5,     6,     0,     0,     0,     7,     0,     8,     9,
+       0,    11,     0,    89,     0,     0,    13,    14,     2,    16,
+       0,    17,    18,     0,     0,    20,     0,     0,    22,    23,
+      24,    25,     0,    90,     0,     0,     0,     0,     0,     0,
+       0,    91,    92,    93,    94,    95,    96,     0,     3,     4,
+       0,     0,     5,     6,     0,     0,   398,     7,     0,     8,
+       9,    10,    11,     0,     0,     0,    12,    13,    14,    15,
+      16,     0,    17,    18,     0,    19,    20,     0,    21,    22,
+      23,    24,    25,    56,     2,    79,    80,    81,    82,    83,
+      84,    85,     0,     0,     0,     0,   122,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    89,     0,   215,     0,     0,     0,    85,    86,    90,
-      91,    92,    93,    94,    95,     0,     0,     0,     0,     0,
-       0,    56,    87,    79,    80,    81,    82,    83,    84,     0,
-       0,     0,     0,     0,     0,     0,    88,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    85,    86,
-       0,     0,     0,     0,     0,     0,    89,     0,     0,     0,
-       0,   226,     0,    87,    90,    91,    92,    93,    94,    95,
-       0,     0,     0,     0,     0,     0,    56,    88,    79,    80,
-      81,    82,    83,    84,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    89,   272,     0,
-       0,     0,     0,    85,    86,    90,    91,    92,    93,    94,
-      95,     0,     0,     0,     0,     0,     0,    56,    87,    79,
-      80,    81,    82,    83,    84,     0,     0,     0,     0,     0,
-       0,     0,    88,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    85,    86,     0,     0,     0,     0,
-       0,     0,    89,     0,     0,     0,     0,   342,     0,    87,
-      90,    91,    92,    93,    94,    95,     0,     0,     0,     0,
-       0,     0,    56,    88,    79,    80,    81,    82,    83,    84,
+       0,    86,    87,     0,     0,     4,   123,     0,     5,     6,
+       0,     0,     0,     7,     0,     8,   150,     0,    11,     0,
+       0,     0,     0,    13,    14,     0,    16,     0,    17,    18,
+      89,     0,    20,     0,     0,    22,    23,    24,    25,    56,
+       2,    79,    80,    81,    82,    83,    84,    85,     0,     0,
+      90,     0,   248,     0,     0,     0,     0,     0,    91,    92,
+      93,    94,    95,    96,     0,     0,     0,    86,    87,     0,
+       0,     4,     0,     0,     5,     6,     0,     0,     0,     7,
+       0,     8,   150,     0,    11,     0,     0,     0,     0,    13,
+      14,     0,    16,     0,    17,    18,    89,     0,    20,     0,
+       0,    22,    23,    24,    25,    56,     0,    79,    80,    81,
+      82,    83,    84,    85,     0,     0,    90,     0,     0,     0,
+       0,     0,     0,     0,    91,    92,    93,    94,    95,    96,
+       0,     0,     0,    86,    87,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    89,     0,     0,     0,     0,   376,    85,
-      86,    90,    91,    92,    93,    94,    95,     0,     0,     0,
-       0,     0,     0,    56,   246,    79,    80,    81,    82,    83,
-      84,     0,     0,     0,     0,     0,     0,     0,    88,     0,
+       0,     0,    89,     0,     0,     0,     0,     0,    56,     0,
+      79,    80,    81,    82,    83,    84,    85,     0,     0,     0,
+       0,     0,    90,     0,   216,   389,     0,     0,     0,     0,
+      91,    92,    93,    94,    95,    96,    86,    87,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      85,    86,     0,     0,     0,     0,     0,     0,    89,   394,
-       0,     0,     0,     0,     0,   246,    90,    91,    92,    93,
-      94,    95,     0,     0,     0,     0,     0,     0,    56,    88,
-      79,    80,    81,    82,    83,    84,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    89,
-     405,     0,     0,     0,     0,    85,    86,    90,    91,    92,
-      93,    94,    95,     0,     0,     0,     0,     0,     0,    56,
-     246,    79,    80,    81,    82,    83,    84,     0,     0,     0,
+       0,    88,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    89,     0,     0,     0,     0,
+       0,    56,     0,    79,    80,    81,    82,    83,    84,    85,
+       0,     0,     0,     0,     0,    90,     0,   216,     0,     0,
+       0,     0,     0,    91,    92,    93,    94,    95,    96,    86,
+      87,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    88,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    85,    86,     0,     0,
-       0,     0,     0,     0,    89,   407,     0,     0,     0,     0,
-       0,   246,    90,    91,    92,    93,    94,    95,     0,     0,
-       0,     0,     0,     0,    56,    88,    79,    80,    81,    82,
-      83,    84,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    89,   417,     0,     0,     0,
-       0,    85,    86,    90,    91,    92,    93,    94,    95,     0,
-       0,     0,     0,     0,     0,    56,    87,    79,    80,    81,
-      82,    83,    84,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    89,     0,
+       0,     0,     0,     0,    56,     0,    79,    80,    81,    82,
+      83,    84,    85,     0,     0,     0,     0,     0,    90,     0,
+       0,     0,     0,   227,     0,     0,    91,    92,    93,    94,
+      95,    96,    86,    87,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    88,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    89,     0,     0,     0,     0,     0,    56,     0,    79,
+      80,    81,    82,    83,    84,    85,     0,     0,     0,     0,
+       0,    90,   273,     0,     0,     0,     0,     0,     0,    91,
+      92,    93,    94,    95,    96,    86,    87,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       88,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    85,    86,     0,     0,     0,     0,     0,     0,
-      89,     0,     0,     0,     0,     0,     0,    87,    90,    91,
-      92,    93,    94,    95,     0,     0,     0,     0,     0,     0,
-      56,    88,    79,    80,    81,    82,    83,    84,     0,     0,
+       0,     0,     0,     0,    89,     0,     0,     0,     0,     0,
+      56,     0,    79,    80,    81,    82,    83,    84,    85,     0,
+       0,     0,     0,     0,    90,     0,     0,     0,     0,   343,
+       0,     0,    91,    92,    93,    94,    95,    96,    86,    87,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   143,     0,     0,     0,     0,     0,    85,    86,    90,
-      91,    92,    93,    94,    95,     0,     0,     0,     0,     0,
-       0,    56,    87,    79,    80,    81,    82,    83,    84,     0,
-       0,     0,     0,     0,     0,     0,    88,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    85,    86,
-       0,     0,     0,     0,     0,     0,   147,     0,     0,     0,
-       0,     0,     0,   246,    90,    91,    92,    93,    94,    95,
-       0,     0,     0,     0,     0,     0,    56,    88,    79,    80,
-      81,    82,    83,    84,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    88,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    89,     0,     0,
-       0,     0,     0,    85,    86,    90,    91,    92,    93,    94,
-      95,     0,     0,     0,     0,     0,     0,     0,   246,     0,
+       0,     0,     0,    56,     0,    79,    80,    81,    82,    83,
+      84,    85,     0,     0,     0,     0,     0,    90,     0,     0,
+       0,     0,   377,     0,     0,    91,    92,    93,    94,    95,
+      96,    86,    87,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   247,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    88,     0,     0,     0,    56,     2,     0,     0,
-       0,     0,     0,     0,   220,     0,     0,     0,     0,     0,
-       0,     0,   249,     0,     0,     0,     0,     0,     0,     0,
-      90,    91,    92,    93,    94,    95,     3,     4,     0,     0,
-       5,     6,     0,     0,     0,     7,     0,     8,     9,    10,
-      11,     0,     0,     0,    12,    13,    14,    15,    16,     0,
-      17,    18,     0,    19,    20,     2,    21,    22,    23,    24,
-      25,     0,   220,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   314,   339,     0,     0,   266,     0,     0,     0,
-       0,    58,     0,     0,     3,     4,     0,     0,     5,     6,
-       0,     0,     0,     7,     0,     8,     9,    10,    11,     0,
-       0,     0,    12,    13,    14,    15,    16,     0,    17,    18,
-       0,    19,    20,     0,    21,    22,    23,    24,    25,    76,
-       1,     0,     0,     2,     0,     0,     0,     0,     0,     0,
-     265,   339,     0,     0,   266,     0,     0,     0,     0,    58,
+      89,     0,     0,     0,     0,     0,    56,     0,    79,    80,
+      81,    82,    83,    84,    85,     0,     0,     0,     0,     0,
+      90,   395,     0,     0,     0,     0,     0,     0,    91,    92,
+      93,    94,    95,    96,    86,    87,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   247,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     3,     4,     0,     0,     5,     6,     0,     0,
-       0,     7,     0,     8,     9,    10,    11,     0,     2,     0,
-      12,    13,    14,    15,    16,     0,    17,    18,     0,    19,
-      20,     0,    21,    22,    23,    24,    25,     0,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,     4,     0,
-       0,     5,     6,     0,     2,     0,     7,     0,     8,     9,
-       0,    11,     0,     0,     0,     0,    13,    14,     0,    16,
-       0,    17,    18,     0,     0,    20,     0,     0,    22,    23,
-      24,    25,     0,     0,     4,     0,     0,     5,     6,     0,
-       1,     0,     7,     2,     8,     9,   229,    11,     0,     0,
-       0,     0,    13,    14,     0,    16,     0,    17,    18,     0,
-       0,    20,     0,     0,    22,    23,    24,    25,     0,     0,
-       0,     0,     3,     4,     0,     0,     5,     6,     0,     0,
-       0,     7,   326,     8,     9,    10,    11,     0,     0,     0,
-      12,    13,    14,    15,    16,     0,    17,    18,     0,    19,
-      20,     0,    21,    22,    23,    24,    25,     0,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    56,     2,
-       0,     0,     0,     0,     0,     0,   220,     0,     0,     0,
+       0,     0,     0,    89,     0,     0,     0,     0,     0,    56,
+       0,    79,    80,    81,    82,    83,    84,    85,     0,     0,
+       0,     0,     0,    90,   406,     0,     0,     0,     0,     0,
+       0,    91,    92,    93,    94,    95,    96,    86,    87,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     3,     4,
-       0,     0,     5,     6,     0,     0,     2,     7,     0,     8,
-       9,    10,    11,     0,     0,     0,    12,    13,    14,    15,
-      16,     0,    17,    18,     0,    19,    20,     0,    21,    22,
-      23,    24,    25,     0,     0,     3,     4,     0,     0,     5,
-       6,     0,     0,     0,     7,   221,     8,     9,    10,    11,
-       0,     2,     0,    12,    13,    14,    15,    16,   220,    17,
-      18,     0,    19,    20,     0,    21,    22,    23,    24,    25,
+       0,     0,   247,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    89,     0,     0,     0,
+       0,     0,    56,     0,    79,    80,    81,    82,    83,    84,
+      85,     0,     0,     0,     0,     0,    90,   408,     0,     0,
+       0,     0,     0,     0,    91,    92,    93,    94,    95,    96,
+      86,    87,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   247,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    89,
+       0,     0,     0,     0,     0,    56,     0,    79,    80,    81,
+      82,    83,    84,    85,     0,     0,     0,     0,     0,    90,
+     418,     0,     0,     0,     0,     0,     0,    91,    92,    93,
+      94,    95,    96,    86,    87,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    88,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    89,     0,     0,     0,     0,     0,    56,     0,
+      79,    80,    81,    82,    83,    84,    85,     0,     0,     0,
+       0,     0,    90,     0,     0,     0,     0,     0,     0,     0,
+      91,    92,    93,    94,    95,    96,    86,    87,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       3,     4,     0,   121,     5,     6,     0,     0,     2,     7,
-       0,     8,     9,    10,    11,   220,     0,     0,    12,    13,
+       0,    88,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    89,     0,     0,     0,     0,
+       0,    56,     0,    79,    80,    81,    82,    83,    84,    85,
+       0,     0,     0,     0,     0,   144,     0,     0,     0,     0,
+       0,     0,     0,    91,    92,    93,    94,    95,    96,    86,
+      87,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    88,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    89,     0,
+       0,     0,     0,     0,    56,     0,    79,    80,    81,    82,
+      83,    84,    85,     0,     0,     0,     0,     0,   148,     0,
+       0,     0,     0,     0,     0,     0,    91,    92,    93,    94,
+      95,    96,    86,    87,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   247,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    89,     0,     0,     0,     0,     0,    56,     0,    79,
+      80,    81,    82,    83,    84,    85,     0,     0,     0,     0,
+       0,    90,     0,     0,     0,     0,     0,     0,     0,    91,
+      92,    93,    94,    95,    96,    86,    87,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     247,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    89,     0,     0,    56,     2,     0,
+       0,     0,     0,     0,     0,     0,   221,     0,     0,     0,
+       0,     0,     0,     0,   250,     0,     0,     0,     0,     0,
+       0,     0,    91,    92,    93,    94,    95,    96,     3,     4,
+       0,     0,     5,     6,     0,     0,     0,     7,     0,     8,
+       9,    10,    11,     0,     0,     0,    12,    13,    14,    15,
+      16,     0,    17,    18,     0,    19,    20,     2,    21,    22,
+      23,    24,    25,     0,     0,   221,     0,     0,     0,     0,
+       0,     0,     0,     0,   315,   340,     0,     0,   267,     0,
+       0,     0,     0,    58,     0,     0,     0,     3,     4,     0,
+       0,     5,     6,    76,     1,     0,     7,     2,     8,     9,
+      10,    11,     0,     0,     0,    12,    13,    14,    15,    16,
+       0,    17,    18,     0,    19,    20,     0,    21,    22,    23,
+      24,    25,     0,     0,     0,     0,     0,     3,     4,     0,
+       0,     5,     6,   266,   340,     0,     7,   267,     8,     9,
+      10,    11,    58,     2,     0,    12,    13,    14,    15,    16,
+       0,    17,    18,     0,    19,    20,     0,    21,    22,    23,
+      24,    25,     0,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,     0,     4,     0,     0,     5,     6,     2,
+       0,     0,     7,     0,     8,     9,     0,    11,     0,     0,
+       0,     0,    13,    14,     0,    16,     0,    17,    18,     0,
+       0,    20,     0,     0,    22,    23,    24,    25,     0,     0,
+       4,     0,     0,     5,     6,     0,     0,     0,     7,     0,
+       8,     9,   230,    11,     0,     0,     0,     1,    13,    14,
+       2,    16,     0,    17,    18,     0,     0,    20,     0,     0,
+      22,    23,    24,    25,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   327,     0,
+       3,     4,     0,     0,     5,     6,     0,     0,     0,     7,
+       0,     8,     9,    10,    11,     0,     0,     0,    12,    13,
       14,    15,    16,     0,    17,    18,     0,    19,    20,     0,
-      21,    22,    23,    24,    25,     0,     0,     3,     4,     0,
-       0,     5,     6,     2,     0,     0,     7,   374,     8,     9,
+      21,    22,    23,    24,    25,     0,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    56,     2,     0,     0,
+       0,     0,     0,     0,     0,   221,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     3,     4,     0,
+       0,     5,     6,     0,     2,     0,     7,     0,     8,     9,
       10,    11,     0,     0,     0,    12,    13,    14,    15,    16,
        0,    17,    18,     0,    19,    20,     0,    21,    22,    23,
-      24,    25,     3,     4,     0,     0,     5,     6,     2,     0,
-       0,     7,     0,     8,     9,    10,    11,     0,     0,     0,
+      24,    25,     0,     0,     3,     4,     0,     0,     5,     6,
+       0,     0,     2,     7,   222,     8,     9,    10,    11,     0,
+     221,     0,    12,    13,    14,    15,    16,     0,    17,    18,
+       0,    19,    20,     0,    21,    22,    23,    24,    25,     0,
+       0,     0,     3,     4,     0,     0,     5,     6,     0,     2,
+       0,     7,   122,     8,     9,    10,    11,   221,     0,     0,
       12,    13,    14,    15,    16,     0,    17,    18,     0,    19,
-      20,     0,    21,    22,    23,    24,    25,     0,     4,     0,
-       0,     5,     6,     0,     0,     0,     7,     0,     8,     9,
-       0,    11,     0,     0,     0,     0,    13,    14,     0,    16,
-       0,    17,    18,     0,     0,    20,     0,     0,    22,    23,
-      24,    25
+      20,     0,    21,    22,    23,    24,    25,     0,     0,     3,
+       4,     0,     0,     5,     6,     2,     0,     0,     7,   375,
+       8,     9,    10,    11,     0,     0,     0,    12,    13,    14,
+      15,    16,     0,    17,    18,     0,    19,    20,     0,    21,
+      22,    23,    24,    25,     0,     3,     4,     0,     0,     5,
+       6,     0,     0,     0,     7,     0,     8,     9,    10,    11,
+       0,     0,     0,    12,    13,    14,    15,    16,     0,    17,
+      18,     0,    19,    20,     0,    21,    22,    23,    24,    25
 };
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-249)))
+  (!!((Yystate) == (-234)))
 
 #define yytable_value_is_error(Yytable_value) \
   YYID (0)
 
 static const yytype_int16 yycheck[] =
 {
-      37,    65,    51,   127,    41,    58,    43,     0,    89,    41,
-      68,    43,   209,   189,   131,   101,     3,   215,     3,   267,
-      57,   122,    37,    63,   154,    79,     3,   128,    65,     3,
-      41,    89,    43,    89,    90,    29,     3,     3,     4,    89,
-       3,    78,     3,     4,     0,    38,    39,    86,    86,   130,
-       3,    44,    45,   134,    47,   231,    86,    79,    86,   160,
-      84,    83,    86,   102,   102,   118,   147,     3,   316,    86,
-     100,    81,   130,   131,   102,    80,   134,   135,   164,   165,
-     166,    86,   119,    81,   121,   102,   126,   124,     3,   147,
-     127,    47,   222,   143,    79,    82,   133,   147,   192,   149,
-     137,   154,    79,    88,   119,    99,    83,    63,    82,   124,
-     121,   161,    79,    86,   215,    81,    79,   102,   133,   236,
-      81,    88,   159,    26,    27,   162,    79,   159,    86,   102,
-     162,    88,   182,   100,   127,    88,    93,    94,   335,    79,
-     189,    79,    86,    79,   102,    83,   196,    83,   159,   325,
-      88,   162,    88,   329,    80,   192,    79,   194,   102,    79,
-      86,   262,   194,   264,    97,   266,   364,    80,   249,   222,
-     126,    80,   209,    86,    80,    82,     8,    86,   236,    86,
-      86,   192,   231,   194,   270,   222,    30,    31,    32,    80,
-      87,   249,    95,    96,    80,    86,   246,    80,   209,   249,
-      86,   238,    80,    86,    98,   299,   243,   222,    86,    28,
-     247,    80,   265,    80,   308,    38,    82,    86,    80,    86,
-      86,   345,    45,    12,    13,    14,    15,    16,    17,    18,
-      19,    80,    55,    22,    23,    79,   247,    86,    79,    83,
-      80,    85,    83,    80,    67,   346,    86,    81,   349,    86,
-      80,   301,   316,   303,    80,    79,   306,   307,   352,    83,
-      86,   314,   299,   364,    82,    88,    20,    21,    86,    24,
-      25,   308,   265,     3,     4,   102,   325,   314,   100,   316,
-     329,   171,   172,   173,   174,   101,   323,   102,   299,   169,
-     170,   385,   386,   387,   331,   167,   168,   308,   335,    79,
-     394,   351,   175,   176,    79,   355,    79,    79,   323,   100,
-     404,   405,   101,   407,   100,   352,   410,   100,    84,    51,
-     414,   314,   416,   417,   335,   101,   319,    80,    80,   423,
-     100,   381,   382,    80,   384,    86,   100,    68,    80,   102,
-      84,   352,    79,    84,    80,    43,   396,   397,   385,   386,
-     387,   179,   345,    85,    86,   180,    88,   394,   178,   409,
-     177,   119,   102,   323,   135,   319,   127,   404,   405,   101,
-     407,   181,   137,   410,   385,   386,   387,   414,   138,   416,
-     417,    47,   247,   394,    -1,   147,   423,    -1,    -1,    -1,
-      58,    -1,    -1,   404,   405,    -1,   407,    -1,    -1,   410,
-      68,    -1,    -1,   414,    -1,   416,   417,    -1,    -1,   141,
-     142,    -1,   423,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     118,    -1,    -1,    -1,    -1,    -1,    -1,   189,    -1,    -1,
-      -1,    -1,   130,   131,    -1,    -1,   134,   135,    -1,    -1,
-       3,     4,     5,     6,     7,     8,     9,    10,    -1,   147,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,   231,
-      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
-      -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-      63,    64,    65,    66,    67,    68,    -1,    -1,   270,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    81,    82,
-      -1,    -1,    -1,    -1,    87,    88,    89,    90,    91,    92,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   236,   102,
-      -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
-      -1,   249,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   325,    -1,    -1,    -1,   329,    30,    31,
-      -1,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    81,
-      82,    -1,    -1,    -1,    -1,    87,    88,    89,    90,    91,
-      92,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
-     102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,
-      -1,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    81,
-      82,    -1,    -1,    -1,    -1,    87,    88,    89,    90,    91,
-      92,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
-     102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,
-      -1,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
+      37,    65,    51,   210,    41,    58,    43,     0,    41,    68,
+      43,   216,    90,   132,   190,     3,   102,    80,     3,     3,
+      57,   128,    37,   123,     0,   155,     3,    82,    65,   129,
+      41,    90,    43,    30,     3,   268,     3,    82,     3,    87,
+      90,    78,     3,     4,    63,    38,    39,    87,     3,     3,
+       4,    44,    45,   131,    47,   103,   232,   135,    87,    87,
+      80,   161,    87,   103,    84,     9,   119,     3,    27,    28,
+     148,    47,   131,   132,   103,   103,   135,   136,   103,   165,
+     166,   167,    83,   120,   317,   122,    87,    63,   125,   148,
+      80,   128,    80,   223,   144,    80,    84,   134,   148,    83,
+     150,   138,   155,   100,    51,   120,    83,    85,   127,    87,
+     125,   122,   162,    80,    80,    80,   216,    87,   237,   134,
+      80,    82,    89,   160,    89,    80,   163,   160,    82,   336,
+     163,   101,    88,   183,    89,   128,   103,    96,    97,    86,
+      87,   190,    89,    29,    80,    87,   101,   197,    84,   160,
+     326,   127,   163,    89,   330,   102,   193,    98,   195,    39,
+     365,   103,   195,   263,    87,   265,    46,   267,    99,    89,
+     223,    81,   250,   210,    94,    95,    56,    87,   237,    81,
+     103,    81,   193,   232,   195,   271,   223,    87,    68,    80,
+      83,   250,    82,    84,    87,   142,   143,   247,    89,   210,
+     250,    80,   239,    81,    81,    84,    81,   244,   223,    89,
+      87,   248,    87,   266,   102,    31,    32,    33,   165,   166,
+     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,   181,   182,   193,   248,    81,   346,
+      81,   101,    81,   190,    87,    81,    87,   347,    87,    81,
+     350,    87,   302,   317,   304,    87,   103,   307,   308,   103,
+      81,    81,   315,   300,    80,   365,    87,    87,    84,    81,
+      86,    80,   309,   266,    80,    87,    81,   326,   315,    80,
+     317,   330,    87,    84,    81,   232,    81,   324,    80,   300,
+      87,    80,    87,    83,   101,   332,    81,    87,   309,   336,
+      21,    22,   352,    90,    91,   101,   356,    25,    26,   324,
+     172,   173,   174,   175,     3,     4,   353,   168,   169,   101,
+     170,   171,   315,    85,   271,   336,   101,   320,   176,   177,
+     102,    81,   382,   383,    81,   385,    87,   101,    69,    81,
+     103,    85,   353,   300,    80,    85,    81,   397,   398,   386,
+     387,   388,   309,   346,    44,   103,   178,   180,   395,   120,
+     410,   179,   181,   136,   138,   182,   324,   320,   405,   406,
+     139,   408,   128,    47,   411,   386,   387,   388,   415,   326,
+     417,   418,   148,   330,   395,   248,    -1,   424,    -1,    -1,
+      -1,    58,    -1,    -1,   405,   406,   353,   408,    -1,    -1,
+     411,    68,    -1,    -1,   415,    -1,   417,   418,    -1,    -1,
+      -1,    -1,    -1,   424,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    90,    -1,    -1,    -1,    -1,    -1,   386,
+     387,   388,    -1,    -1,    -1,    -1,    -1,    -1,   395,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   405,   406,
+      -1,   408,   119,    -1,   411,    -1,    -1,    -1,   415,    -1,
+     417,   418,    -1,    -1,   131,   132,    -1,   424,   135,   136,
+      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
+      -1,   148,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    31,
+      32,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    -1,    45,    46,    47,    48,    49,    50,    51,
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,    67,    68,    -1,    -1,     3,
-       4,     5,     6,     7,     8,     9,    10,    79,    -1,    81,
-      -1,    -1,    -1,    -1,    -1,    87,    88,    89,    90,    91,
-      92,    -1,    -1,    -1,    -1,    -1,    30,    31,    -1,    -1,
-     102,    35,    36,    -1,    -1,    39,    40,    41,    -1,    -1,
-      -1,    45,    -1,    -1,    48,    49,    50,    -1,    -1,    -1,
-      -1,    -1,    56,    -1,    -1,    59,    -1,    -1,    62,    -1,
-      -1,    -1,    -1,     3,    68,     5,     6,     7,     8,     9,
-      10,    -1,    -1,    -1,    -1,    79,    -1,    81,    -1,    -1,
-      -1,    -1,    -1,    87,    88,    89,    90,    91,    92,    -1,
-      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,   102,    -1,
-      -1,    -1,    -1,    -1,     3,    45,     5,     6,     7,     8,
-       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,
+      62,    63,    64,    65,    66,    67,    68,    69,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,
+      82,    83,    -1,    -1,    -1,    -1,    88,    89,    90,    91,
+      92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     237,   103,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    -1,    -1,   250,    13,    14,    15,    16,    17,    18,
+      19,    20,    -1,    -1,    23,    24,    -1,    -1,    -1,    -1,
+      31,    32,    -1,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    -1,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,
+      -1,    82,    83,    -1,    -1,    -1,    -1,    88,    89,    90,
+      91,    92,    93,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,   103,   102,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    31,    32,    -1,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    -1,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      80,    -1,    82,    83,    -1,    -1,    -1,    -1,    88,    89,
+      90,    91,    92,    93,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,   103,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    79,
-      -1,    -1,    -1,    -1,    -1,    -1,    45,    87,    88,    89,
-      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      59,    -1,   102,    -1,    -1,    -1,    -1,     3,    -1,     5,
-       6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,
-      79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,    88,
-      89,    90,    91,    92,    30,    31,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   102,    -1,    -1,    -1,    -1,     3,    45,
-       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    30,    31,    -1,    -1,    -1,
-      -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
-      45,    87,    88,    89,    90,    91,    92,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    59,    -1,   102,    -1,    -1,    -1,
-       4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    87,    88,    89,    90,    91,    92,    -1,    33,
-      34,    -1,    -1,    37,    38,    -1,    -1,   102,    42,    -1,
-      44,    45,    46,    47,    -1,    -1,    -1,    51,    52,    53,
-      54,    55,    -1,    57,    58,    -1,    60,    61,    -1,    63,
-      64,    65,    66,    67,     3,     4,     5,     6,     7,     8,
-       9,    10,    -1,    -1,    -1,    -1,    -1,    81,    -1,    -1,
+      -1,    -1,    31,    32,    -1,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    -1,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    80,    -1,    82,    -1,    -1,    -1,    -1,    -1,    88,
+      89,    90,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,
+      31,    32,    -1,    -1,   103,    36,    37,    -1,    -1,    40,
+      41,    42,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,
+      51,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,
+      -1,    -1,    63,    -1,    -1,    -1,    -1,     3,    69,     5,
+       6,     7,     8,     9,    10,    11,    -1,    -1,    -1,    80,
+      -1,    82,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
+      91,    92,    93,    -1,    -1,    31,    32,    -1,    -1,    -1,
+      -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
+       3,    -1,     5,     6,     7,     8,     9,    10,    11,    -1,
+      -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    88,    89,    90,    91,    92,    93,    31,    32,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
+      -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
+      -1,    -1,    -1,     3,    -1,     5,     6,     7,     8,     9,
+      10,    11,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,
+      93,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     103,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    30,    31,    -1,    -1,    34,    -1,   101,    37,    38,
-      -1,    -1,    -1,    42,    -1,    44,    45,    -1,    47,    -1,
-      -1,    -1,    -1,    52,    53,    -1,    55,    -1,    57,    58,
-      59,    -1,    61,    -1,    -1,    64,    65,    66,    67,     3,
-       4,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
-      79,    -1,    81,    -1,    -1,    -1,    -1,    -1,    87,    88,
-      89,    90,    91,    92,    -1,    -1,    30,    31,    -1,    -1,
-      34,    -1,    -1,    37,    38,    -1,    -1,    -1,    42,    -1,
-      44,    45,    -1,    47,    -1,    -1,    -1,    -1,    52,    53,
-      -1,    55,    -1,    57,    58,    59,    -1,    61,    -1,    -1,
-      64,    65,    66,    67,     3,    -1,     5,     6,     7,     8,
-       9,    10,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    87,    88,    89,    90,    91,    92,    -1,
-      -1,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,     3,    45,     5,     6,     7,
-       8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
-      79,    -1,    81,    82,    -1,    -1,    -1,    45,    87,    88,
-      89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
-       3,    59,     5,     6,     7,     8,     9,    10,    -1,    -1,
+      60,    -1,    -1,    -1,    -1,    -1,     3,    -1,     5,     6,
+       7,     8,     9,    10,    11,    -1,    -1,     4,    -1,    -1,
+      80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
+      90,    91,    92,    93,    31,    32,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    35,    46,
+      -1,    38,    39,    -1,    -1,    -1,    43,    -1,    45,    46,
+      -1,    48,    -1,    60,    -1,    -1,    53,    54,     4,    56,
+      -1,    58,    59,    -1,    -1,    62,    -1,    -1,    65,    66,
+      67,    68,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    88,    89,    90,    91,    92,    93,    -1,    34,    35,
+      -1,    -1,    38,    39,    -1,    -1,   103,    43,    -1,    45,
+      46,    47,    48,    -1,    -1,    -1,    52,    53,    54,    55,
+      56,    -1,    58,    59,    -1,    61,    62,    -1,    64,    65,
+      66,    67,    68,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    79,    -1,    81,    -1,    -1,    -1,    30,    31,    87,
-      88,    89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
-      -1,     3,    45,     5,     6,     7,     8,     9,    10,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,
-      -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
-      -1,    84,    -1,    45,    87,    88,    89,    90,    91,    92,
-      -1,    -1,    -1,    -1,    -1,    -1,     3,    59,     5,     6,
-       7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    80,    -1,
-      -1,    -1,    -1,    30,    31,    87,    88,    89,    90,    91,
-      92,    -1,    -1,    -1,    -1,    -1,    -1,     3,    45,     5,
-       6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    30,    31,    -1,    -1,    -1,    -1,
-      -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    -1,    45,
-      87,    88,    89,    90,    91,    92,    -1,    -1,    -1,    -1,
-      -1,    -1,     3,    59,     5,     6,     7,     8,     9,    10,
+      -1,    31,    32,    -1,    -1,    35,   102,    -1,    38,    39,
+      -1,    -1,    -1,    43,    -1,    45,    46,    -1,    48,    -1,
+      -1,    -1,    -1,    53,    54,    -1,    56,    -1,    58,    59,
+      60,    -1,    62,    -1,    -1,    65,    66,    67,    68,     3,
+       4,     5,     6,     7,     8,     9,    10,    11,    -1,    -1,
+      80,    -1,    82,    -1,    -1,    -1,    -1,    -1,    88,    89,
+      90,    91,    92,    93,    -1,    -1,    -1,    31,    32,    -1,
+      -1,    35,    -1,    -1,    38,    39,    -1,    -1,    -1,    43,
+      -1,    45,    46,    -1,    48,    -1,    -1,    -1,    -1,    53,
+      54,    -1,    56,    -1,    58,    59,    60,    -1,    62,    -1,
+      -1,    65,    66,    67,    68,     3,    -1,     5,     6,     7,
+       8,     9,    10,    11,    -1,    -1,    80,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,    93,
+      -1,    -1,    -1,    31,    32,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    30,
-      31,    87,    88,    89,    90,    91,    92,    -1,    -1,    -1,
-      -1,    -1,    -1,     3,    45,     5,     6,     7,     8,     9,
-      10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    -1,
+      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,     3,    -1,
+       5,     6,     7,     8,     9,    10,    11,    -1,    -1,    -1,
+      -1,    -1,    80,    -1,    82,    83,    -1,    -1,    -1,    -1,
+      88,    89,    90,    91,    92,    93,    31,    32,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    79,    80,
-      -1,    -1,    -1,    -1,    -1,    45,    87,    88,    89,    90,
-      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,     3,    59,
-       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
-      80,    -1,    -1,    -1,    -1,    30,    31,    87,    88,    89,
-      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,     3,
-      45,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    -1,    -1,
-      -1,    -1,    -1,    -1,    79,    80,    -1,    -1,    -1,    -1,
-      -1,    45,    87,    88,    89,    90,    91,    92,    -1,    -1,
-      -1,    -1,    -1,    -1,     3,    59,     5,     6,     7,     8,
-       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    79,    80,    -1,    -1,    -1,
-      -1,    30,    31,    87,    88,    89,    90,    91,    92,    -1,
-      -1,    -1,    -1,    -1,    -1,     3,    45,     5,     6,     7,
-       8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
-      79,    -1,    -1,    -1,    -1,    -1,    -1,    45,    87,    88,
-      89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
-       3,    59,     5,     6,     7,     8,     9,    10,    -1,    -1,
+      -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
+      -1,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
+      -1,    -1,    -1,    -1,    -1,    80,    -1,    82,    -1,    -1,
+      -1,    -1,    -1,    88,    89,    90,    91,    92,    93,    31,
+      32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
+      -1,    -1,    -1,    -1,     3,    -1,     5,     6,     7,     8,
+       9,    10,    11,    -1,    -1,    -1,    -1,    -1,    80,    -1,
+      -1,    -1,    -1,    85,    -1,    -1,    88,    89,    90,    91,
+      92,    93,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    79,    -1,    -1,    -1,    -1,    -1,    30,    31,    87,
-      88,    89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
-      -1,     3,    45,     5,     6,     7,     8,     9,    10,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,
-      -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
-      -1,    -1,    -1,    45,    87,    88,    89,    90,    91,    92,
-      -1,    -1,    -1,    -1,    -1,    -1,     3,    59,     5,     6,
-       7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
-      -1,    -1,    -1,    30,    31,    87,    88,    89,    90,    91,
-      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,
+      -1,    60,    -1,    -1,    -1,    -1,    -1,     3,    -1,     5,
+       6,     7,     8,     9,    10,    11,    -1,    -1,    -1,    -1,
+      -1,    80,    81,    -1,    -1,    -1,    -1,    -1,    -1,    88,
+      89,    90,    91,    92,    93,    31,    32,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    59,    -1,    -1,    -1,     3,     4,    -1,    -1,
-      -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      87,    88,    89,    90,    91,    92,    33,    34,    -1,    -1,
-      37,    38,    -1,    -1,    -1,    42,    -1,    44,    45,    46,
-      47,    -1,    -1,    -1,    51,    52,    53,    54,    55,    -1,
-      57,    58,    -1,    60,    61,     4,    63,    64,    65,    66,
-      67,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    79,    80,    -1,    -1,    83,    -1,    -1,    -1,
-      -1,    88,    -1,    -1,    33,    34,    -1,    -1,    37,    38,
-      -1,    -1,    -1,    42,    -1,    44,    45,    46,    47,    -1,
-      -1,    -1,    51,    52,    53,    54,    55,    -1,    57,    58,
-      -1,    60,    61,    -1,    63,    64,    65,    66,    67,     0,
-       1,    -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,
-      79,    80,    -1,    -1,    83,    -1,    -1,    -1,    -1,    88,
+      46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
+       3,    -1,     5,     6,     7,     8,     9,    10,    11,    -1,
+      -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    85,
+      -1,    -1,    88,    89,    90,    91,    92,    93,    31,    32,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    33,    34,    -1,    -1,    37,    38,    -1,    -1,
-      -1,    42,    -1,    44,    45,    46,    47,    -1,     4,    -1,
-      51,    52,    53,    54,    55,    -1,    57,    58,    -1,    60,
-      61,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    34,    -1,
-      -1,    37,    38,    -1,     4,    -1,    42,    -1,    44,    45,
-      -1,    47,    -1,    -1,    -1,    -1,    52,    53,    -1,    55,
-      -1,    57,    58,    -1,    -1,    61,    -1,    -1,    64,    65,
-      66,    67,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,
-       1,    -1,    42,     4,    44,    45,    82,    47,    -1,    -1,
-      -1,    -1,    52,    53,    -1,    55,    -1,    57,    58,    -1,
-      -1,    61,    -1,    -1,    64,    65,    66,    67,    -1,    -1,
-      -1,    -1,    33,    34,    -1,    -1,    37,    38,    -1,    -1,
-      -1,    42,    82,    44,    45,    46,    47,    -1,    -1,    -1,
-      51,    52,    53,    54,    55,    -1,    57,    58,    -1,    60,
-      61,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,     3,     4,
-      -1,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,
+      -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
+      -1,    -1,    -1,     3,    -1,     5,     6,     7,     8,     9,
+      10,    11,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,
+      -1,    -1,    85,    -1,    -1,    88,    89,    90,    91,    92,
+      93,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34,
-      -1,    -1,    37,    38,    -1,    -1,     4,    42,    -1,    44,
-      45,    46,    47,    -1,    -1,    -1,    51,    52,    53,    54,
-      55,    -1,    57,    58,    -1,    60,    61,    -1,    63,    64,
-      65,    66,    67,    -1,    -1,    33,    34,    -1,    -1,    37,
-      38,    -1,    -1,    -1,    42,    80,    44,    45,    46,    47,
-      -1,     4,    -1,    51,    52,    53,    54,    55,    11,    57,
-      58,    -1,    60,    61,    -1,    63,    64,    65,    66,    67,
+      60,    -1,    -1,    -1,    -1,    -1,     3,    -1,     5,     6,
+       7,     8,     9,    10,    11,    -1,    -1,    -1,    -1,    -1,
+      80,    81,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
+      90,    91,    92,    93,    31,    32,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      33,    34,    -1,    81,    37,    38,    -1,    -1,     4,    42,
-      -1,    44,    45,    46,    47,    11,    -1,    -1,    51,    52,
-      53,    54,    55,    -1,    57,    58,    -1,    60,    61,    -1,
-      63,    64,    65,    66,    67,    -1,    -1,    33,    34,    -1,
-      -1,    37,    38,     4,    -1,    -1,    42,    80,    44,    45,
-      46,    47,    -1,    -1,    -1,    51,    52,    53,    54,    55,
-      -1,    57,    58,    -1,    60,    61,    -1,    63,    64,    65,
-      66,    67,    33,    34,    -1,    -1,    37,    38,     4,    -1,
-      -1,    42,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
-      51,    52,    53,    54,    55,    -1,    57,    58,    -1,    60,
-      61,    -1,    63,    64,    65,    66,    67,    -1,    34,    -1,
-      -1,    37,    38,    -1,    -1,    -1,    42,    -1,    44,    45,
-      -1,    47,    -1,    -1,    -1,    -1,    52,    53,    -1,    55,
-      -1,    57,    58,    -1,    -1,    61,    -1,    -1,    64,    65,
-      66,    67
+      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,     3,
+      -1,     5,     6,     7,     8,     9,    10,    11,    -1,    -1,
+      -1,    -1,    -1,    80,    81,    -1,    -1,    -1,    -1,    -1,
+      -1,    88,    89,    90,    91,    92,    93,    31,    32,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
+      -1,    -1,     3,    -1,     5,     6,     7,     8,     9,    10,
+      11,    -1,    -1,    -1,    -1,    -1,    80,    81,    -1,    -1,
+      -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,    93,
+      31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
+      -1,    -1,    -1,    -1,    -1,     3,    -1,     5,     6,     7,
+       8,     9,    10,    11,    -1,    -1,    -1,    -1,    -1,    80,
+      81,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
+      91,    92,    93,    31,    32,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,     3,    -1,
+       5,     6,     7,     8,     9,    10,    11,    -1,    -1,    -1,
+      -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      88,    89,    90,    91,    92,    93,    31,    32,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
+      -1,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
+      -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    88,    89,    90,    91,    92,    93,    31,
+      32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
+      -1,    -1,    -1,    -1,     3,    -1,     5,     6,     7,     8,
+       9,    10,    11,    -1,    -1,    -1,    -1,    -1,    80,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,
+      92,    93,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    60,    -1,    -1,    -1,    -1,    -1,     3,    -1,     5,
+       6,     7,     8,     9,    10,    11,    -1,    -1,    -1,    -1,
+      -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,
+      89,    90,    91,    92,    93,    31,    32,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    60,    -1,    -1,     3,     4,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    12,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    88,    89,    90,    91,    92,    93,    34,    35,
+      -1,    -1,    38,    39,    -1,    -1,    -1,    43,    -1,    45,
+      46,    47,    48,    -1,    -1,    -1,    52,    53,    54,    55,
+      56,    -1,    58,    59,    -1,    61,    62,     4,    64,    65,
+      66,    67,    68,    -1,    -1,    12,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    80,    81,    -1,    -1,    84,    -1,
+      -1,    -1,    -1,    89,    -1,    -1,    -1,    34,    35,    -1,
+      -1,    38,    39,     0,     1,    -1,    43,     4,    45,    46,
+      47,    48,    -1,    -1,    -1,    52,    53,    54,    55,    56,
+      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
+      67,    68,    -1,    -1,    -1,    -1,    -1,    34,    35,    -1,
+      -1,    38,    39,    80,    81,    -1,    43,    84,    45,    46,
+      47,    48,    89,     4,    -1,    52,    53,    54,    55,    56,
+      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
+      67,    68,    -1,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    -1,    35,    -1,    -1,    38,    39,     4,
+      -1,    -1,    43,    -1,    45,    46,    -1,    48,    -1,    -1,
+      -1,    -1,    53,    54,    -1,    56,    -1,    58,    59,    -1,
+      -1,    62,    -1,    -1,    65,    66,    67,    68,    -1,    -1,
+      35,    -1,    -1,    38,    39,    -1,    -1,    -1,    43,    -1,
+      45,    46,    83,    48,    -1,    -1,    -1,     1,    53,    54,
+       4,    56,    -1,    58,    59,    -1,    -1,    62,    -1,    -1,
+      65,    66,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,
+      34,    35,    -1,    -1,    38,    39,    -1,    -1,    -1,    43,
+      -1,    45,    46,    47,    48,    -1,    -1,    -1,    52,    53,
+      54,    55,    56,    -1,    58,    59,    -1,    61,    62,    -1,
+      64,    65,    66,    67,    68,    -1,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,     3,     4,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    -1,
+      -1,    38,    39,    -1,     4,    -1,    43,    -1,    45,    46,
+      47,    48,    -1,    -1,    -1,    52,    53,    54,    55,    56,
+      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
+      67,    68,    -1,    -1,    34,    35,    -1,    -1,    38,    39,
+      -1,    -1,     4,    43,    81,    45,    46,    47,    48,    -1,
+      12,    -1,    52,    53,    54,    55,    56,    -1,    58,    59,
+      -1,    61,    62,    -1,    64,    65,    66,    67,    68,    -1,
+      -1,    -1,    34,    35,    -1,    -1,    38,    39,    -1,     4,
+      -1,    43,    82,    45,    46,    47,    48,    12,    -1,    -1,
+      52,    53,    54,    55,    56,    -1,    58,    59,    -1,    61,
+      62,    -1,    64,    65,    66,    67,    68,    -1,    -1,    34,
+      35,    -1,    -1,    38,    39,     4,    -1,    -1,    43,    81,
+      45,    46,    47,    48,    -1,    -1,    -1,    52,    53,    54,
+      55,    56,    -1,    58,    59,    -1,    61,    62,    -1,    64,
+      65,    66,    67,    68,    -1,    34,    35,    -1,    -1,    38,
+      39,    -1,    -1,    -1,    43,    -1,    45,    46,    47,    48,
+      -1,    -1,    -1,    52,    53,    54,    55,    56,    -1,    58,
+      59,    -1,    61,    62,    -1,    64,    65,    66,    67,    68
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,     1,     4,    33,    34,    37,    38,    42,    44,    45,
-      46,    47,    51,    52,    53,    54,    55,    57,    58,    60,
-      61,    63,    64,    65,    66,    67,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,   128,   129,   132,   133,
-     134,   135,   141,   142,   146,   147,   158,   170,   171,   172,
-     174,   175,   176,   177,   178,   179,     3,    79,    88,   102,
-     106,   130,   131,   148,   149,   150,   129,   129,    81,   106,
-     107,   158,    81,   107,   129,   129,     0,   171,    79,     5,
-       6,     7,     8,     9,    10,    30,    31,    45,    59,    79,
-      87,    88,    89,    90,    91,    92,   104,   105,   106,   108,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,   123,   127,   148,   146,   150,   151,    86,
-     102,    81,   101,   128,   129,   163,   173,    79,    83,   149,
-     133,   136,   137,   138,   146,    81,   143,   144,    81,   106,
-     154,    79,    79,    79,   110,   110,    79,    79,   110,    45,
-     110,   123,   124,   126,   138,   155,     8,    30,    31,    32,
-      79,    83,    85,   112,    88,    93,    94,    89,    90,    20,
-      21,    26,    27,    95,    96,    24,    25,    87,    97,    98,
-      28,    29,    99,    80,   146,   150,   131,   148,    35,    36,
-      39,    40,    41,    48,    49,    50,    56,    62,    68,    82,
-     102,   106,   107,   126,   128,   158,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,    81,   124,   159,   128,   163,
-      11,    80,   129,   152,   153,   154,    84,   124,   138,    82,
-     137,   100,   139,   140,   148,   138,   136,    82,    86,   106,
-     145,   143,    80,    86,   110,   110,    45,    81,   155,    79,
-     126,    12,    13,    14,    15,    16,    17,    18,    19,    22,
-      23,   101,   125,    80,    86,    79,    83,   150,   156,   157,
-      80,   107,    80,   109,   124,   126,   107,   112,   112,   112,
-     113,   113,   114,   114,   115,   115,   115,   115,   116,   116,
-     117,   118,   119,   120,   121,   126,   102,   127,   102,   100,
-     161,    79,   107,    79,   102,   126,    79,    79,   100,   102,
-      82,   165,   159,   160,    79,   148,   150,   156,    80,    86,
-      80,    84,   127,    86,   102,   100,    82,    82,   145,   101,
-      82,    86,   106,    80,    80,   164,    80,   124,   124,    80,
-     152,   156,    84,   124,   157,    79,    83,   112,    80,    86,
-      84,   100,   100,   161,    68,   102,   126,   102,   126,   102,
-     126,   126,   161,    82,    86,   153,   140,   127,   127,    82,
-      82,    80,    80,    84,    80,   152,    84,   124,   124,   126,
-     161,    79,   102,   126,   102,    80,    80,    80,    82,   159,
-      80,    80,    84,   126,    80,   126,   102,   102,   126,   161,
-     161,   161,    80,   161,    80,    80,   126,    80,   126,   102,
-      43,   102,   161,   161,    80,   161,    80,    80,   126,   161,
-     161,   161,   161,    80,   161
+       0,     1,     4,    34,    35,    38,    39,    43,    45,    46,
+      47,    48,    52,    53,    54,    55,    56,    58,    59,    61,
+      62,    64,    65,    66,    67,    68,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,   129,   130,   133,   134,
+     135,   136,   142,   143,   147,   148,   159,   171,   172,   173,
+     175,   176,   177,   178,   179,   180,     3,    80,    89,   103,
+     107,   131,   132,   149,   150,   151,   130,   130,    82,   107,
+     108,   159,    82,   108,   130,   130,     0,   172,    80,     5,
+       6,     7,     8,     9,    10,    11,    31,    32,    46,    60,
+      80,    88,    89,    90,    91,    92,    93,   105,   106,   107,
+     109,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   128,   149,   147,   151,   152,
+      87,   103,    82,   102,   129,   130,   164,   174,    80,    84,
+     150,   134,   137,   138,   139,   147,    82,   144,   145,    82,
+     107,   155,    80,    80,    80,   111,   111,    80,    80,   111,
+      46,   111,   124,   125,   127,   139,   156,     9,    31,    32,
+      33,    80,    84,    86,   113,    89,    94,    95,    90,    91,
+      21,    22,    27,    28,    96,    97,    25,    26,    88,    98,
+      99,    29,    30,   100,    81,   147,   151,   132,   149,    36,
+      37,    40,    41,    42,    49,    50,    51,    57,    63,    69,
+      83,   103,   107,   108,   127,   129,   159,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,    82,   125,   160,   129,
+     164,    12,    81,   130,   153,   154,   155,    85,   125,   139,
+      83,   138,   101,   140,   141,   149,   139,   137,    83,    87,
+     107,   146,   144,    81,    87,   111,   111,    46,    82,   156,
+      80,   127,    13,    14,    15,    16,    17,    18,    19,    20,
+      23,    24,   102,   126,    81,    87,    80,    84,   151,   157,
+     158,    81,   108,    81,   110,   125,   127,   108,   113,   113,
+     113,   114,   114,   115,   115,   116,   116,   116,   116,   117,
+     117,   118,   119,   120,   121,   122,   127,   103,   128,   103,
+     101,   162,    80,   108,    80,   103,   127,    80,    80,   101,
+     103,    83,   166,   160,   161,    80,   149,   151,   157,    81,
+      87,    81,    85,   128,    87,   103,   101,    83,    83,   146,
+     102,    83,    87,   107,    81,    81,   165,    81,   125,   125,
+      81,   153,   157,    85,   125,   158,    80,    84,   113,    81,
+      87,    85,   101,   101,   162,    69,   103,   127,   103,   127,
+     103,   127,   127,   162,    83,    87,   154,   141,   128,   128,
+      83,    83,    81,    81,    85,    81,   153,    85,   125,   125,
+     127,   162,    80,   103,   127,   103,    81,    81,    81,    83,
+     160,    81,    81,    85,   127,    81,   127,   103,   103,   127,
+     162,   162,   162,    81,   162,    81,    81,   127,    81,   127,
+     103,    44,   103,   162,   162,    81,   162,    81,    81,   127,
+     162,   162,   162,   162,    81,   162
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -2595,8 +2637,8 @@ yyreduce:
 #line 330 "giscanner/scannerparser.y"
     {
                (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);
+               (yyval.symbol)->const_boolean_set = TRUE;
+               (yyval.symbol)->const_boolean = g_ascii_strcasecmp (yytext, "true") == 0 ? TRUE : FALSE;
          }
     break;
 
@@ -2605,31 +2647,41 @@ yyreduce:
 #line 336 "giscanner/scannerparser.y"
     {
                (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);
+         }
+    break;
+
+  case 6:
+/* Line 1792 of yacc.c  */
+#line 342 "giscanner/scannerparser.y"
+    {
+               (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));
          }
     break;
 
-  case 7:
+  case 8:
 /* Line 1792 of yacc.c  */
-#line 344 "giscanner/scannerparser.y"
+#line 350 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
          }
     break;
 
-  case 8:
+  case 9:
 /* Line 1792 of yacc.c  */
-#line 348 "giscanner/scannerparser.y"
+#line 354 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
     break;
 
-  case 9:
+  case 10:
 /* Line 1792 of yacc.c  */
-#line 356 "giscanner/scannerparser.y"
+#line 362 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                yytext[strlen (yytext) - 1] = '\0';
@@ -2646,9 +2698,9 @@ yyreduce:
          }
     break;
 
-  case 10:
+  case 11:
 /* Line 1792 of yacc.c  */
-#line 371 "giscanner/scannerparser.y"
+#line 377 "giscanner/scannerparser.y"
     {
                char *strings, *string2;
                (yyval.symbol) = (yyvsp[(1) - (2)].symbol);
@@ -2661,25 +2713,17 @@ yyreduce:
          }
     break;
 
-  case 11:
+  case 12:
 /* Line 1792 of yacc.c  */
-#line 385 "giscanner/scannerparser.y"
+#line 391 "giscanner/scannerparser.y"
     {
                (yyval.str) = g_strdup (yytext);
          }
     break;
 
-  case 15:
-/* Line 1792 of yacc.c  */
-#line 398 "giscanner/scannerparser.y"
-    {
-               (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
-         }
-    break;
-
   case 16:
 /* Line 1792 of yacc.c  */
-#line 402 "giscanner/scannerparser.y"
+#line 404 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
@@ -2687,7 +2731,7 @@ yyreduce:
 
   case 17:
 /* Line 1792 of yacc.c  */
-#line 406 "giscanner/scannerparser.y"
+#line 408 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
@@ -2695,7 +2739,7 @@ yyreduce:
 
   case 18:
 /* Line 1792 of yacc.c  */
-#line 410 "giscanner/scannerparser.y"
+#line 412 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
@@ -2703,7 +2747,7 @@ yyreduce:
 
   case 19:
 /* Line 1792 of yacc.c  */
-#line 414 "giscanner/scannerparser.y"
+#line 416 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
@@ -2711,7 +2755,7 @@ yyreduce:
 
   case 20:
 /* Line 1792 of yacc.c  */
-#line 418 "giscanner/scannerparser.y"
+#line 420 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
@@ -2719,15 +2763,15 @@ yyreduce:
 
   case 21:
 /* Line 1792 of yacc.c  */
-#line 422 "giscanner/scannerparser.y"
+#line 424 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
     break;
 
-  case 25:
+  case 22:
 /* Line 1792 of yacc.c  */
-#line 435 "giscanner/scannerparser.y"
+#line 428 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
@@ -2735,7 +2779,7 @@ yyreduce:
 
   case 26:
 /* Line 1792 of yacc.c  */
-#line 439 "giscanner/scannerparser.y"
+#line 441 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
@@ -2743,7 +2787,15 @@ yyreduce:
 
   case 27:
 /* Line 1792 of yacc.c  */
-#line 443 "giscanner/scannerparser.y"
+#line 445 "giscanner/scannerparser.y"
+    {
+               (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
+         }
+    break;
+
+  case 28:
+/* Line 1792 of yacc.c  */
+#line 449 "giscanner/scannerparser.y"
     {
                switch ((yyvsp[(1) - (2)].unary_operator)) {
                case UNARY_PLUS:
@@ -2768,9 +2820,9 @@ yyreduce:
          }
     break;
 
-  case 28:
+  case 29:
 /* Line 1792 of yacc.c  */
-#line 466 "giscanner/scannerparser.y"
+#line 472 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(3) - (4)].symbol);
                if ((yyval.symbol)->const_int_set) {
@@ -2779,9 +2831,9 @@ yyreduce:
          }
     break;
 
-  case 29:
+  case 30:
 /* Line 1792 of yacc.c  */
-#line 473 "giscanner/scannerparser.y"
+#line 479 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(3) - (4)].symbol);
                if ((yyval.symbol)->const_int_set) {
@@ -2790,74 +2842,74 @@ yyreduce:
          }
     break;
 
-  case 30:
+  case 31:
 /* Line 1792 of yacc.c  */
-#line 480 "giscanner/scannerparser.y"
+#line 486 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
     break;
 
-  case 31:
+  case 32:
 /* Line 1792 of yacc.c  */
-#line 484 "giscanner/scannerparser.y"
+#line 490 "giscanner/scannerparser.y"
     {
                ctype_free ((yyvsp[(3) - (4)].ctype));
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
     break;
 
-  case 32:
+  case 33:
 /* Line 1792 of yacc.c  */
-#line 492 "giscanner/scannerparser.y"
+#line 498 "giscanner/scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_ADDRESS_OF;
          }
     break;
 
-  case 33:
+  case 34:
 /* Line 1792 of yacc.c  */
-#line 496 "giscanner/scannerparser.y"
+#line 502 "giscanner/scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_POINTER_INDIRECTION;
          }
     break;
 
-  case 34:
+  case 35:
 /* Line 1792 of yacc.c  */
-#line 500 "giscanner/scannerparser.y"
+#line 506 "giscanner/scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_PLUS;
          }
     break;
 
-  case 35:
+  case 36:
 /* Line 1792 of yacc.c  */
-#line 504 "giscanner/scannerparser.y"
+#line 510 "giscanner/scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_MINUS;
          }
     break;
 
-  case 36:
+  case 37:
 /* Line 1792 of yacc.c  */
-#line 508 "giscanner/scannerparser.y"
+#line 514 "giscanner/scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_BITWISE_COMPLEMENT;
          }
     break;
 
-  case 37:
+  case 38:
 /* Line 1792 of yacc.c  */
-#line 512 "giscanner/scannerparser.y"
+#line 518 "giscanner/scannerparser.y"
     {
                (yyval.unary_operator) = UNARY_LOGICAL_NEGATION;
          }
     break;
 
-  case 39:
+  case 40:
 /* Line 1792 of yacc.c  */
-#line 520 "giscanner/scannerparser.y"
+#line 526 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(4) - (4)].symbol);
                if ((yyval.symbol)->const_int_set || (yyval.symbol)->const_double_set || (yyval.symbol)->const_string != NULL) {
@@ -2868,9 +2920,9 @@ yyreduce:
          }
     break;
 
-  case 41:
+  case 42:
 /* Line 1792 of yacc.c  */
-#line 533 "giscanner/scannerparser.y"
+#line 539 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2878,9 +2930,9 @@ yyreduce:
          }
     break;
 
-  case 42:
+  case 43:
 /* Line 1792 of yacc.c  */
-#line 539 "giscanner/scannerparser.y"
+#line 545 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2890,9 +2942,9 @@ yyreduce:
          }
     break;
 
-  case 43:
+  case 44:
 /* Line 1792 of yacc.c  */
-#line 547 "giscanner/scannerparser.y"
+#line 553 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2902,9 +2954,9 @@ yyreduce:
          }
     break;
 
-  case 45:
+  case 46:
 /* Line 1792 of yacc.c  */
-#line 559 "giscanner/scannerparser.y"
+#line 565 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2912,9 +2964,9 @@ yyreduce:
          }
     break;
 
-  case 46:
+  case 47:
 /* Line 1792 of yacc.c  */
-#line 565 "giscanner/scannerparser.y"
+#line 571 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2922,9 +2974,9 @@ yyreduce:
          }
     break;
 
-  case 48:
+  case 49:
 /* Line 1792 of yacc.c  */
-#line 575 "giscanner/scannerparser.y"
+#line 581 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2938,9 +2990,9 @@ yyreduce:
          }
     break;
 
-  case 49:
+  case 50:
 /* Line 1792 of yacc.c  */
-#line 587 "giscanner/scannerparser.y"
+#line 593 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2948,9 +3000,9 @@ yyreduce:
          }
     break;
 
-  case 51:
+  case 52:
 /* Line 1792 of yacc.c  */
-#line 597 "giscanner/scannerparser.y"
+#line 603 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2958,9 +3010,9 @@ yyreduce:
          }
     break;
 
-  case 52:
+  case 53:
 /* Line 1792 of yacc.c  */
-#line 603 "giscanner/scannerparser.y"
+#line 609 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2968,9 +3020,9 @@ yyreduce:
          }
     break;
 
-  case 53:
+  case 54:
 /* Line 1792 of yacc.c  */
-#line 609 "giscanner/scannerparser.y"
+#line 615 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2978,9 +3030,9 @@ yyreduce:
          }
     break;
 
-  case 54:
+  case 55:
 /* Line 1792 of yacc.c  */
-#line 615 "giscanner/scannerparser.y"
+#line 621 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2988,9 +3040,9 @@ yyreduce:
          }
     break;
 
-  case 56:
+  case 57:
 /* Line 1792 of yacc.c  */
-#line 625 "giscanner/scannerparser.y"
+#line 631 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -2998,9 +3050,9 @@ yyreduce:
          }
     break;
 
-  case 57:
+  case 58:
 /* Line 1792 of yacc.c  */
-#line 631 "giscanner/scannerparser.y"
+#line 637 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -3008,9 +3060,9 @@ yyreduce:
          }
     break;
 
-  case 59:
+  case 60:
 /* Line 1792 of yacc.c  */
-#line 641 "giscanner/scannerparser.y"
+#line 647 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -3018,9 +3070,9 @@ yyreduce:
          }
     break;
 
-  case 61:
+  case 62:
 /* Line 1792 of yacc.c  */
-#line 651 "giscanner/scannerparser.y"
+#line 657 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -3028,9 +3080,9 @@ yyreduce:
          }
     break;
 
-  case 63:
+  case 64:
 /* Line 1792 of yacc.c  */
-#line 661 "giscanner/scannerparser.y"
+#line 667 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -3038,9 +3090,9 @@ yyreduce:
          }
     break;
 
-  case 65:
+  case 66:
 /* Line 1792 of yacc.c  */
-#line 671 "giscanner/scannerparser.y"
+#line 677 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -3050,9 +3102,9 @@ yyreduce:
          }
     break;
 
-  case 67:
+  case 68:
 /* Line 1792 of yacc.c  */
-#line 683 "giscanner/scannerparser.y"
+#line 689 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_CONST, scanner->current_file, lineno);
                (yyval.symbol)->const_int_set = TRUE;
@@ -3062,33 +3114,33 @@ yyreduce:
          }
     break;
 
-  case 69:
+  case 70:
 /* Line 1792 of yacc.c  */
-#line 695 "giscanner/scannerparser.y"
+#line 701 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_get_const_boolean ((yyvsp[(1) - (5)].symbol)) ? (yyvsp[(3) - (5)].symbol) : (yyvsp[(5) - (5)].symbol);
          }
     break;
 
-  case 71:
+  case 72:
 /* Line 1792 of yacc.c  */
-#line 703 "giscanner/scannerparser.y"
+#line 709 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
     break;
 
-  case 85:
+  case 86:
 /* Line 1792 of yacc.c  */
-#line 726 "giscanner/scannerparser.y"
+#line 732 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
     break;
 
-  case 87:
+  case 88:
 /* Line 1792 of yacc.c  */
-#line 739 "giscanner/scannerparser.y"
+#line 745 "giscanner/scannerparser.y"
     {
                GList *l;
                for (l = (yyvsp[(2) - (3)].list); l != NULL; l = l->next) {
@@ -3108,35 +3160,35 @@ yyreduce:
          }
     break;
 
-  case 88:
+  case 89:
 /* Line 1792 of yacc.c  */
-#line 757 "giscanner/scannerparser.y"
+#line 763 "giscanner/scannerparser.y"
     {
                ctype_free ((yyvsp[(1) - (2)].ctype));
          }
     break;
 
-  case 89:
+  case 90:
 /* Line 1792 of yacc.c  */
-#line 764 "giscanner/scannerparser.y"
+#line 770 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
                (yyval.ctype)->storage_class_specifier |= (yyvsp[(1) - (2)].storage_class_specifier);
          }
     break;
 
-  case 90:
+  case 91:
 /* Line 1792 of yacc.c  */
-#line 769 "giscanner/scannerparser.y"
+#line 775 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
                (yyval.ctype)->storage_class_specifier |= (yyvsp[(1) - (1)].storage_class_specifier);
          }
     break;
 
-  case 91:
+  case 92:
 /* Line 1792 of yacc.c  */
-#line 774 "giscanner/scannerparser.y"
+#line 780 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
                /* combine basic types like unsigned int and long long */
@@ -3151,190 +3203,190 @@ yyreduce:
          }
     break;
 
-  case 93:
+  case 94:
 /* Line 1792 of yacc.c  */
-#line 788 "giscanner/scannerparser.y"
+#line 794 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
                (yyval.ctype)->type_qualifier |= (yyvsp[(1) - (2)].type_qualifier);
          }
     break;
 
-  case 94:
+  case 95:
 /* Line 1792 of yacc.c  */
-#line 793 "giscanner/scannerparser.y"
+#line 799 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
                (yyval.ctype)->type_qualifier |= (yyvsp[(1) - (1)].type_qualifier);
          }
     break;
 
-  case 95:
+  case 96:
 /* Line 1792 of yacc.c  */
-#line 798 "giscanner/scannerparser.y"
+#line 804 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
                (yyval.ctype)->function_specifier |= (yyvsp[(1) - (2)].function_specifier);
          }
     break;
 
-  case 96:
+  case 97:
 /* Line 1792 of yacc.c  */
-#line 803 "giscanner/scannerparser.y"
+#line 809 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
                (yyval.ctype)->function_specifier |= (yyvsp[(1) - (1)].function_specifier);
          }
     break;
 
-  case 97:
+  case 98:
 /* Line 1792 of yacc.c  */
-#line 811 "giscanner/scannerparser.y"
+#line 817 "giscanner/scannerparser.y"
     {
                (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
          }
     break;
 
-  case 98:
+  case 99:
 /* Line 1792 of yacc.c  */
-#line 815 "giscanner/scannerparser.y"
+#line 821 "giscanner/scannerparser.y"
     {
                (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
          }
     break;
 
-  case 101:
+  case 102:
 /* Line 1792 of yacc.c  */
-#line 827 "giscanner/scannerparser.y"
+#line 833 "giscanner/scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_TYPEDEF;
          }
     break;
 
-  case 102:
+  case 103:
 /* Line 1792 of yacc.c  */
-#line 831 "giscanner/scannerparser.y"
+#line 837 "giscanner/scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_EXTERN;
          }
     break;
 
-  case 103:
+  case 104:
 /* Line 1792 of yacc.c  */
-#line 835 "giscanner/scannerparser.y"
+#line 841 "giscanner/scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_STATIC;
          }
     break;
 
-  case 104:
+  case 105:
 /* Line 1792 of yacc.c  */
-#line 839 "giscanner/scannerparser.y"
+#line 845 "giscanner/scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_AUTO;
          }
     break;
 
-  case 105:
+  case 106:
 /* Line 1792 of yacc.c  */
-#line 843 "giscanner/scannerparser.y"
+#line 849 "giscanner/scannerparser.y"
     {
                (yyval.storage_class_specifier) = STORAGE_CLASS_REGISTER;
          }
     break;
 
-  case 106:
+  case 107:
 /* Line 1792 of yacc.c  */
-#line 850 "giscanner/scannerparser.y"
+#line 856 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_type_new (CTYPE_VOID);
          }
     break;
 
-  case 107:
+  case 108:
 /* Line 1792 of yacc.c  */
-#line 854 "giscanner/scannerparser.y"
+#line 860 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("char");
          }
     break;
 
-  case 108:
+  case 109:
 /* Line 1792 of yacc.c  */
-#line 858 "giscanner/scannerparser.y"
+#line 864 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("short");
          }
     break;
 
-  case 109:
+  case 110:
 /* Line 1792 of yacc.c  */
-#line 862 "giscanner/scannerparser.y"
+#line 868 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("int");
          }
     break;
 
-  case 110:
+  case 111:
 /* Line 1792 of yacc.c  */
-#line 866 "giscanner/scannerparser.y"
+#line 872 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("long");
          }
     break;
 
-  case 111:
+  case 112:
 /* Line 1792 of yacc.c  */
-#line 870 "giscanner/scannerparser.y"
+#line 876 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("float");
          }
     break;
 
-  case 112:
+  case 113:
 /* Line 1792 of yacc.c  */
-#line 874 "giscanner/scannerparser.y"
+#line 880 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("double");
          }
     break;
 
-  case 113:
+  case 114:
 /* Line 1792 of yacc.c  */
-#line 878 "giscanner/scannerparser.y"
+#line 884 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("signed");
          }
     break;
 
-  case 114:
+  case 115:
 /* Line 1792 of yacc.c  */
-#line 882 "giscanner/scannerparser.y"
+#line 888 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("unsigned");
          }
     break;
 
-  case 115:
+  case 116:
 /* Line 1792 of yacc.c  */
-#line 886 "giscanner/scannerparser.y"
+#line 892 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_basic_type_new ("bool");
          }
     break;
 
-  case 118:
+  case 119:
 /* Line 1792 of yacc.c  */
-#line 892 "giscanner/scannerparser.y"
+#line 898 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_typedef_new ((yyvsp[(1) - (1)].str));
                g_free ((yyvsp[(1) - (1)].str));
          }
     break;
 
-  case 119:
+  case 120:
 /* Line 1792 of yacc.c  */
-#line 900 "giscanner/scannerparser.y"
+#line 906 "giscanner/scannerparser.y"
     {
                GISourceSymbol *sym;
                (yyval.ctype) = (yyvsp[(1) - (5)].ctype);
@@ -3356,53 +3408,53 @@ yyreduce:
          }
     break;
 
-  case 120:
+  case 121:
 /* Line 1792 of yacc.c  */
-#line 920 "giscanner/scannerparser.y"
+#line 926 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (4)].ctype);
                (yyval.ctype)->child_list = (yyvsp[(3) - (4)].list);
          }
     break;
 
-  case 121:
+  case 122:
 /* Line 1792 of yacc.c  */
-#line 925 "giscanner/scannerparser.y"
+#line 931 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
                (yyval.ctype)->name = (yyvsp[(2) - (2)].str);
          }
     break;
 
-  case 122:
+  case 123:
 /* Line 1792 of yacc.c  */
-#line 933 "giscanner/scannerparser.y"
+#line 939 "giscanner/scannerparser.y"
     {
                 scanner->private = FALSE;
                (yyval.ctype) = gi_source_struct_new (NULL);
          }
     break;
 
-  case 123:
+  case 124:
 /* Line 1792 of yacc.c  */
-#line 938 "giscanner/scannerparser.y"
+#line 944 "giscanner/scannerparser.y"
     {
                 scanner->private = FALSE;
                (yyval.ctype) = gi_source_union_new (NULL);
          }
     break;
 
-  case 125:
+  case 126:
 /* Line 1792 of yacc.c  */
-#line 947 "giscanner/scannerparser.y"
+#line 953 "giscanner/scannerparser.y"
     {
                (yyval.list) = g_list_concat ((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list));
          }
     break;
 
-  case 126:
+  case 127:
 /* Line 1792 of yacc.c  */
-#line 954 "giscanner/scannerparser.y"
+#line 960 "giscanner/scannerparser.y"
     {
            GList *l;
            (yyval.list) = NULL;
@@ -3421,68 +3473,68 @@ yyreduce:
          }
     break;
 
-  case 127:
+  case 128:
 /* Line 1792 of yacc.c  */
-#line 974 "giscanner/scannerparser.y"
+#line 980 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(1) - (2)].ctype);
                (yyval.ctype)->base_type = (yyvsp[(2) - (2)].ctype);
          }
     break;
 
-  case 129:
+  case 130:
 /* Line 1792 of yacc.c  */
-#line 980 "giscanner/scannerparser.y"
+#line 986 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = (yyvsp[(2) - (2)].ctype);
                (yyval.ctype)->type_qualifier |= (yyvsp[(1) - (2)].type_qualifier);
          }
     break;
 
-  case 130:
+  case 131:
 /* Line 1792 of yacc.c  */
-#line 985 "giscanner/scannerparser.y"
+#line 991 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_type_new (CTYPE_INVALID);
                (yyval.ctype)->type_qualifier |= (yyvsp[(1) - (1)].type_qualifier);
          }
     break;
 
-  case 131:
+  case 132:
 /* Line 1792 of yacc.c  */
-#line 993 "giscanner/scannerparser.y"
+#line 999 "giscanner/scannerparser.y"
     {
                (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
          }
     break;
 
-  case 132:
+  case 133:
 /* Line 1792 of yacc.c  */
-#line 997 "giscanner/scannerparser.y"
+#line 1003 "giscanner/scannerparser.y"
     {
                (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
          }
     break;
 
-  case 133:
+  case 134:
 /* Line 1792 of yacc.c  */
-#line 1004 "giscanner/scannerparser.y"
+#line 1010 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
     break;
 
-  case 135:
+  case 136:
 /* Line 1792 of yacc.c  */
-#line 1009 "giscanner/scannerparser.y"
+#line 1015 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
          }
     break;
 
-  case 136:
+  case 137:
 /* Line 1792 of yacc.c  */
-#line 1013 "giscanner/scannerparser.y"
+#line 1019 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
                if ((yyvsp[(3) - (3)].symbol)->const_int_set) {
@@ -3492,9 +3544,9 @@ yyreduce:
          }
     break;
 
-  case 137:
+  case 138:
 /* Line 1792 of yacc.c  */
-#line 1024 "giscanner/scannerparser.y"
+#line 1030 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_enum_new ((yyvsp[(2) - (5)].str));
                (yyval.ctype)->child_list = (yyvsp[(4) - (5)].list);
@@ -3503,9 +3555,9 @@ yyreduce:
          }
     break;
 
-  case 138:
+  case 139:
 /* Line 1792 of yacc.c  */
-#line 1031 "giscanner/scannerparser.y"
+#line 1037 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_enum_new (NULL);
                (yyval.ctype)->child_list = (yyvsp[(3) - (4)].list);
@@ -3514,9 +3566,9 @@ yyreduce:
          }
     break;
 
-  case 139:
+  case 140:
 /* Line 1792 of yacc.c  */
-#line 1038 "giscanner/scannerparser.y"
+#line 1044 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_enum_new ((yyvsp[(2) - (6)].str));
                (yyval.ctype)->child_list = (yyvsp[(4) - (6)].list);
@@ -3525,9 +3577,9 @@ yyreduce:
          }
     break;
 
-  case 140:
+  case 141:
 /* Line 1792 of yacc.c  */
-#line 1045 "giscanner/scannerparser.y"
+#line 1051 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_enum_new (NULL);
                (yyval.ctype)->child_list = (yyvsp[(3) - (5)].list);
@@ -3536,53 +3588,53 @@ yyreduce:
          }
     break;
 
-  case 141:
+  case 142:
 /* Line 1792 of yacc.c  */
-#line 1052 "giscanner/scannerparser.y"
+#line 1058 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_enum_new ((yyvsp[(2) - (2)].str));
          }
     break;
 
-  case 142:
+  case 143:
 /* Line 1792 of yacc.c  */
-#line 1059 "giscanner/scannerparser.y"
+#line 1065 "giscanner/scannerparser.y"
     {
                 scanner->flags = FALSE;
                 scanner->private = FALSE;
           }
     break;
 
-  case 143:
+  case 144:
 /* Line 1792 of yacc.c  */
-#line 1067 "giscanner/scannerparser.y"
+#line 1073 "giscanner/scannerparser.y"
     {
                /* reset flag before the first enum value */
                is_bitfield = FALSE;
          }
     break;
 
-  case 144:
+  case 145:
 /* Line 1792 of yacc.c  */
-#line 1072 "giscanner/scannerparser.y"
+#line 1078 "giscanner/scannerparser.y"
     {
             (yyvsp[(2) - (2)].symbol)->private = scanner->private;
             (yyval.list) = g_list_append (NULL, (yyvsp[(2) - (2)].symbol));
          }
     break;
 
-  case 145:
+  case 146:
 /* Line 1792 of yacc.c  */
-#line 1077 "giscanner/scannerparser.y"
+#line 1083 "giscanner/scannerparser.y"
     {
             (yyvsp[(3) - (3)].symbol)->private = scanner->private;
             (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
          }
     break;
 
-  case 146:
+  case 147:
 /* Line 1792 of yacc.c  */
-#line 1085 "giscanner/scannerparser.y"
+#line 1091 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_OBJECT, scanner->current_file, lineno);
                (yyval.symbol)->ident = (yyvsp[(1) - (1)].str);
@@ -3592,9 +3644,9 @@ yyreduce:
          }
     break;
 
-  case 147:
+  case 148:
 /* Line 1792 of yacc.c  */
-#line 1093 "giscanner/scannerparser.y"
+#line 1099 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_OBJECT, scanner->current_file, lineno);
                (yyval.symbol)->ident = (yyvsp[(1) - (3)].str);
@@ -3605,93 +3657,93 @@ yyreduce:
          }
     break;
 
-  case 148:
+  case 149:
 /* Line 1792 of yacc.c  */
-#line 1105 "giscanner/scannerparser.y"
+#line 1111 "giscanner/scannerparser.y"
     {
                (yyval.type_qualifier) = TYPE_QUALIFIER_CONST;
          }
     break;
 
-  case 149:
+  case 150:
 /* Line 1792 of yacc.c  */
-#line 1109 "giscanner/scannerparser.y"
+#line 1115 "giscanner/scannerparser.y"
     {
                (yyval.type_qualifier) = TYPE_QUALIFIER_RESTRICT;
          }
     break;
 
-  case 150:
+  case 151:
 /* Line 1792 of yacc.c  */
-#line 1113 "giscanner/scannerparser.y"
+#line 1119 "giscanner/scannerparser.y"
     {
                (yyval.type_qualifier) = TYPE_QUALIFIER_EXTENSION;
          }
     break;
 
-  case 151:
+  case 152:
 /* Line 1792 of yacc.c  */
-#line 1117 "giscanner/scannerparser.y"
+#line 1123 "giscanner/scannerparser.y"
     {
                (yyval.type_qualifier) = TYPE_QUALIFIER_VOLATILE;
          }
     break;
 
-  case 152:
+  case 153:
 /* Line 1792 of yacc.c  */
-#line 1124 "giscanner/scannerparser.y"
+#line 1130 "giscanner/scannerparser.y"
     {
                (yyval.function_specifier) = FUNCTION_INLINE;
          }
     break;
 
-  case 153:
+  case 154:
 /* Line 1792 of yacc.c  */
-#line 1131 "giscanner/scannerparser.y"
+#line 1137 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
                gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (2)].ctype));
          }
     break;
 
-  case 155:
+  case 156:
 /* Line 1792 of yacc.c  */
-#line 1140 "giscanner/scannerparser.y"
+#line 1146 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
                (yyval.symbol)->ident = (yyvsp[(1) - (1)].str);
          }
     break;
 
-  case 156:
+  case 157:
 /* Line 1792 of yacc.c  */
-#line 1145 "giscanner/scannerparser.y"
+#line 1151 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
          }
     break;
 
-  case 157:
+  case 158:
 /* Line 1792 of yacc.c  */
-#line 1149 "giscanner/scannerparser.y"
+#line 1155 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
                gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[(3) - (4)].symbol)));
          }
     break;
 
-  case 158:
+  case 159:
 /* Line 1792 of yacc.c  */
-#line 1154 "giscanner/scannerparser.y"
+#line 1160 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
                gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new (NULL));
          }
     break;
 
-  case 159:
+  case 160:
 /* Line 1792 of yacc.c  */
-#line 1159 "giscanner/scannerparser.y"
+#line 1165 "giscanner/scannerparser.y"
     {
                GISourceType *func = gi_source_function_new ();
                // ignore (void) parameter list
@@ -3703,9 +3755,9 @@ yyreduce:
          }
     break;
 
-  case 160:
+  case 161:
 /* Line 1792 of yacc.c  */
-#line 1169 "giscanner/scannerparser.y"
+#line 1175 "giscanner/scannerparser.y"
     {
                GISourceType *func = gi_source_function_new ();
                func->child_list = (yyvsp[(3) - (4)].list);
@@ -3714,9 +3766,9 @@ yyreduce:
          }
     break;
 
-  case 161:
+  case 162:
 /* Line 1792 of yacc.c  */
-#line 1176 "giscanner/scannerparser.y"
+#line 1182 "giscanner/scannerparser.y"
     {
                GISourceType *func = gi_source_function_new ();
                (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
@@ -3724,26 +3776,26 @@ yyreduce:
          }
     break;
 
-  case 162:
+  case 163:
 /* Line 1792 of yacc.c  */
-#line 1185 "giscanner/scannerparser.y"
+#line 1191 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_pointer_new (NULL);
                (yyval.ctype)->type_qualifier = (yyvsp[(2) - (2)].type_qualifier);
          }
     break;
 
-  case 163:
+  case 164:
 /* Line 1792 of yacc.c  */
-#line 1190 "giscanner/scannerparser.y"
+#line 1196 "giscanner/scannerparser.y"
     {
                (yyval.ctype) = gi_source_pointer_new (NULL);
          }
     break;
 
-  case 164:
+  case 165:
 /* Line 1792 of yacc.c  */
-#line 1194 "giscanner/scannerparser.y"
+#line 1200 "giscanner/scannerparser.y"
     {
                GISourceType **base = &((yyvsp[(3) - (3)].ctype)->base_type);
 
@@ -3756,9 +3808,9 @@ yyreduce:
          }
     break;
 
-  case 165:
+  case 166:
 /* Line 1792 of yacc.c  */
-#line 1205 "giscanner/scannerparser.y"
+#line 1211 "giscanner/scannerparser.y"
     {
                GISourceType **base = &((yyvsp[(2) - (2)].ctype)->base_type);
 
@@ -3770,68 +3822,68 @@ yyreduce:
          }
     break;
 
-  case 167:
+  case 168:
 /* Line 1792 of yacc.c  */
-#line 1219 "giscanner/scannerparser.y"
+#line 1225 "giscanner/scannerparser.y"
     {
                (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier) | (yyvsp[(2) - (2)].type_qualifier);
          }
     break;
 
-  case 168:
+  case 169:
 /* Line 1792 of yacc.c  */
-#line 1226 "giscanner/scannerparser.y"
+#line 1232 "giscanner/scannerparser.y"
     {
                (yyval.list) = g_list_append (NULL, (yyvsp[(1) - (1)].symbol));
          }
     break;
 
-  case 169:
+  case 170:
 /* Line 1792 of yacc.c  */
-#line 1230 "giscanner/scannerparser.y"
+#line 1236 "giscanner/scannerparser.y"
     {
                (yyval.list) = g_list_append ((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].symbol));
          }
     break;
 
-  case 170:
+  case 171:
 /* Line 1792 of yacc.c  */
-#line 1237 "giscanner/scannerparser.y"
+#line 1243 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
                gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (2)].ctype));
          }
     break;
 
-  case 171:
+  case 172:
 /* Line 1792 of yacc.c  */
-#line 1242 "giscanner/scannerparser.y"
+#line 1248 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
                gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (2)].ctype));
          }
     break;
 
-  case 172:
+  case 173:
 /* Line 1792 of yacc.c  */
-#line 1247 "giscanner/scannerparser.y"
+#line 1253 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
                (yyval.symbol)->base_type = (yyvsp[(1) - (1)].ctype);
          }
     break;
 
-  case 173:
+  case 174:
 /* Line 1792 of yacc.c  */
-#line 1252 "giscanner/scannerparser.y"
+#line 1258 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_ELLIPSIS, scanner->current_file, lineno);
          }
     break;
 
-  case 174:
+  case 175:
 /* Line 1792 of yacc.c  */
-#line 1259 "giscanner/scannerparser.y"
+#line 1265 "giscanner/scannerparser.y"
     {
                GISourceSymbol *sym = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
                sym->ident = (yyvsp[(1) - (1)].str);
@@ -3839,9 +3891,9 @@ yyreduce:
          }
     break;
 
-  case 175:
+  case 176:
 /* Line 1792 of yacc.c  */
-#line 1265 "giscanner/scannerparser.y"
+#line 1271 "giscanner/scannerparser.y"
     {
                GISourceSymbol *sym = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
                sym->ident = (yyvsp[(3) - (3)].str);
@@ -3849,71 +3901,71 @@ yyreduce:
          }
     break;
 
-  case 178:
+  case 179:
 /* Line 1792 of yacc.c  */
-#line 1279 "giscanner/scannerparser.y"
+#line 1285 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
                gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (1)].ctype));
          }
     break;
 
-  case 180:
+  case 181:
 /* Line 1792 of yacc.c  */
-#line 1285 "giscanner/scannerparser.y"
+#line 1291 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (2)].symbol);
                gi_source_symbol_merge_type ((yyval.symbol), (yyvsp[(1) - (2)].ctype));
          }
     break;
 
-  case 181:
+  case 182:
 /* Line 1792 of yacc.c  */
-#line 1293 "giscanner/scannerparser.y"
+#line 1299 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(2) - (3)].symbol);
          }
     break;
 
-  case 182:
+  case 183:
 /* Line 1792 of yacc.c  */
-#line 1297 "giscanner/scannerparser.y"
+#line 1303 "giscanner/scannerparser.y"
     {
                (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));
          }
     break;
 
-  case 183:
+  case 184:
 /* Line 1792 of yacc.c  */
-#line 1302 "giscanner/scannerparser.y"
+#line 1308 "giscanner/scannerparser.y"
     {
                (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)));
          }
     break;
 
-  case 184:
+  case 185:
 /* Line 1792 of yacc.c  */
-#line 1307 "giscanner/scannerparser.y"
+#line 1313 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
                gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new (NULL));
          }
     break;
 
-  case 185:
+  case 186:
 /* Line 1792 of yacc.c  */
-#line 1312 "giscanner/scannerparser.y"
+#line 1318 "giscanner/scannerparser.y"
     {
                (yyval.symbol) = (yyvsp[(1) - (4)].symbol);
                gi_source_symbol_merge_type ((yyval.symbol), gi_source_array_new ((yyvsp[(3) - (4)].symbol)));
          }
     break;
 
-  case 186:
+  case 187:
 /* Line 1792 of yacc.c  */
-#line 1317 "giscanner/scannerparser.y"
+#line 1323 "giscanner/scannerparser.y"
     {
                GISourceType *func = gi_source_function_new ();
                (yyval.symbol) = gi_source_symbol_new (CSYMBOL_TYPE_INVALID, scanner->current_file, lineno);
@@ -3921,9 +3973,9 @@ yyreduce:
          }
     break;
 
-  case 187:
+  case 188:
 /* Line 1792 of yacc.c  */
-#line 1323 "giscanner/scannerparser.y"
+#line 1329 "giscanner/scannerparser.y"
     {
                GISourceType *func = gi_source_function_new ();
                // ignore (void) parameter list
@@ -3935,9 +3987,9 @@ yyreduce:
          }
     break;
 
-  case 188:
+  case 189:
 /* Line 1792 of yacc.c  */
-#line 1333 "giscanner/scannerparser.y"
+#line 1339 "giscanner/scannerparser.y"
     {
                GISourceType *func = gi_source_function_new ();
                (yyval.symbol) = (yyvsp[(1) - (3)].symbol);
@@ -3945,9 +3997,9 @@ yyreduce:
          }
     break;
 
-  case 189:
+  case 190:
 /* Line 1792 of yacc.c  */
-#line 1339 "giscanner/scannerparser.y"
+#line 1345 "giscanner/scannerparser.y"
     {
                GISourceType *func = gi_source_function_new ();
                // ignore (void) parameter list
@@ -3959,35 +4011,35 @@ yyreduce:
          }
     break;
 
-  case 190:
+  case 191:
 /* Line 1792 of yacc.c  */
-#line 1352 "giscanner/scannerparser.y"
+#line 1358 "giscanner/scannerparser.y"
     {
                (yyval.str) = g_strdup (yytext);
          }
     break;
 
-  case 240:
+  case 241:
 /* Line 1792 of yacc.c  */
-#line 1459 "giscanner/scannerparser.y"
+#line 1465 "giscanner/scannerparser.y"
     {
                (yyval.str) = g_strdup (yytext + strlen ("#define "));
          }
     break;
 
-  case 241:
+  case 242:
 /* Line 1792 of yacc.c  */
-#line 1466 "giscanner/scannerparser.y"
+#line 1472 "giscanner/scannerparser.y"
     {
                (yyval.str) = g_strdup (yytext + strlen ("#define "));
          }
     break;
 
-  case 243:
+  case 244:
 /* Line 1792 of yacc.c  */
-#line 1477 "giscanner/scannerparser.y"
+#line 1483 "giscanner/scannerparser.y"
     {
-               if ((yyvsp[(2) - (2)].symbol)->const_int_set || (yyvsp[(2) - (2)].symbol)->const_double_set || (yyvsp[(2) - (2)].symbol)->const_string != NULL) {
+               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));
@@ -3995,54 +4047,54 @@ yyreduce:
          }
     break;
 
-  case 244:
+  case 245:
 /* Line 1792 of yacc.c  */
-#line 1488 "giscanner/scannerparser.y"
+#line 1494 "giscanner/scannerparser.y"
     {
                push_conditional (scanner, FOR_GI_SCANNER);
                update_skipping (scanner);
          }
     break;
 
-  case 245:
+  case 246:
 /* Line 1792 of yacc.c  */
-#line 1493 "giscanner/scannerparser.y"
+#line 1499 "giscanner/scannerparser.y"
     {
                push_conditional (scanner, NOT_GI_SCANNER);
                update_skipping (scanner);
          }
     break;
 
-  case 246:
+  case 247:
 /* Line 1792 of yacc.c  */
-#line 1498 "giscanner/scannerparser.y"
+#line 1504 "giscanner/scannerparser.y"
     {
                warn_if_cond_has_gi_scanner (scanner, yytext);
                push_conditional (scanner, IRRELEVANT);
          }
     break;
 
-  case 247:
+  case 248:
 /* Line 1792 of yacc.c  */
-#line 1503 "giscanner/scannerparser.y"
+#line 1509 "giscanner/scannerparser.y"
     {
                warn_if_cond_has_gi_scanner (scanner, yytext);
                push_conditional (scanner, IRRELEVANT);
          }
     break;
 
-  case 248:
+  case 249:
 /* Line 1792 of yacc.c  */
-#line 1508 "giscanner/scannerparser.y"
+#line 1514 "giscanner/scannerparser.y"
     {
                warn_if_cond_has_gi_scanner (scanner, yytext);
                push_conditional (scanner, IRRELEVANT);
          }
     break;
 
-  case 249:
+  case 250:
 /* Line 1792 of yacc.c  */
-#line 1513 "giscanner/scannerparser.y"
+#line 1519 "giscanner/scannerparser.y"
     {
                warn_if_cond_has_gi_scanner (scanner, yytext);
                pop_conditional (scanner);
@@ -4051,18 +4103,18 @@ yyreduce:
          }
     break;
 
-  case 250:
+  case 251:
 /* Line 1792 of yacc.c  */
-#line 1520 "giscanner/scannerparser.y"
+#line 1526 "giscanner/scannerparser.y"
     {
                toggle_conditional (scanner);
                update_skipping (scanner);
          }
     break;
 
-  case 251:
+  case 252:
 /* Line 1792 of yacc.c  */
-#line 1525 "giscanner/scannerparser.y"
+#line 1531 "giscanner/scannerparser.y"
     {
                pop_conditional (scanner);
                update_skipping (scanner);
@@ -4071,7 +4123,7 @@ yyreduce:
 
 
 /* Line 1792 of yacc.c  */
-#line 4075 "scannerparser.c"
+#line 4127 "scannerparser.c"
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -4303,7 +4355,7 @@ yyreturn:
 
 
 /* Line 2055 of yacc.c  */
-#line 1538 "giscanner/scannerparser.y"
+#line 1544 "giscanner/scannerparser.y"
 
 static void
 yyerror (GISourceScanner *scanner, const char *s)
index a177fd4..bb4d360 100644 (file)
@@ -50,78 +50,79 @@ extern int yydebug;
      TYPEDEF_NAME = 259,
      INTEGER = 260,
      FLOATING = 261,
-     CHARACTER = 262,
-     STRING = 263,
-     INTL_CONST = 264,
-     INTUL_CONST = 265,
-     ELLIPSIS = 266,
-     ADDEQ = 267,
-     SUBEQ = 268,
-     MULEQ = 269,
-     DIVEQ = 270,
-     MODEQ = 271,
-     XOREQ = 272,
-     ANDEQ = 273,
-     OREQ = 274,
-     SL = 275,
-     SR = 276,
-     SLEQ = 277,
-     SREQ = 278,
-     EQ = 279,
-     NOTEQ = 280,
-     LTEQ = 281,
-     GTEQ = 282,
-     ANDAND = 283,
-     OROR = 284,
-     PLUSPLUS = 285,
-     MINUSMINUS = 286,
-     ARROW = 287,
-     AUTO = 288,
-     BOOL = 289,
-     BREAK = 290,
-     CASE = 291,
-     CHAR = 292,
-     CONST = 293,
-     CONTINUE = 294,
-     DEFAULT = 295,
-     DO = 296,
-     DOUBLE = 297,
-     ELSE = 298,
-     ENUM = 299,
-     EXTENSION = 300,
-     EXTERN = 301,
-     FLOAT = 302,
-     FOR = 303,
-     GOTO = 304,
-     IF = 305,
-     INLINE = 306,
-     INT = 307,
-     LONG = 308,
-     REGISTER = 309,
-     RESTRICT = 310,
-     RETURN = 311,
-     SHORT = 312,
-     SIGNED = 313,
-     SIZEOF = 314,
-     STATIC = 315,
-     STRUCT = 316,
-     SWITCH = 317,
-     TYPEDEF = 318,
-     UNION = 319,
-     UNSIGNED = 320,
-     VOID = 321,
-     VOLATILE = 322,
-     WHILE = 323,
-     FUNCTION_MACRO = 324,
-     OBJECT_MACRO = 325,
-     IFDEF_GI_SCANNER = 326,
-     IFNDEF_GI_SCANNER = 327,
-     IFDEF_COND = 328,
-     IFNDEF_COND = 329,
-     IF_COND = 330,
-     ELIF_COND = 331,
-     ELSE_COND = 332,
-     ENDIF_COND = 333
+     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.  */
@@ -129,78 +130,79 @@ extern int yydebug;
 #define TYPEDEF_NAME 259
 #define INTEGER 260
 #define FLOATING 261
-#define CHARACTER 262
-#define STRING 263
-#define INTL_CONST 264
-#define INTUL_CONST 265
-#define ELLIPSIS 266
-#define ADDEQ 267
-#define SUBEQ 268
-#define MULEQ 269
-#define DIVEQ 270
-#define MODEQ 271
-#define XOREQ 272
-#define ANDEQ 273
-#define OREQ 274
-#define SL 275
-#define SR 276
-#define SLEQ 277
-#define SREQ 278
-#define EQ 279
-#define NOTEQ 280
-#define LTEQ 281
-#define GTEQ 282
-#define ANDAND 283
-#define OROR 284
-#define PLUSPLUS 285
-#define MINUSMINUS 286
-#define ARROW 287
-#define AUTO 288
-#define BOOL 289
-#define BREAK 290
-#define CASE 291
-#define CHAR 292
-#define CONST 293
-#define CONTINUE 294
-#define DEFAULT 295
-#define DO 296
-#define DOUBLE 297
-#define ELSE 298
-#define ENUM 299
-#define EXTENSION 300
-#define EXTERN 301
-#define FLOAT 302
-#define FOR 303
-#define GOTO 304
-#define IF 305
-#define INLINE 306
-#define INT 307
-#define LONG 308
-#define REGISTER 309
-#define RESTRICT 310
-#define RETURN 311
-#define SHORT 312
-#define SIGNED 313
-#define SIZEOF 314
-#define STATIC 315
-#define STRUCT 316
-#define SWITCH 317
-#define TYPEDEF 318
-#define UNION 319
-#define UNSIGNED 320
-#define VOID 321
-#define VOLATILE 322
-#define WHILE 323
-#define FUNCTION_MACRO 324
-#define OBJECT_MACRO 325
-#define IFDEF_GI_SCANNER 326
-#define IFNDEF_GI_SCANNER 327
-#define IFDEF_COND 328
-#define IFNDEF_COND 329
-#define IF_COND 330
-#define ELIF_COND 331
-#define ELSE_COND 332
-#define ENDIF_COND 333
+#define BOOLEAN 262
+#define CHARACTER 263
+#define STRING 264
+#define INTL_CONST 265
+#define INTUL_CONST 266
+#define ELLIPSIS 267
+#define ADDEQ 268
+#define SUBEQ 269
+#define MULEQ 270
+#define DIVEQ 271
+#define MODEQ 272
+#define XOREQ 273
+#define ANDEQ 274
+#define OREQ 275
+#define SL 276
+#define SR 277
+#define SLEQ 278
+#define SREQ 279
+#define EQ 280
+#define NOTEQ 281
+#define LTEQ 282
+#define GTEQ 283
+#define ANDAND 284
+#define OROR 285
+#define PLUSPLUS 286
+#define MINUSMINUS 287
+#define ARROW 288
+#define AUTO 289
+#define BOOL 290
+#define BREAK 291
+#define CASE 292
+#define CHAR 293
+#define CONST 294
+#define CONTINUE 295
+#define DEFAULT 296
+#define DO 297
+#define DOUBLE 298
+#define ELSE 299
+#define ENUM 300
+#define EXTENSION 301
+#define EXTERN 302
+#define FLOAT 303
+#define FOR 304
+#define GOTO 305
+#define IF 306
+#define INLINE 307
+#define INT 308
+#define LONG 309
+#define REGISTER 310
+#define RESTRICT 311
+#define RETURN 312
+#define SHORT 313
+#define SIGNED 314
+#define SIZEOF 315
+#define STATIC 316
+#define STRUCT 317
+#define SWITCH 318
+#define TYPEDEF 319
+#define UNION 320
+#define UNSIGNED 321
+#define VOID 322
+#define VOLATILE 323
+#define WHILE 324
+#define FUNCTION_MACRO 325
+#define OBJECT_MACRO 326
+#define IFDEF_GI_SCANNER 327
+#define IFNDEF_GI_SCANNER 328
+#define IFDEF_COND 329
+#define IFNDEF_COND 330
+#define IF_COND 331
+#define ELIF_COND 332
+#define ELSE_COND 333
+#define ENDIF_COND 334
 
 
 
@@ -221,7 +223,7 @@ typedef union YYSTYPE
 
 
 /* Line 2058 of yacc.c  */
-#line 225 "scannerparser.h"
+#line 227 "scannerparser.h"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
index 56fc479..26b5910 100644 (file)
@@ -16,17 +16,20 @@ tests_DATA =                    \
     gimarshallingtests.c    \
     gimarshallingtests.h
 
-check_LTLIBRARIES = libeverything-1.0.la libgimarshallingtests-1.0.la
+EXTRA_LTLIBRARIES = libeverything-1.0.la libgimarshallingtests-1.0.la
 
 libeverything_1_0_la_SOURCES = everything.c
 libgimarshallingtests_1_0_la_SOURCES = gimarshallingtests.c
 
-EXTRA_DIST += gimarshallingtests.h
+EXTRA_DIST += \
+       gimarshallingtests.h \
+       gi-tester
 
 BUILT_SOURCES += everything.c everything.h
 
 CLEANFILES += \
     $(BUILT_SOURCES) \
+    $(EXTRA_LTLIBRARIES) \
     everything-stamp.h \
     Everything-1.0.gir \
     Everything-1.0.typelib \
@@ -63,5 +66,5 @@ GIMarshallingTests-1.0.gir: libgimarshallingtests-1.0.la Makefile
 %.typelib: %.gir
        $(AM_V_GEN) $(INTROSPECTION_COMPILER) $(INTROSPECTION_COMPILER_ARGS) $< -o $@
 
-check: Everything-1.0.typelib GIMarshallingTests-1.0.typelib
-
+TESTS=Everything-1.0.typelib GIMarshallingTests-1.0.typelib
+LOG_COMPILER=$(srcdir)/gi-tester
index b95a4ac..ad2fbac 100644 (file)
@@ -87,7 +87,8 @@ 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
+       $(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 \
@@ -199,7 +200,7 @@ am__recursive_targets = \
   $(RECURSIVE_CLEAN_TARGETS) \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-       distdir
+       check recheck distdir
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -219,6 +220,182 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+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)
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
@@ -464,11 +641,11 @@ INTROSPECTION_DOCTOOL_ARGS = \
     --add-include-path=$(top_builddir)
 
 SUBDIRS = . scanner repository offsets warn
-EXTRA_DIST = gimarshallingtests.h
+EXTRA_DIST = gimarshallingtests.h gi-tester
 BUILT_SOURCES = everything.c everything.h
-CLEANFILES = $(BUILT_SOURCES) everything-stamp.h Everything-1.0.gir \
-       Everything-1.0.typelib GIMarshallingTests-1.0.gir \
-       GIMarshallingTests-1.0.typelib
+CLEANFILES = $(BUILT_SOURCES) $(EXTRA_LTLIBRARIES) everything-stamp.h \
+       Everything-1.0.gir Everything-1.0.typelib \
+       GIMarshallingTests-1.0.gir GIMarshallingTests-1.0.typelib
 AM_CFLAGS = $(GOBJECT_CFLAGS)
 LIBADD = $(GOBJECT_LIBS)
 testsdir = $(datadir)/gobject-introspection-1.0/tests
@@ -478,14 +655,16 @@ tests_DATA = \
     gimarshallingtests.c    \
     gimarshallingtests.h
 
-check_LTLIBRARIES = libeverything-1.0.la libgimarshallingtests-1.0.la
+EXTRA_LTLIBRARIES = libeverything-1.0.la libgimarshallingtests-1.0.la
 libeverything_1_0_la_SOURCES = everything.c
 libgimarshallingtests_1_0_la_SOURCES = gimarshallingtests.c
+TESTS = Everything-1.0.typelib GIMarshallingTests-1.0.typelib
+LOG_COMPILER = $(srcdir)/gi-tester
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
+.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/common.mk $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -518,17 +697,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-checkLTLIBRARIES:
-       -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES)
-       @list='$(check_LTLIBRARIES)'; \
-       locs=`for p in $$list; do echo $$p; done | \
-             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-             sort -u`; \
-       test -z "$$locs" || { \
-         echo rm -f $${locs}; \
-         rm -f $${locs}; \
-       }
-
 libeverything-1.0.la: $(libeverything_1_0_la_OBJECTS) $(libeverything_1_0_la_DEPENDENCIES) $(EXTRA_libeverything_1_0_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(LINK)  $(libeverything_1_0_la_OBJECTS) $(libeverything_1_0_la_LIBADD) $(LIBS)
 
@@ -691,6 +859,176 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS:
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all 
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+Everything-1.0.typelib.log: Everything-1.0.typelib
+       @p='Everything-1.0.typelib'; \
+       b='Everything-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+GIMarshallingTests-1.0.typelib.log: GIMarshallingTests-1.0.typelib
+       @p='GIMarshallingTests-1.0.typelib'; \
+       b='GIMarshallingTests-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -747,7 +1085,7 @@ distdir: $(DISTFILES)
          fi; \
        done
 check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES)
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-recursive
 all-am: Makefile $(DATA)
@@ -777,6 +1115,9 @@ install-strip:
            "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
        fi
 mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -791,8 +1132,7 @@ maintainer-clean-generic:
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 clean: clean-recursive
 
-clean-am: clean-checkLTLIBRARIES clean-generic clean-libtool \
-       mostlyclean-am
+clean-am: clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-recursive
        -rm -rf ./$(DEPDIR)
@@ -864,19 +1204,19 @@ uninstall-am: uninstall-testsDATA
        install-strip
 
 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
-       check-am clean clean-checkLTLIBRARIES clean-generic \
-       clean-libtool cscopelist-am ctags ctags-am distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip install-testsDATA installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-am uninstall uninstall-am uninstall-testsDATA
+       check-TESTS check-am clean clean-generic clean-libtool \
+       cscopelist-am ctags ctags-am distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       install-testsDATA installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
+       uninstall uninstall-am uninstall-testsDATA
 
 
 everything-stamp.h: Makefile
@@ -909,8 +1249,6 @@ GIMarshallingTests-1.0.gir: libgimarshallingtests-1.0.la Makefile
 %.typelib: %.gir
        $(AM_V_GEN) $(INTROSPECTION_COMPILER) $(INTROSPECTION_COMPILER_ARGS) $< -o $@
 
-check: Everything-1.0.typelib GIMarshallingTests-1.0.typelib
-
 # 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.
 .NOEXPORT:
diff --git a/tests/gi-tester b/tests/gi-tester
new file mode 100755 (executable)
index 0000000..a7be690
--- /dev/null
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+
+targetname=$1
+
+# Note the target name for the documentation targets (-C, -Python, -Gjs)
+# incorrectly include a relative path to the srcdir, strip that off for usage
+# in directory diffs.
+targetbase=${targetname##*/}
+
+case $targetname in
+*.gir)
+    diff -u -U 10 ${srcdir}/${targetname::-4}-expected.gir ${builddir}/${targetname}
+    exit $?
+    ;;
+*.typelib)
+    # Do nothing for typelibs, this just ensures they build as part of the tests
+    exit 0
+    ;;
+*-C)
+    diff -r -u -w -B -U 10 ${srcdir}/${targetbase}-expected ${builddir}/${targetbase}
+    exit $?
+    ;;
+*-Python)
+    diff -r -u -w -B -U 10 ${srcdir}/${targetbase}-expected ${builddir}/${targetbase}
+    exit $?
+    ;;
+*-Gjs)
+    diff -r -u -w -B -U 10 ${srcdir}/${targetbase}-expected ${builddir}/${targetbase}
+    exit $?
+    ;;
+*-sections.txt)
+    diff -u -w -B -U 10 ${srcdir}/${targetname::-4}-expected.txt ${builddir}/${targetname}
+    exit $?
+    ;;
+*.py)
+    if [[ -z "${TESTARGS}" ]]; then
+        # Run as regular Python file if TESTARGS is empty
+        PYTHONPATH=${top_builddir}:${top_srcdir} ${PYTHON} ${targetname}
+        exit $?
+    else
+        # Run as Python unittest module with TESTARGS concatenated to the basename of target.
+        # Ensure we are in the directory containing the python module first.
+        export PYTHONPATH=$(readlink -f ${top_builddir}):$(readlink -f ${top_srcdir})
+        modulename=$(basename "${targetbase}" .py)
+        (cd $(dirname ${targetname}) &&  ${PYTHON} -m unittest -v "${modulename}.${TESTARGS}")
+        exit $?
+    fi
+    ;;
+*)
+    echo $"Usage: [TESTARGS=<args>] gi-tester <targetname>"
+    exit 1
+    ;;
+esac
index 4f03830..a3ec78b 100644 (file)
@@ -6,12 +6,12 @@ CLEANFILES =
 EXTRA_DIST =
 INTROSPECTION_GIRS =
 
-check_LTLIBRARIES =
-check_PROGRAMS =
+EXTRA_LTLIBRARIES =
+EXTRA_PROGRAMS =
 
 ############################################################
 
-check_LTLIBRARIES += liboffsets.la
+EXTRA_LTLIBRARIES += liboffsets.la
 
 liboffsets_la_SOURCES = \
        offsets.h       \
@@ -28,27 +28,29 @@ Offsets_1_0_gir_FILES = $(srcdir)/offsets.h $(srcdir)/offsets.c
 Offsets_1_0_gir_SCANNERFLAGS = --warn-all --warn-error
 INTROSPECTION_GIRS += Offsets-1.0.gir
 
-CLEANFILES += Offsets-1.0.gir Offsets-1.0.typelib
+CLEANFILES += Offsets-1.0.gir Offsets-1.0.typelib liboffsets.la
 
 ############################################################
 
-check_PROGRAMS += gitestoffsets
+EXTRA_PROGRAMS += gitestoffsets
 
 nodist_gitestoffsets_SOURCES = gitestoffsets.c
 gitestoffsets_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
 gitestoffsets_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
 
-gitestoffsets.c: gen-gitestoffsets offsets.h
+gitestoffsets.c: gen-gitestoffsets offsets.h Offsets-1.0.typelib
        $(AM_V_GEN) $(PYTHON) $(srcdir)/gen-gitestoffsets $(srcdir)/offsets.h > $@ || ( rm -f $@ && false )
 
 EXTRA_DIST += gen-gitestoffsets
 BUILT_SOURCES += gitestoffsets.c
-CLEANFILES += gitestoffsets.c
+CLEANFILES += gitestoffsets.c $(EXTRA_PROGRAMS)
 
 ############################################################
 
-check-local: Offsets-1.0.typelib
-       GI_TYPELIB_PATH=:$(top_builddir) ./gitestoffsets$(EXEEXT) offsets.compiled offsets.introspected
-       diff -u offsets.compiled offsets.introspected
+# The trailing "echo" in TESTS_ENVIRONMENT is used to ignore automake passing
+# gitestoffsets as we already run this in the same command line.
+TESTS = gitestoffsets
+LOG_COMPILER = env GI_TYPELIB_PATH=:$(top_builddir) ./gitestoffsets$(EXEEXT) offsets.compiled offsets.introspected && \
+       diff -u offsets.compiled offsets.introspected && echo
 
 CLEANFILES += offsets.compiled offsets.introspected
index 7e47a42..298905c 100644 (file)
@@ -127,8 +127,10 @@ 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
-check_PROGRAMS = gitestoffsets$(EXEEXT)
+       $(srcdir)/Makefile.am $(top_srcdir)/build-aux/depcomp \
+       $(top_srcdir)/build-aux/test-driver
+EXTRA_PROGRAMS = gitestoffsets$(EXEEXT)
+TESTS = gitestoffsets$(EXEEXT)
 subdir = tests/offsets
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -217,6 +219,210 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+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)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -472,13 +678,14 @@ _gir_silent_compiler = $(_gir_silent_compiler_$(V))
 _gir_silent_compiler_ = $(_gir_silent_compiler_$(_gir_verbosity))
 _gir_silent_compiler_0 = @echo "  GICOMP   $(1)";
 BUILT_SOURCES = gitestoffsets.c
-CLEANFILES = Offsets-1.0.gir Offsets-1.0.typelib gitestoffsets.c \
-       offsets.compiled offsets.introspected
+CLEANFILES = Offsets-1.0.gir Offsets-1.0.typelib liboffsets.la \
+       gitestoffsets.c $(EXTRA_PROGRAMS) offsets.compiled \
+       offsets.introspected
 EXTRA_DIST = gen-gitestoffsets
 INTROSPECTION_GIRS = Offsets-1.0.gir
 
 ############################################################
-check_LTLIBRARIES = liboffsets.la
+EXTRA_LTLIBRARIES = liboffsets.la
 liboffsets_la_SOURCES = \
        offsets.h       \
        offsets.c
@@ -494,11 +701,14 @@ Offsets_1_0_gir_SCANNERFLAGS = --warn-all --warn-error
 nodist_gitestoffsets_SOURCES = gitestoffsets.c
 gitestoffsets_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
 gitestoffsets_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
+LOG_COMPILER = env GI_TYPELIB_PATH=:$(top_builddir) ./gitestoffsets$(EXEEXT) offsets.compiled offsets.introspected && \
+       diff -u offsets.compiled offsets.introspected && echo
+
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
+.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/common.mk $(top_srcdir)/Makefile.introspection $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -531,29 +741,9 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-checkLTLIBRARIES:
-       -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES)
-       @list='$(check_LTLIBRARIES)'; \
-       locs=`for p in $$list; do echo $$p; done | \
-             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-             sort -u`; \
-       test -z "$$locs" || { \
-         echo rm -f $${locs}; \
-         rm -f $${locs}; \
-       }
-
 liboffsets.la: $(liboffsets_la_OBJECTS) $(liboffsets_la_DEPENDENCIES) $(EXTRA_liboffsets_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(liboffsets_la_LINK)  $(liboffsets_la_OBJECTS) $(liboffsets_la_LIBADD) $(LIBS)
 
-clean-checkPROGRAMS:
-       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
 gitestoffsets$(EXEEXT): $(gitestoffsets_OBJECTS) $(gitestoffsets_DEPENDENCIES) $(EXTRA_gitestoffsets_DEPENDENCIES) 
        @rm -f gitestoffsets$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(gitestoffsets_OBJECTS) $(gitestoffsets_LDADD) $(LIBS)
@@ -667,6 +857,169 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS:
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all 
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+gitestoffsets.log: gitestoffsets$(EXEEXT)
+       @p='gitestoffsets$(EXEEXT)'; \
+       b='gitestoffsets'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -698,8 +1051,7 @@ distdir: $(DISTFILES)
          fi; \
        done
 check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS)
-       $(MAKE) $(AM_MAKEFLAGS) check-local
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) check-am
 all-am: Makefile
@@ -725,6 +1077,9 @@ install-strip:
            "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
        fi
 mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -739,8 +1094,7 @@ maintainer-clean-generic:
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 clean: clean-am
 
-clean-am: clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool mostlyclean-am
+clean-am: clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-am
        -rm -rf ./$(DEPDIR)
@@ -810,19 +1164,19 @@ uninstall-am:
 
 .MAKE: all check check-am install install-am install-strip
 
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
-       clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool cscopelist-am ctags ctags-am distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
+       clean-generic clean-libtool cscopelist-am ctags ctags-am \
+       distclean distclean-compile distclean-generic \
+       distclean-libtool distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       recheck tags tags-am uninstall uninstall-am
 
 
 # Make sure the required variables are set, these should under normal
@@ -913,15 +1267,9 @@ endef
 
 Offsets-1.0.gir: liboffsets.la offsets.h
 
-gitestoffsets.c: gen-gitestoffsets offsets.h
+gitestoffsets.c: gen-gitestoffsets offsets.h Offsets-1.0.typelib
        $(AM_V_GEN) $(PYTHON) $(srcdir)/gen-gitestoffsets $(srcdir)/offsets.h > $@ || ( rm -f $@ && false )
 
-############################################################
-
-check-local: Offsets-1.0.typelib
-       GI_TYPELIB_PATH=:$(top_builddir) ./gitestoffsets$(EXEEXT) offsets.compiled offsets.introspected
-       diff -u offsets.compiled offsets.introspected
-
 # 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.
 .NOEXPORT:
index 96afb89..882fa9e 100644 (file)
@@ -2,7 +2,8 @@ AM_CFLAGS = $(GOBJECT_CFLAGS)
 AM_LDFLAGS = -module -avoid-version
 LIBS = $(GOBJECT_LIBS)
 
-check_PROGRAMS = gitestrepo gitestthrows gitypelibtest
+EXTRA_PROGRAMS = gitestrepo gitestthrows gitypelibtest
+CLEANFILES = $(EXTRA_PROGRAMS)
 
 gitestrepo_SOURCES = $(srcdir)/gitestrepo.c
 gitestrepo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
index 30f2454..3884f5e 100644 (file)
@@ -77,7 +77,7 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-check_PROGRAMS = gitestrepo$(EXEEXT) gitestthrows$(EXEEXT) \
+EXTRA_PROGRAMS = gitestrepo$(EXEEXT) gitestthrows$(EXEEXT) \
        gitypelibtest$(EXEEXT)
 TESTS = gitestrepo$(EXEEXT) gitestthrows$(EXEEXT) \
        gitypelibtest$(EXEEXT)
@@ -559,6 +559,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AM_CFLAGS = $(GOBJECT_CFLAGS)
 AM_LDFLAGS = -module -avoid-version
+CLEANFILES = $(EXTRA_PROGRAMS)
 gitestrepo_SOURCES = $(srcdir)/gitestrepo.c
 gitestrepo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
 gitestrepo_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
@@ -609,15 +610,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-checkPROGRAMS:
-       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
 gitestrepo$(EXEEXT): $(gitestrepo_OBJECTS) $(gitestrepo_DEPENDENCIES) $(EXTRA_gitestrepo_DEPENDENCIES) 
        @rm -f gitestrepo$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(gitestrepo_OBJECTS) $(gitestrepo_LDADD) $(LIBS)
@@ -891,7 +883,7 @@ check-TESTS:
        log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
        $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
        exit $$?;
-recheck: all $(check_PROGRAMS)
+recheck: all 
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
        @set +e; $(am__set_TESTS_bases); \
        bases=`for i in $$bases; do echo $$i; done \
@@ -969,7 +961,6 @@ distdir: $(DISTFILES)
          fi; \
        done
 check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
        $(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: check-am
 all-am: Makefile
@@ -999,6 +990,7 @@ mostlyclean-generic:
        -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
+       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
        -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -1009,8 +1001,7 @@ maintainer-clean-generic:
        @echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
-       mostlyclean-am
+clean-am: clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-am
        -rm -rf ./$(DEPDIR)
@@ -1081,8 +1072,8 @@ uninstall-am:
 .MAKE: check-am install-am install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
-       clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
-       ctags ctags-am distclean distclean-compile distclean-generic \
+       clean-generic clean-libtool cscopelist-am ctags ctags-am \
+       distclean distclean-compile distclean-generic \
        distclean-libtool distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-data \
        install-data-am install-dvi install-dvi-am install-exec \
diff --git a/tests/scanner/Headeronly-1.0-expected.gir b/tests/scanner/Headeronly-1.0-expected.gir
new file mode 100644 (file)
index 0000000..179d981
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations.  -->
+<repository version="1.2"
+            xmlns="http://www.gtk.org/introspection/core/1.0"
+            xmlns:c="http://www.gtk.org/introspection/c/1.0"
+            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+  <namespace name="Headeronly"
+             version="1.0"
+             shared-library=""
+             c:identifier-prefixes="Headeronly"
+             c:symbol-prefixes="headeronly">
+    <enumeration name="ExampleEnum" c:type="HeaderonlyExampleEnum">
+      <member name="foo" value="0" c:identifier="HEADERONLY_FOO">
+      </member>
+      <member name="bar" value="1" c:identifier="HEADERONLY_BAR">
+      </member>
+    </enumeration>
+  </namespace>
+</repository>
index a1c0ecf..f697b4b 100644 (file)
@@ -3,16 +3,22 @@ NULL ?=
 include $(top_srcdir)/common.mk
 include $(top_srcdir)/Makefile.introspection
 
+SUBDIRS = . annotationparser
+
 INTROSPECTION_SCANNER_ARGS += --warn-all
 
-check_LTLIBRARIES = \
+CLEANFILES =
+
+EXTRA_LTLIBRARIES = \
        libsletter.la \
        libutility.la \
        libgtkfrob.la \
        libgettype.la \
        libregress.la \
        libwarnlib.la \
+       libtypedefs.la \
        $(NULL)
+CLEANFILES += $(EXTRA_LTLIBRARIES)
 
 AM_CPPFLAGS = -I$(top_srcdir)/girepository
 AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS)
@@ -46,6 +52,7 @@ libwarnlib_la_SOURCES = $(srcdir)/warnlib.c $(srcdir)/warnlib.h
 libwarnlib_la_LIBADD = $(GIO_LIBS)
 libwarnlib_la_LDFLAGS = -export-symbols-regex '^warnlib_' -no-undefined
 libgettype_la_SOURCES = $(srcdir)/gettype.c $(srcdir)/gettype.h
+libtypedefs_la_SOURCES = $(srcdir)/typedefs.c $(srcdir)/typedefs.h
 
 testsdir = $(datadir)/gobject-introspection-1.0/tests
 tests_DATA = $(libregress_la_SOURCES) $(libwarnlib_la_SOURCES) $(libutility_la_SOURCES)
@@ -67,10 +74,10 @@ endif
 # .gir --[scanner]-> .typelib
 GIRS =
 TYPELIBS = $(GIRS:.gir=.typelib)
-CHECKGIRS = $(GIRS:.gir=.gir.check)
+CHECKGIRS = $(GIRS)
 EXPECTEDGIRS = $(GIRS:.gir=-expected.gir)
 INTROSPECTION_GIRS = $(GIRS)
-CLEANFILES = $(TYPELIBS) $(GIRS)
+CLEANFILES += $(TYPELIBS) $(GIRS)
 EXTRA_DIST = $(EXPECTEDGIRS)
 
 SLetter-1.0.gir: $(top_builddir)/Gio-2.0.gir libsletter.la
@@ -125,8 +132,17 @@ GetType_1_0_gir_FILES = $(libgettype_la_SOURCES)
 GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype
 GIRS += GetType-1.0.gir
 
+Typedefs-1.0.gir: libtypedefs.la
+Typedefs_1_0_gir_PACKAGES = gobject-2.0
+Typedefs_1_0_gir_LIBS = libtypedefs.la
+Typedefs_1_0_gir_INCLUDES = GObject-2.0
+Typedefs_1_0_gir_FILES = $(libtypedefs_la_SOURCES)
+Typedefs_1_0_gir_SCANNERFLAGS = --c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs
+GIRS += Typedefs-1.0.gir
+
 if !OS_WIN32
-check_PROGRAMS = barapp
+EXTRA_PROGRAMS = barapp
+CLEANFILES += $(EXTRA_PROGRAMS)
 
 barapp_SOURCES = $(srcdir)/barapp.c $(srcdir)/barapp.h
 barapp_LDADD = $(top_builddir)/libgirepository-1.0.la
@@ -141,20 +157,19 @@ Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed
 GIRS += Bar-1.0.gir
 endif
 
-EXTRA_DIST += headeronly.h
+EXTRA_DIST += \
+       headeronly.h \
+       Headeronly-1.0-expected.gir
 CLEANFILES += Headeronly-1.0.gir
 
 Headeronly-1.0.gir: headeronly.h
        $(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) --warn-all --warn-error --reparse-validate --namespace=Headeronly --nsversion=1.0 --header-only --output=$@ $<
 
-%.gir.check: %.gir
-       @diff -u -U 10 $(srcdir)/$*-expected.gir $*.gir && echo "  TEST  $*.gir"
-
 if BUILD_DOCTOOL
 DOCGIRS = Regress-1.0.gir
-CHECKDOCS = $(DOCGIRS:.gir=-C.page.check) $(DOCGIRS:.gir=-Python.page.check) $(DOCGIRS:.gir=-Gjs.page.check) $(DOCGIRS:.gir=-sections.txt.page.check)
+CHECKDOCS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs) $(DOCGIRS:.gir=-sections.txt)
 MALLARD_DIRS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs)
-MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/*
+MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/* $(DOCGIRS:.gir=-sections.txt)
 EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected)
 CLEANFILES += $(MALLARD_CLEAN)
 
@@ -173,83 +188,21 @@ CLEANFILES += $(MALLARD_CLEAN)
 %-sections.txt: %.gir
        $(AM_V_GEN)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --write-sections-file $*.gir -o $@
 
-%-C.page.check: %-C
-       @diff -r -u -w -B -U 10 $(srcdir)/$*-C-expected $(builddir)/$*-C && echo "  TEST  $*-C"
-
-%-Python.page.check: %-Python
-       @diff -r -u -w -B -U 10 $(srcdir)/$*-Python-expected $(builddir)/$*-Python && echo "  TEST  $*-Python"
-
-%-Gjs.page.check: %-Gjs
-       @diff -r -u -w -B -U 10 $(srcdir)/$*-Gjs-expected $(builddir)/$*-Gjs && echo "  TEST  $*-Gjs"
-
-%-sections.txt.page.check: %-sections.txt
-       @diff -u -w -B -U 10 $(srcdir)/$*-sections-expected.txt $*-sections.txt && echo "  TEST  $*-C"
-
 else
 CHECKDOCS =
 endif
 
-check-local: Headeronly-1.0.gir $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS)
+PYTESTS = \
+       test_sourcescanner.py \
+       test_transformer.py
+
+TESTS = Headeronly-1.0.gir $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS) $(PYTESTS)
+TESTS_ENVIRONMENT = srcdir=$(srcdir) top_srcdir=$(top_srcdir) builddir=$(builddir) top_builddir=$(top_builddir) \
+       PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir)
+LOG_COMPILER = $(top_srcdir)/tests/gi-tester
 
 EXTRA_DIST += \
-       annotationparser/README                                 \
-       annotationparser/test_parser.py                         \
-       annotationparser/test_patterns.py                       \
-       annotationparser/tests.xsd                              \
-       annotationparser/gi/annotation_allow_none.xml           \
-       annotationparser/gi/annotation_array.xml                \
-       annotationparser/gi/annotation_attributes.xml           \
-       annotationparser/gi/annotation_closure.xml              \
-       annotationparser/gi/annotation_constructor.xml          \
-       annotationparser/gi/annotation_destroy.xml              \
-       annotationparser/gi/annotation_element_type.xml         \
-       annotationparser/gi/annotation_foreign.xml              \
-       annotationparser/gi/annotation_get_value_func.xml       \
-       annotationparser/gi/annotation_in.xml                   \
-       annotationparser/gi/annotation_in_out.xml               \
-       annotationparser/gi/annotation_method.xml               \
-       annotationparser/gi/annotation_out.xml                  \
-       annotationparser/gi/annotation_ref_func.xml             \
-       annotationparser/gi/annotation_rename_to.xml            \
-       annotationparser/gi/annotation_scope.xml                \
-       annotationparser/gi/annotation_set_value_func.xml       \
-       annotationparser/gi/annotation_skip.xml                 \
-       annotationparser/gi/annotation_transfer.xml             \
-       annotationparser/gi/annotation_type.xml                 \
-       annotationparser/gi/annotation_unref_func.xml           \
-       annotationparser/gi/annotation_value.xml                \
-       annotationparser/gi/annotation_virtual.xml              \
-       annotationparser/gi/annotations.xml                     \
-       annotationparser/gi/identifier.xml                      \
-       annotationparser/gi/identifier_section.xml              \
-       annotationparser/gi/identifier_symbol.xml               \
-       annotationparser/gi/parameter.xml                       \
-       annotationparser/gi/parameter_varargs.xml               \
-       annotationparser/gi/syntax.xml                          \
-       annotationparser/gi/syntax_indentation.xml              \
-       annotationparser/gi/syntax_multiline_annotations.xml    \
-       annotationparser/gi/syntax_nested_tags.xml              \
-       annotationparser/gi/syntax_paragraph_breaks.xml         \
-       annotationparser/gi/syntax_whitespace.xml               \
-       annotationparser/gi/tag.xml                             \
-       annotationparser/gi/tag_deprecated.xml                  \
-       annotationparser/gi/tag_description.xml                 \
-       annotationparser/gi/tag_returns.xml                     \
-       annotationparser/gi/tag_since.xml                       \
-       annotationparser/gi/tag_stability.xml                   \
-       annotationparser/gtkdoc/gobject/gtypes.h.xml            \
-       annotationparser/gtkdoc/gobject/gtypes.c.xml            \
-       annotationparser/gtkdoc/gobject/giface.h.xml            \
-       annotationparser/gtkdoc/gobject/giface.c.xml            \
-       annotationparser/gtkdoc/fail/tester.h.xml               \
-       annotationparser/gtkdoc/fail/tester.c.xml               \
-       annotationparser/gtkdoc/empty/tester.c.xml              \
-       annotationparser/gtkdoc/bugs/tester.h.xml               \
-       annotationparser/gtkdoc/bugs/tester.c.xml               \
-       annotationparser/gtkdoc/annotations/tester.h.xml        \
-       annotationparser/gtkdoc/annotations/tester.c.xml        \
-       annotationparser/gtkdoc/gobject/gobject.h.xml           \
-       annotationparser/gtkdoc/gobject/gobject.c.xml           \
+       $(PYTESTS) \
        Regress-1.0-C-expected                                  \
        Regress-1.0-Gjs-expected                                \
        Regress-1.0-Python-expected                             \
index 1443842..740913e 100644 (file)
@@ -128,15 +128,19 @@ 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
+       $(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)
 @OS_WIN32_TRUE@am__append_4 = -no-undefined
 @HAVE_CAIRO_TRUE@am__append_5 = cairo-1.0 
-@OS_WIN32_FALSE@check_PROGRAMS = barapp$(EXEEXT)
-@OS_WIN32_FALSE@am__append_6 = Bar-1.0.gir
-@BUILD_DOCTOOL_TRUE@am__append_7 = $(MALLARD_CLEAN)
+@OS_WIN32_FALSE@EXTRA_PROGRAMS = barapp$(EXEEXT)
+@OS_WIN32_FALSE@am__append_6 = $(EXTRA_PROGRAMS)
+@OS_WIN32_FALSE@am__append_7 = Bar-1.0.gir
+@BUILD_DOCTOOL_TRUE@am__append_8 = $(MALLARD_CLEAN)
+TESTS = Headeronly-1.0.gir $(CHECKGIRS) $(am__EXEEXT_5) \
+       $(am__EXEEXT_8) $(PYTESTS)
 subdir = tests/scanner
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
@@ -177,6 +181,9 @@ libsletter_la_OBJECTS = $(am_libsletter_la_OBJECTS)
 libsletter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libsletter_la_CFLAGS) \
        $(CFLAGS) $(libsletter_la_LDFLAGS) $(LDFLAGS) -o $@
+libtypedefs_la_LIBADD =
+am_libtypedefs_la_OBJECTS = typedefs.lo
+libtypedefs_la_OBJECTS = $(am_libtypedefs_la_OBJECTS)
 libutility_la_LIBADD =
 am_libutility_la_OBJECTS = utility.lo
 libutility_la_OBJECTS = $(am_libutility_la_OBJECTS)
@@ -230,12 +237,20 @@ am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
 SOURCES = $(libgettype_la_SOURCES) $(libgtkfrob_la_SOURCES) \
        $(libregress_la_SOURCES) $(libsletter_la_SOURCES) \
-       $(libutility_la_SOURCES) $(libwarnlib_la_SOURCES) \
-       $(barapp_SOURCES)
+       $(libtypedefs_la_SOURCES) $(libutility_la_SOURCES) \
+       $(libwarnlib_la_SOURCES) $(barapp_SOURCES)
 DIST_SOURCES = $(libgettype_la_SOURCES) $(libgtkfrob_la_SOURCES) \
        $(libregress_la_SOURCES) $(libsletter_la_SOURCES) \
-       $(libutility_la_SOURCES) $(libwarnlib_la_SOURCES) \
-       $(am__barapp_SOURCES_DIST)
+       $(libtypedefs_la_SOURCES) $(libutility_la_SOURCES) \
+       $(libwarnlib_la_SOURCES) $(am__barapp_SOURCES_DIST)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+       install-exec-recursive install-html-recursive \
+       install-info-recursive install-pdf-recursive \
+       install-ps-recursive install-recursive installcheck-recursive \
+       installdirs-recursive pdf-recursive ps-recursive \
+       tags-recursive uninstall-recursive
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -270,6 +285,14 @@ am__uninstall_files_from_dir = { \
   }
 am__installdirs = "$(DESTDIR)$(testsdir)"
 DATA = $(tests_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+       check recheck distdir
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -289,7 +312,220 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+@BUILD_DOCTOOL_TRUE@am__EXEEXT_1 = Regress-1.0-C
+@BUILD_DOCTOOL_TRUE@am__EXEEXT_2 = Regress-1.0-Python
+@BUILD_DOCTOOL_TRUE@am__EXEEXT_3 = Regress-1.0-Gjs
+@BUILD_DOCTOOL_TRUE@am__EXEEXT_4 = Regress-1.0-sections.txt
+@BUILD_DOCTOOL_TRUE@am__EXEEXT_5 = $(am__EXEEXT_1) $(am__EXEEXT_2) \
+@BUILD_DOCTOOL_TRUE@   $(am__EXEEXT_3) $(am__EXEEXT_4)
+@OS_WIN32_FALSE@am__EXEEXT_6 = Bar-1.0.typelib
+am__EXEEXT_7 = SLetter-1.0.typelib Regress-1.0.typelib \
+       WarnLib-1.0.typelib Utility-1.0.typelib GtkFrob-1.0.typelib \
+       GetType-1.0.typelib Typedefs-1.0.typelib $(am__EXEEXT_6)
+am__EXEEXT_8 = $(am__EXEEXT_7)
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+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)
+DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
@@ -540,13 +776,17 @@ _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)";
-check_LTLIBRARIES = \
+SUBDIRS = . annotationparser
+CLEANFILES = $(EXTRA_LTLIBRARIES) $(TYPELIBS) $(GIRS) $(am__append_6) \
+       Headeronly-1.0.gir $(am__append_8)
+EXTRA_LTLIBRARIES = \
        libsletter.la \
        libutility.la \
        libgtkfrob.la \
        libgettype.la \
        libregress.la \
        libwarnlib.la \
+       libtypedefs.la \
        $(NULL)
 
 AM_CPPFLAGS = -I$(top_srcdir)/girepository
@@ -576,6 +816,7 @@ libwarnlib_la_SOURCES = $(srcdir)/warnlib.c $(srcdir)/warnlib.h
 libwarnlib_la_LIBADD = $(GIO_LIBS)
 libwarnlib_la_LDFLAGS = -export-symbols-regex '^warnlib_' -no-undefined
 libgettype_la_SOURCES = $(srcdir)/gettype.c $(srcdir)/gettype.h
+libtypedefs_la_SOURCES = $(srcdir)/typedefs.c $(srcdir)/typedefs.h
 testsdir = $(datadir)/gobject-introspection-1.0/tests
 tests_DATA = $(libregress_la_SOURCES) $(libwarnlib_la_SOURCES) $(libutility_la_SOURCES)
 libregress_la_CFLAGS = $(AM_CFLAGS) $(am__append_3)
@@ -583,70 +824,14 @@ libregress_la_LDFLAGS = $(AM_LDFLAGS)
 
 # .gir --[scanner]-> .typelib
 GIRS = SLetter-1.0.gir Regress-1.0.gir WarnLib-1.0.gir Utility-1.0.gir \
-       GtkFrob-1.0.gir GetType-1.0.gir $(am__append_6)
+       GtkFrob-1.0.gir GetType-1.0.gir Typedefs-1.0.gir \
+       $(am__append_7)
 TYPELIBS = $(GIRS:.gir=.typelib)
-CHECKGIRS = $(GIRS:.gir=.gir.check)
+CHECKGIRS = $(GIRS)
 EXPECTEDGIRS = $(GIRS:.gir=-expected.gir)
 INTROSPECTION_GIRS = $(GIRS)
-CLEANFILES = $(TYPELIBS) $(GIRS) Headeronly-1.0.gir $(am__append_7)
-EXTRA_DIST = $(EXPECTEDGIRS) headeronly.h annotationparser/README \
-       annotationparser/test_parser.py \
-       annotationparser/test_patterns.py annotationparser/tests.xsd \
-       annotationparser/gi/annotation_allow_none.xml \
-       annotationparser/gi/annotation_array.xml \
-       annotationparser/gi/annotation_attributes.xml \
-       annotationparser/gi/annotation_closure.xml \
-       annotationparser/gi/annotation_constructor.xml \
-       annotationparser/gi/annotation_destroy.xml \
-       annotationparser/gi/annotation_element_type.xml \
-       annotationparser/gi/annotation_foreign.xml \
-       annotationparser/gi/annotation_get_value_func.xml \
-       annotationparser/gi/annotation_in.xml \
-       annotationparser/gi/annotation_in_out.xml \
-       annotationparser/gi/annotation_method.xml \
-       annotationparser/gi/annotation_out.xml \
-       annotationparser/gi/annotation_ref_func.xml \
-       annotationparser/gi/annotation_rename_to.xml \
-       annotationparser/gi/annotation_scope.xml \
-       annotationparser/gi/annotation_set_value_func.xml \
-       annotationparser/gi/annotation_skip.xml \
-       annotationparser/gi/annotation_transfer.xml \
-       annotationparser/gi/annotation_type.xml \
-       annotationparser/gi/annotation_unref_func.xml \
-       annotationparser/gi/annotation_value.xml \
-       annotationparser/gi/annotation_virtual.xml \
-       annotationparser/gi/annotations.xml \
-       annotationparser/gi/identifier.xml \
-       annotationparser/gi/identifier_section.xml \
-       annotationparser/gi/identifier_symbol.xml \
-       annotationparser/gi/parameter.xml \
-       annotationparser/gi/parameter_varargs.xml \
-       annotationparser/gi/syntax.xml \
-       annotationparser/gi/syntax_indentation.xml \
-       annotationparser/gi/syntax_multiline_annotations.xml \
-       annotationparser/gi/syntax_nested_tags.xml \
-       annotationparser/gi/syntax_paragraph_breaks.xml \
-       annotationparser/gi/syntax_whitespace.xml \
-       annotationparser/gi/tag.xml \
-       annotationparser/gi/tag_deprecated.xml \
-       annotationparser/gi/tag_description.xml \
-       annotationparser/gi/tag_returns.xml \
-       annotationparser/gi/tag_since.xml \
-       annotationparser/gi/tag_stability.xml \
-       annotationparser/gtkdoc/gobject/gtypes.h.xml \
-       annotationparser/gtkdoc/gobject/gtypes.c.xml \
-       annotationparser/gtkdoc/gobject/giface.h.xml \
-       annotationparser/gtkdoc/gobject/giface.c.xml \
-       annotationparser/gtkdoc/fail/tester.h.xml \
-       annotationparser/gtkdoc/fail/tester.c.xml \
-       annotationparser/gtkdoc/empty/tester.c.xml \
-       annotationparser/gtkdoc/bugs/tester.h.xml \
-       annotationparser/gtkdoc/bugs/tester.c.xml \
-       annotationparser/gtkdoc/annotations/tester.h.xml \
-       annotationparser/gtkdoc/annotations/tester.c.xml \
-       annotationparser/gtkdoc/gobject/gobject.h.xml \
-       annotationparser/gtkdoc/gobject/gobject.c.xml \
-       Regress-1.0-C-expected Regress-1.0-Gjs-expected \
+EXTRA_DIST = $(EXPECTEDGIRS) headeronly.h Headeronly-1.0-expected.gir \
+       $(PYTESTS) Regress-1.0-C-expected Regress-1.0-Gjs-expected \
        Regress-1.0-Python-expected Regress-1.0-sections-expected.txt \
        $(NULL)
 SLetter_1_0_gir_LIBS = libsletter.la
@@ -677,6 +862,11 @@ GetType_1_0_gir_LIBS = libgettype.la
 GetType_1_0_gir_INCLUDES = GObject-2.0
 GetType_1_0_gir_FILES = $(libgettype_la_SOURCES)
 GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype
+Typedefs_1_0_gir_PACKAGES = gobject-2.0
+Typedefs_1_0_gir_LIBS = libtypedefs.la
+Typedefs_1_0_gir_INCLUDES = GObject-2.0
+Typedefs_1_0_gir_FILES = $(libtypedefs_la_SOURCES)
+Typedefs_1_0_gir_SCANNERFLAGS = --c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs
 @OS_WIN32_FALSE@barapp_SOURCES = $(srcdir)/barapp.c $(srcdir)/barapp.h
 @OS_WIN32_FALSE@barapp_LDADD = $(top_builddir)/libgirepository-1.0.la
 @OS_WIN32_FALSE@barapp_LDFLAGS = -export-dynamic
@@ -687,14 +877,22 @@ GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetTy
 @OS_WIN32_FALSE@Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed
 @BUILD_DOCTOOL_TRUE@DOCGIRS = Regress-1.0.gir
 @BUILD_DOCTOOL_FALSE@CHECKDOCS = 
-@BUILD_DOCTOOL_TRUE@CHECKDOCS = $(DOCGIRS:.gir=-C.page.check) $(DOCGIRS:.gir=-Python.page.check) $(DOCGIRS:.gir=-Gjs.page.check) $(DOCGIRS:.gir=-sections.txt.page.check)
+@BUILD_DOCTOOL_TRUE@CHECKDOCS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs) $(DOCGIRS:.gir=-sections.txt)
 @BUILD_DOCTOOL_TRUE@MALLARD_DIRS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs)
-@BUILD_DOCTOOL_TRUE@MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/*
+@BUILD_DOCTOOL_TRUE@MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/* $(DOCGIRS:.gir=-sections.txt)
 @BUILD_DOCTOOL_TRUE@EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected)
-all: all-am
+PYTESTS = \
+       test_sourcescanner.py \
+       test_transformer.py
+
+TESTS_ENVIRONMENT = srcdir=$(srcdir) top_srcdir=$(top_srcdir) builddir=$(builddir) top_builddir=$(top_builddir) \
+       PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir)
+
+LOG_COMPILER = $(top_srcdir)/tests/gi-tester
+all: all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
+.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/common.mk $(top_srcdir)/Makefile.introspection $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
@@ -727,17 +925,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
-clean-checkLTLIBRARIES:
-       -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES)
-       @list='$(check_LTLIBRARIES)'; \
-       locs=`for p in $$list; do echo $$p; done | \
-             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-             sort -u`; \
-       test -z "$$locs" || { \
-         echo rm -f $${locs}; \
-         rm -f $${locs}; \
-       }
-
 libgettype.la: $(libgettype_la_OBJECTS) $(libgettype_la_DEPENDENCIES) $(EXTRA_libgettype_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(LINK)  $(libgettype_la_OBJECTS) $(libgettype_la_LIBADD) $(LIBS)
 
@@ -750,21 +937,15 @@ libregress.la: $(libregress_la_OBJECTS) $(libregress_la_DEPENDENCIES) $(EXTRA_li
 libsletter.la: $(libsletter_la_OBJECTS) $(libsletter_la_DEPENDENCIES) $(EXTRA_libsletter_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(libsletter_la_LINK)  $(libsletter_la_OBJECTS) $(libsletter_la_LIBADD) $(LIBS)
 
+libtypedefs.la: $(libtypedefs_la_OBJECTS) $(libtypedefs_la_DEPENDENCIES) $(EXTRA_libtypedefs_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(LINK)  $(libtypedefs_la_OBJECTS) $(libtypedefs_la_LIBADD) $(LIBS)
+
 libutility.la: $(libutility_la_OBJECTS) $(libutility_la_DEPENDENCIES) $(EXTRA_libutility_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(LINK)  $(libutility_la_OBJECTS) $(libutility_la_LIBADD) $(LIBS)
 
 libwarnlib.la: $(libwarnlib_la_OBJECTS) $(libwarnlib_la_DEPENDENCIES) $(EXTRA_libwarnlib_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(libwarnlib_la_LINK)  $(libwarnlib_la_OBJECTS) $(libwarnlib_la_LIBADD) $(LIBS)
 
-clean-checkPROGRAMS:
-       @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
 barapp$(EXEEXT): $(barapp_OBJECTS) $(barapp_DEPENDENCIES) $(EXTRA_barapp_DEPENDENCIES) 
        @rm -f barapp$(EXEEXT)
        $(AM_V_CCLD)$(barapp_LINK) $(barapp_OBJECTS) $(barapp_LDADD) $(LIBS)
@@ -784,6 +965,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libregress_la-regress.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsletter_la-sletter.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwarnlib_la-warnlib.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/typedefs.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utility.Plo@am__quote@
 
 .c.o:
@@ -856,6 +1038,13 @@ libsletter_la-sletter.lo: $(srcdir)/sletter.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsletter_la_CFLAGS) $(CFLAGS) -c -o libsletter_la-sletter.lo `test -f '$(srcdir)/sletter.c' || echo '$(srcdir)/'`$(srcdir)/sletter.c
 
+typedefs.lo: $(srcdir)/typedefs.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT typedefs.lo -MD -MP -MF $(DEPDIR)/typedefs.Tpo -c -o typedefs.lo `test -f '$(srcdir)/typedefs.c' || echo '$(srcdir)/'`$(srcdir)/typedefs.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/typedefs.Tpo $(DEPDIR)/typedefs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$(srcdir)/typedefs.c' object='typedefs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o typedefs.lo `test -f '$(srcdir)/typedefs.c' || echo '$(srcdir)/'`$(srcdir)/typedefs.c
+
 utility.lo: $(srcdir)/utility.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utility.lo -MD -MP -MF $(DEPDIR)/utility.Tpo -c -o utility.lo `test -f '$(srcdir)/utility.c' || echo '$(srcdir)/'`$(srcdir)/utility.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/utility.Tpo $(DEPDIR)/utility.Plo
@@ -911,14 +1100,61 @@ uninstall-testsDATA:
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(testsdir)'; $(am__uninstall_files_from_dir)
 
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+       @fail=; \
+       if $(am__make_keepgoing); then \
+         failcom='fail=yes'; \
+       else \
+         failcom='exit 1'; \
+       fi; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
 ID: $(am__tagged_files)
        $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
+tags: tags-recursive
 TAGS: tags
 
 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
        set x; \
        here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
        $(am__define_uniq_tagged_files); \
        shift; \
        if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
@@ -931,7 +1167,7 @@ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
              $$unique; \
          fi; \
        fi
-ctags: ctags-am
+ctags: ctags-recursive
 
 CTAGS: ctags
 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
@@ -944,7 +1180,7 @@ GTAGS:
        here=`$(am__cd) $(top_builddir) && pwd` \
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
+cscopelist: cscopelist-recursive
 
 cscopelist-am: $(am__tagged_files)
        list='$(am__tagged_files)'; \
@@ -963,6 +1199,323 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS:
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all 
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+Headeronly-1.0.gir.log: Headeronly-1.0.gir
+       @p='Headeronly-1.0.gir'; \
+       b='Headeronly-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+SLetter-1.0.gir.log: SLetter-1.0.gir
+       @p='SLetter-1.0.gir'; \
+       b='SLetter-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Regress-1.0.gir.log: Regress-1.0.gir
+       @p='Regress-1.0.gir'; \
+       b='Regress-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+WarnLib-1.0.gir.log: WarnLib-1.0.gir
+       @p='WarnLib-1.0.gir'; \
+       b='WarnLib-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Utility-1.0.gir.log: Utility-1.0.gir
+       @p='Utility-1.0.gir'; \
+       b='Utility-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+GtkFrob-1.0.gir.log: GtkFrob-1.0.gir
+       @p='GtkFrob-1.0.gir'; \
+       b='GtkFrob-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+GetType-1.0.gir.log: GetType-1.0.gir
+       @p='GetType-1.0.gir'; \
+       b='GetType-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Typedefs-1.0.gir.log: Typedefs-1.0.gir
+       @p='Typedefs-1.0.gir'; \
+       b='Typedefs-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Bar-1.0.gir.log: Bar-1.0.gir
+       @p='Bar-1.0.gir'; \
+       b='Bar-1.0.gir'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Regress-1.0-C.log: Regress-1.0-C
+       @p='Regress-1.0-C'; \
+       b='Regress-1.0-C'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Regress-1.0-Python.log: Regress-1.0-Python
+       @p='Regress-1.0-Python'; \
+       b='Regress-1.0-Python'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Regress-1.0-Gjs.log: Regress-1.0-Gjs
+       @p='Regress-1.0-Gjs'; \
+       b='Regress-1.0-Gjs'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Regress-1.0-sections.txt.log: Regress-1.0-sections.txt
+       @p='Regress-1.0-sections.txt'; \
+       b='Regress-1.0-sections.txt'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+SLetter-1.0.typelib.log: SLetter-1.0.typelib
+       @p='SLetter-1.0.typelib'; \
+       b='SLetter-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Regress-1.0.typelib.log: Regress-1.0.typelib
+       @p='Regress-1.0.typelib'; \
+       b='Regress-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+WarnLib-1.0.typelib.log: WarnLib-1.0.typelib
+       @p='WarnLib-1.0.typelib'; \
+       b='WarnLib-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Utility-1.0.typelib.log: Utility-1.0.typelib
+       @p='Utility-1.0.typelib'; \
+       b='Utility-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+GtkFrob-1.0.typelib.log: GtkFrob-1.0.typelib
+       @p='GtkFrob-1.0.typelib'; \
+       b='GtkFrob-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+GetType-1.0.typelib.log: GetType-1.0.typelib
+       @p='GetType-1.0.typelib'; \
+       b='GetType-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Typedefs-1.0.typelib.log: Typedefs-1.0.typelib
+       @p='Typedefs-1.0.typelib'; \
+       b='Typedefs-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+Bar-1.0.typelib.log: Bar-1.0.typelib
+       @p='Bar-1.0.typelib'; \
+       b='Bar-1.0.typelib'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test_sourcescanner.py.log: test_sourcescanner.py
+       @p='test_sourcescanner.py'; \
+       b='test_sourcescanner.py'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test_transformer.py.log: test_transformer.py
+       @p='test_transformer.py'; \
+       b='test_transformer.py'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -993,24 +1546,49 @@ distdir: $(DISTFILES)
            || exit 1; \
          fi; \
        done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
 check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS)
-       $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-am
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-recursive
 all-am: Makefile $(DATA)
-installdirs:
+installdirs: installdirs-recursive
+installdirs-am:
        for dir in "$(DESTDIR)$(testsdir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
 
 install-am: all-am
        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 
-installcheck: installcheck-am
+installcheck: installcheck-recursive
 install-strip:
        if test -z '$(STRIP)'; then \
          $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
@@ -1022,6 +1600,9 @@ install-strip:
            "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
        fi
 mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
        -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -1033,93 +1614,92 @@ distclean-generic:
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
+clean: clean-recursive
 
-clean-am: clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool mostlyclean-am
+clean-am: clean-generic clean-libtool mostlyclean-am
 
-distclean: distclean-am
+distclean: distclean-recursive
        -rm -rf ./$(DEPDIR)
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
 
-dvi: dvi-am
+dvi: dvi-recursive
 
 dvi-am:
 
-html: html-am
+html: html-recursive
 
 html-am:
 
-info: info-am
+info: info-recursive
 
 info-am:
 
 install-data-am: install-testsDATA
 
-install-dvi: install-dvi-am
+install-dvi: install-dvi-recursive
 
 install-dvi-am:
 
 install-exec-am:
 
-install-html: install-html-am
+install-html: install-html-recursive
 
 install-html-am:
 
-install-info: install-info-am
+install-info: install-info-recursive
 
 install-info-am:
 
 install-man:
 
-install-pdf: install-pdf-am
+install-pdf: install-pdf-recursive
 
 install-pdf-am:
 
-install-ps: install-ps-am
+install-ps: install-ps-recursive
 
 install-ps-am:
 
 installcheck-am:
 
-maintainer-clean: maintainer-clean-am
+maintainer-clean: maintainer-clean-recursive
        -rm -rf ./$(DEPDIR)
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
-mostlyclean: mostlyclean-am
+mostlyclean: mostlyclean-recursive
 
 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
        mostlyclean-libtool
 
-pdf: pdf-am
+pdf: pdf-recursive
 
 pdf-am:
 
-ps: ps-am
+ps: ps-recursive
 
 ps-am:
 
 uninstall-am: uninstall-testsDATA
 
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
-       clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \
-       clean-libtool cscopelist-am ctags ctags-am distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip install-testsDATA installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
+.MAKE: $(am__recursive_targets) check-am install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+       check-TESTS check-am clean clean-generic clean-libtool \
+       cscopelist-am ctags ctags-am distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       install-testsDATA installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
        mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
-       uninstall-am uninstall-testsDATA
+       mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \
+       uninstall uninstall-am uninstall-testsDATA
 
 NULL ?=
 
@@ -1224,14 +1804,13 @@ GtkFrob-1.0.gir: libgtkfrob.la
 # arguments and return GType
 GetType-1.0.gir: libgettype.la
 
+Typedefs-1.0.gir: libtypedefs.la
+
 @OS_WIN32_FALSE@Bar-1.0.gir: barapp
 
 Headeronly-1.0.gir: headeronly.h
        $(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) --warn-all --warn-error --reparse-validate --namespace=Headeronly --nsversion=1.0 --header-only --output=$@ $<
 
-%.gir.check: %.gir
-       @diff -u -U 10 $(srcdir)/$*-expected.gir $*.gir && echo "  TEST  $*.gir"
-
 @BUILD_DOCTOOL_TRUE@%-C: %.gir
 @BUILD_DOCTOOL_TRUE@   $(AM_V_GEN)rm -rf $(builddir)/$*-C
 @BUILD_DOCTOOL_TRUE@   $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language C $*.gir -o $(builddir)/$*-C/
@@ -1247,20 +1826,6 @@ Headeronly-1.0.gir: headeronly.h
 @BUILD_DOCTOOL_TRUE@%-sections.txt: %.gir
 @BUILD_DOCTOOL_TRUE@   $(AM_V_GEN)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --write-sections-file $*.gir -o $@
 
-@BUILD_DOCTOOL_TRUE@%-C.page.check: %-C
-@BUILD_DOCTOOL_TRUE@   @diff -r -u -w -B -U 10 $(srcdir)/$*-C-expected $(builddir)/$*-C && echo "  TEST  $*-C"
-
-@BUILD_DOCTOOL_TRUE@%-Python.page.check: %-Python
-@BUILD_DOCTOOL_TRUE@   @diff -r -u -w -B -U 10 $(srcdir)/$*-Python-expected $(builddir)/$*-Python && echo "  TEST  $*-Python"
-
-@BUILD_DOCTOOL_TRUE@%-Gjs.page.check: %-Gjs
-@BUILD_DOCTOOL_TRUE@   @diff -r -u -w -B -U 10 $(srcdir)/$*-Gjs-expected $(builddir)/$*-Gjs && echo "  TEST  $*-Gjs"
-
-@BUILD_DOCTOOL_TRUE@%-sections.txt.page.check: %-sections.txt
-@BUILD_DOCTOOL_TRUE@   @diff -u -w -B -U 10 $(srcdir)/$*-sections-expected.txt $*-sections.txt && echo "  TEST  $*-C"
-
-check-local: Headeronly-1.0.gir $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS)
-
 # 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.
 .NOEXPORT:
index c6ae224..a565113 100644 (file)
@@ -883,6 +883,9 @@ it says it's pointer but it's actually a string.</doc>
         </array>
       </field>
     </record>
+    <constant name="BOOL_CONSTANT" value="true" c:type="REGRESS_BOOL_CONSTANT">
+      <type name="gboolean" c:type="gboolean"/>
+    </constant>
     <constant name="DOUBLE_CONSTANT"
               value="44.220000"
               c:type="REGRESS_DOUBLE_CONSTANT">
diff --git a/tests/scanner/Typedefs-1.0-expected.gir b/tests/scanner/Typedefs-1.0-expected.gir
new file mode 100644 (file)
index 0000000..9bfd0d0
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations.  -->
+<repository version="1.2"
+            xmlns="http://www.gtk.org/introspection/core/1.0"
+            xmlns:c="http://www.gtk.org/introspection/c/1.0"
+            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+  <include name="GObject" version="2.0"/>
+  <package name="gobject-2.0"/>
+  <c:include name="typedefs.h"/>
+  <namespace name="Typedefs"
+             version="1.0"
+             shared-library="libtypedefs.so"
+             c:identifier-prefixes="Typedefs"
+             c:symbol-prefixes="typedefs">
+    <record name="BoxedWithAnonymousTypedef"
+            c:type="TypedefsBoxedWithAnonymousTypedef"
+            glib:type-name="TypedefsBoxedWithAnonymousTypedef"
+            glib:get-type="typedefs_boxed_with_anonymous_typedef_get_type"
+            c:symbol-prefix="boxed_with_anonymous_typedef">
+      <field name="value" writable="1">
+        <type name="gint" c:type="int"/>
+      </field>
+    </record>
+    <record name="BoxedWithHiddenStruct"
+            c:type="TypedefsBoxedWithHiddenStruct"
+            glib:type-name="TypedefsBoxedWithHiddenStruct"
+            glib:get-type="typedefs_boxed_with_hidden_struct_get_type"
+            c:symbol-prefix="boxed_with_hidden_struct">
+    </record>
+    <record name="BoxedWithTagAndTypedef"
+            c:type="TypedefsBoxedWithTagAndTypedef"
+            glib:type-name="TypedefsBoxedWithTagAndTypedef"
+            glib:get-type="typedefs_boxed_with_tag_and_typedef_get_type"
+            c:symbol-prefix="boxed_with_tag_and_typedef">
+      <field name="value" writable="1">
+        <type name="gint" c:type="int"/>
+      </field>
+    </record>
+    <record name="BoxedWithTypedefAfter"
+            c:type="TypedefsBoxedWithTypedefAfter"
+            glib:type-name="TypedefsBoxedWithTypedefAfter"
+            glib:get-type="typedefs_boxed_with_typedef_after_get_type"
+            c:symbol-prefix="boxed_with_typedef_after">
+      <field name="value" writable="1">
+        <type name="gint" c:type="int"/>
+      </field>
+    </record>
+    <record name="BoxedWithTypedefBefore"
+            c:type="TypedefsBoxedWithTypedefBefore"
+            glib:type-name="TypedefsBoxedWithTypedefBefore"
+            glib:get-type="typedefs_boxed_with_typedef_before_get_type"
+            c:symbol-prefix="boxed_with_typedef_before">
+      <field name="value" writable="1">
+        <type name="gint" c:type="int"/>
+      </field>
+    </record>
+    <record name="StructWithAnonymousTypedef"
+            c:type="TypedefsStructWithAnonymousTypedef">
+      <field name="value" writable="1">
+        <type name="gint" c:type="int"/>
+      </field>
+    </record>
+    <record name="StructWithTagAndTypedef"
+            c:type="TypedefsStructWithTagAndTypedef">
+      <field name="value" writable="1">
+        <type name="gint" c:type="int"/>
+      </field>
+    </record>
+    <record name="StructWithTypedefAfter"
+            c:type="TypedefsStructWithTypedefAfter">
+      <field name="value" writable="1">
+        <type name="gint" c:type="int"/>
+      </field>
+    </record>
+    <record name="StructWithTypedefBefore"
+            c:type="TypedefsStructWithTypedefBefore">
+      <field name="value" writable="1">
+        <type name="gint" c:type="int"/>
+      </field>
+    </record>
+  </namespace>
+</repository>
diff --git a/tests/scanner/annotationparser/Makefile.am b/tests/scanner/annotationparser/Makefile.am
new file mode 100644 (file)
index 0000000..3003df8
--- /dev/null
@@ -0,0 +1,68 @@
+include $(top_srcdir)/common.mk
+
+TESTS = \
+       test_parser.py \
+       test_patterns.py
+
+TESTS_ENVIRONMENT = builddir=$(builddir) top_builddir=$(top_builddir) srcdir=$(srcdir) top_srcdir=$(top_srcdir) \
+       PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir)
+LOG_COMPILER = $(top_srcdir)/tests/gi-tester
+
+EXTRA_DIST = \
+       $(TESTS)                                \
+       README                                  \
+       tests.xsd                               \
+       gi/annotation_allow_none.xml            \
+       gi/annotation_array.xml         \
+       gi/annotation_attributes.xml            \
+       gi/annotation_closure.xml               \
+       gi/annotation_constructor.xml           \
+       gi/annotation_destroy.xml               \
+       gi/annotation_element_type.xml          \
+       gi/annotation_foreign.xml               \
+       gi/annotation_get_value_func.xml        \
+       gi/annotation_in.xml                    \
+       gi/annotation_in_out.xml                \
+       gi/annotation_method.xml                \
+       gi/annotation_out.xml                   \
+       gi/annotation_ref_func.xml              \
+       gi/annotation_rename_to.xml             \
+       gi/annotation_scope.xml         \
+       gi/annotation_set_value_func.xml        \
+       gi/annotation_skip.xml                  \
+       gi/annotation_transfer.xml              \
+       gi/annotation_type.xml                  \
+       gi/annotation_unref_func.xml            \
+       gi/annotation_value.xml         \
+       gi/annotation_virtual.xml               \
+       gi/annotations.xml                      \
+       gi/identifier.xml                       \
+       gi/identifier_section.xml               \
+       gi/identifier_symbol.xml                \
+       gi/parameter.xml                        \
+       gi/parameter_varargs.xml                \
+       gi/syntax.xml                           \
+       gi/syntax_indentation.xml               \
+       gi/syntax_multiline_annotations.xml     \
+       gi/syntax_nested_tags.xml               \
+       gi/syntax_paragraph_breaks.xml          \
+       gi/syntax_whitespace.xml                \
+       gi/tag.xml                              \
+       gi/tag_deprecated.xml                   \
+       gi/tag_description.xml                  \
+       gi/tag_returns.xml                      \
+       gi/tag_since.xml                        \
+       gi/tag_stability.xml                    \
+       gtkdoc/gobject/gtypes.h.xml             \
+       gtkdoc/gobject/gtypes.c.xml             \
+       gtkdoc/gobject/giface.h.xml             \
+       gtkdoc/gobject/giface.c.xml             \
+       gtkdoc/fail/tester.h.xml                \
+       gtkdoc/fail/tester.c.xml                \
+       gtkdoc/empty/tester.c.xml               \
+       gtkdoc/bugs/tester.h.xml                \
+       gtkdoc/bugs/tester.c.xml                \
+       gtkdoc/annotations/tester.h.xml \
+       gtkdoc/annotations/tester.c.xml \
+       gtkdoc/gobject/gobject.h.xml            \
+       gtkdoc/gobject/gobject.c.xml
diff --git a/tests/scanner/annotationparser/Makefile.in b/tests/scanner/annotationparser/Makefile.in
new file mode 100644 (file)
index 0000000..3bb931e
--- /dev/null
@@ -0,0 +1,983 @@
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in 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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- Mode: make -*-
+# Copyright 2009-2010 Johan Dahlin
+#
+# This file defines variables that are compatible with
+# Makefile.introspection, but for use within the gobject-introspection
+# module itself.
+#
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs  ]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+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 \
+       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/python.m4 \
+       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red='\e[0;31m'; \
+    grn='\e[0;32m'; \
+    lgn='\e[1;32m'; \
+    blu='\e[1;34m'; \
+    mgn='\e[0;35m'; \
+    brg='\e[1m'; \
+    std='\e[m'; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[    ]*:recheck:[    ]*
+am__global_test_result_rx = ^[         ]*:global-test-result:[         ]*
+am__copy_in_global_log_rx = ^[         ]*:copy-in-global-log:[         ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+           recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[       ]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);                                     \
+$(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
+srcdir=$(srcdir); export srcdir;                       \
+case "$@" in                                           \
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;   \
+    *) am__odir=.;;                                    \
+esac;                                                  \
+test "x$$am__odir" = x"." || test -d "$$am__odir"      \
+  || $(MKDIR_P) "$$am__odir" || exit $$?;              \
+if test -f "./$$f"; then dir=./;                       \
+elif test -f "$$f"; then dir=;                         \
+else dir="$(srcdir)/"; fi;                             \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
+case " $(XFAIL_TESTS) " in                             \
+  *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+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)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_GIR_PACKAGE = @CAIRO_GIR_PACKAGE@
+CAIRO_LIBS = @CAIRO_LIBS@
+CAIRO_SHARED_LIBRARY = @CAIRO_SHARED_LIBRARY@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXPANDED_BINDIR = @EXPANDED_BINDIR@
+EXPANDED_DATADIR = @EXPANDED_DATADIR@
+EXPANDED_LIBDIR = @EXPANDED_LIBDIR@
+EXPANDED_LIBEXECDIR = @EXPANDED_LIBEXECDIR@
+EXPANDED_LOCALSTATEDIR = @EXPANDED_LOCALSTATEDIR@
+EXPANDED_SYSCONFDIR = @EXPANDED_SYSCONFDIR@
+EXTRA_LINK_FLAGS = @EXTRA_LINK_FLAGS@
+FFI_CFLAGS = @FFI_CFLAGS@
+FFI_LIBS = @FFI_LIBS@
+FFI_PC_CFLAGS = @FFI_PC_CFLAGS@
+FFI_PC_LIBS = @FFI_PC_LIBS@
+FFI_PC_PACKAGES = @FFI_PC_PACKAGES@
+FGREP = @FGREP@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
+GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
+GIREPO_CFLAGS = @GIREPO_CFLAGS@
+GIREPO_LIBS = @GIREPO_LIBS@
+GIR_DIR = @GIR_DIR@
+GIR_SUFFIX = @GIR_SUFFIX@
+GI_VERSION = @GI_VERSION@
+GLIBSRC = @GLIBSRC@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GMODULE_CFLAGS = @GMODULE_CFLAGS@
+GMODULE_LIBS = @GMODULE_LIBS@
+GOBJECT_CFLAGS = @GOBJECT_CFLAGS@
+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@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POW_LIB = @POW_LIB@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+PYTHON_LIBS = @PYTHON_LIBS@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+SCANNER_CFLAGS = @SCANNER_CFLAGS@
+SCANNER_LIBS = @SCANNER_LIBS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+YACC = @YACC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+INTROSPECTION_SCANNER = \
+    env PATH=.libs:$(PATH) \
+        LPATH=.libs \
+        CC="$(CC)" \
+        PYTHONPATH=$(top_builddir):$(top_srcdir) \
+        UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
+        UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
+        $(top_builddir)/g-ir-scanner
+
+INTROSPECTION_SCANNER_ARGS = \
+    --verbose \
+    -I$(top_srcdir) \
+    --add-include-path=$(srcdir) \
+    --add-include-path=$(top_srcdir)/gir \
+    --add-include-path=$(builddir) \
+    --add-include-path=$(top_builddir)
+
+INTROSPECTION_COMPILER = \
+    env PATH=.libs:$(PATH) \
+        $(top_builddir)/g-ir-compiler$(EXEEXT)
+
+INTROSPECTION_COMPILER_ARGS = \
+    --includedir=$(srcdir) \
+    --includedir=$(top_srcdir)/gir \
+    --includedir=$(builddir) \
+    --includedir=$(top_builddir)
+
+INTROSPECTION_DOCTOOL = \
+    env PATH=.libs:$(PATH) \
+        LPATH=.libs \
+        PYTHONPATH=$(top_builddir):$(top_srcdir) \
+        UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
+        UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
+        $(top_builddir)/g-ir-doc-tool
+
+INTROSPECTION_DOCTOOL_ARGS = \
+    --add-include-path=$(srcdir) \
+    --add-include-path=$(top_srcdir)/gir \
+    --add-include-path=$(builddir) \
+    --add-include-path=$(top_builddir)
+
+TESTS = \
+       test_parser.py \
+       test_patterns.py
+
+TESTS_ENVIRONMENT = builddir=$(builddir) top_builddir=$(top_builddir) srcdir=$(srcdir) top_srcdir=$(top_srcdir) \
+       PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir)
+
+LOG_COMPILER = $(top_srcdir)/tests/gi-tester
+EXTRA_DIST = \
+       $(TESTS)                                \
+       README                                  \
+       tests.xsd                               \
+       gi/annotation_allow_none.xml            \
+       gi/annotation_array.xml         \
+       gi/annotation_attributes.xml            \
+       gi/annotation_closure.xml               \
+       gi/annotation_constructor.xml           \
+       gi/annotation_destroy.xml               \
+       gi/annotation_element_type.xml          \
+       gi/annotation_foreign.xml               \
+       gi/annotation_get_value_func.xml        \
+       gi/annotation_in.xml                    \
+       gi/annotation_in_out.xml                \
+       gi/annotation_method.xml                \
+       gi/annotation_out.xml                   \
+       gi/annotation_ref_func.xml              \
+       gi/annotation_rename_to.xml             \
+       gi/annotation_scope.xml         \
+       gi/annotation_set_value_func.xml        \
+       gi/annotation_skip.xml                  \
+       gi/annotation_transfer.xml              \
+       gi/annotation_type.xml                  \
+       gi/annotation_unref_func.xml            \
+       gi/annotation_value.xml         \
+       gi/annotation_virtual.xml               \
+       gi/annotations.xml                      \
+       gi/identifier.xml                       \
+       gi/identifier_section.xml               \
+       gi/identifier_symbol.xml                \
+       gi/parameter.xml                        \
+       gi/parameter_varargs.xml                \
+       gi/syntax.xml                           \
+       gi/syntax_indentation.xml               \
+       gi/syntax_multiline_annotations.xml     \
+       gi/syntax_nested_tags.xml               \
+       gi/syntax_paragraph_breaks.xml          \
+       gi/syntax_whitespace.xml                \
+       gi/tag.xml                              \
+       gi/tag_deprecated.xml                   \
+       gi/tag_description.xml                  \
+       gi/tag_returns.xml                      \
+       gi/tag_since.xml                        \
+       gi/tag_stability.xml                    \
+       gtkdoc/gobject/gtypes.h.xml             \
+       gtkdoc/gobject/gtypes.c.xml             \
+       gtkdoc/gobject/giface.h.xml             \
+       gtkdoc/gobject/giface.c.xml             \
+       gtkdoc/fail/tester.h.xml                \
+       gtkdoc/fail/tester.c.xml                \
+       gtkdoc/empty/tester.c.xml               \
+       gtkdoc/bugs/tester.h.xml                \
+       gtkdoc/bugs/tester.c.xml                \
+       gtkdoc/annotations/tester.h.xml \
+       gtkdoc/annotations/tester.c.xml \
+       gtkdoc/gobject/gobject.h.xml            \
+       gtkdoc/gobject/gobject.c.xml
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .log .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/common.mk $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       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*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           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_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+       @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         if $(am__make_dryrun); then :; else \
+           rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+         fi; \
+       fi; \
+       if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi; \
+       if $(am__make_dryrun); then :; else \
+         st=0;  \
+         errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+         for i in $$redo_bases; do \
+           test -f $$i.trs && test -r $$i.trs \
+             || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+           test -f $$i.log && test -r $$i.log \
+             || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+         done; \
+         test $$st -eq 0 || exit 1; \
+       fi
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
+       {                                                               \
+         echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
+           $(am__rst_title);                                           \
+         create_testsuite_report --no-color;                           \
+         echo;                                                         \
+         echo ".. contents:: :depth: 2";                               \
+         echo;                                                         \
+         for b in $$bases; do echo $$b; done                           \
+           | $(am__create_global_log);                                 \
+       } >$(TEST_SUITE_LOG).tmp || exit 1;                             \
+       mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
+       if $$success; then                                              \
+         col="$$grn";                                                  \
+        else                                                           \
+         col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
+       fi;                                                             \
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
+
+check-TESTS:
+       @list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+       log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+       exit $$?;
+recheck: all 
+       @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+       @set +e; $(am__set_TESTS_bases); \
+       bases=`for i in $$bases; do echo $$i; done \
+                | $(am__list_recheck_tests)` || exit 1; \
+       log_list=`for i in $$bases; do echo $$i.log; done`; \
+       log_list=`echo $$log_list`; \
+       $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+               am__force_recheck=am--force-recheck \
+               TEST_LOGS="$$log_list"; \
+       exit $$?
+test_parser.py.log: test_parser.py
+       @p='test_parser.py'; \
+       b='test_parser.py'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+test_patterns.py.log: test_patterns.py
+       @p='test_patterns.py'; \
+       b='test_patterns.py'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+       @p='$<'; \
+       $(am__set_b); \
+       $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@      @p='$<'; \
+@am__EXEEXT_TRUE@      $(am__set_b); \
+@am__EXEEXT_TRUE@      $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+       -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+       -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: all all-am check check-TESTS check-am clean clean-generic \
+       clean-libtool cscopelist-am ctags-am distclean \
+       distclean-generic distclean-libtool distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \
+       uninstall uninstall-am
+
+
+# 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.
+.NOEXPORT:
index ef4d746..79cc862 100644 (file)
@@ -380,8 +380,7 @@ class TestCommentBlock(unittest.TestCase):
         return retval
 
 
-def create_tests(logger, tests_dir, tests_file):
-    tests_name = os.path.relpath(tests_file[:-4], tests_dir).replace('/', '.').replace('\\', '.')
+def create_test_case(logger, tests_dir, tests_file):
     tests_tree = etree.parse(tests_file).getroot()
 
     fix_cdata_elements = tests_tree.findall(ns('{}test/{}input'))
@@ -393,17 +392,27 @@ def create_tests(logger, tests_dir, tests_file):
             element.text = element.text.replace('{{?', '<!')
             element.text = element.text.replace('}}', '>')
 
+    test_methods = {}
     for counter, test in enumerate(tests_tree.findall(ns('{}test'))):
-        test_name = 'test_%s.%03d' % (tests_name, counter + 1)
+        test_name = 'test_%03d' % (counter + 1)
         test_method = TestCommentBlock.__create_test__(logger, test)
-        setattr(TestCommentBlock, test_name, test_method)
+        test_method.__name__ = test_name
+        test_methods[test_name] = test_method
 
+    # Dynamically generate a new subclass of TestCommentBlock in TitleCase
+    # with generated test methods.
+    test_class_name = os.path.relpath(tests_file[:-4], tests_dir)
+    test_class_name = test_class_name.replace('/', ' ').replace('\\', ' ').replace('.', ' ')
+    test_class_name = 'Test' + test_class_name.title().replace(' ', '')
+    return type(test_class_name, (TestCommentBlock,), test_methods)
 
-if __name__ == '__main__':
+
+def create_test_cases():
     # Initialize message logger
     namespace = Namespace('Test', '1.0')
     logger = MessageLogger.get(namespace=namespace)
     logger.enable_warnings((WARNING, ERROR, FATAL))
+    test_cases = {}
 
     # Load test cases from disc
     tests_dir = os.path.dirname(os.path.abspath(__file__))
@@ -413,7 +422,40 @@ if __name__ == '__main__':
             tests_file = os.path.join(dirpath, filename)
             if os.path.basename(tests_file).endswith('.xml'):
                 validate(tests_file)
-                create_tests(logger, tests_dir, tests_file)
+                test_case = create_test_case(logger, tests_dir, tests_file)
+                test_cases[test_case.__name__] = test_case
+
+    return test_cases
+
+
+# We currently need to push all the new test cases into the modules globals
+# in order for parameterized tests to work. Ideally all that should be needed
+# is the "load_tests" hook, but this does not work in the case were the tests
+# are run in parameterized mode, e.g: python -m unittest test_parser.Test...
+_all_tests = create_test_cases()
+globals().update(_all_tests)
+
+
+# Hook function for Python test loader.
+def load_tests(loader, tests, pattern):
+    suite = unittest.TestSuite()
+    # add standard tests from module
+    suite.addTests(tests)
+
+    # Initialize message logger
+    namespace = Namespace('Test', '1.0')
+    logger = MessageLogger.get(namespace=namespace)
+    logger.enable_warnings((WARNING, ERROR, FATAL))
 
+    # Load test cases from disc
+    tests_dir = os.path.dirname(os.path.abspath(__file__))
+
+    for name, test_case in _all_tests.iteritems():
+        tests = loader.loadTestsFromTestCase(test_case)
+        suite.addTests(tests)
+    return suite
+
+
+if __name__ == '__main__':
     # Run test suite
     unittest.main()
index d5da82b..774d674 100644 (file)
@@ -36,7 +36,7 @@ from giscanner.annotationparser import (COMMENT_BLOCK_START_RE, COMMENT_BLOCK_EN
                                         SECTION_RE, SYMBOL_RE, PROPERTY_RE,
                                         SIGNAL_RE, PARAMETER_RE, TAG_RE,
                                         TAG_VALUE_VERSION_RE, TAG_VALUE_STABILITY_RE)
-from unittest import (TestCase, main)
+import unittest
 
 
 comment_start_tests = [
@@ -858,59 +858,86 @@ tag_value_stability_tests = [
           'description': 'xyz: abc'})]
 
 
-def create_tests(tests_name, testcases):
+def create_test_method(testcase):
+    def do_test(self):
+        (program, text, expected) = testcase
+
+        match = program.match(text)
+
+        if match is not None:
+            msg = 'Test matched pattern but specifies no expected named groups.'
+            self.assertTrue(isinstance(expected, dict), msg)
+
+            for group in match.groupdict().keys():
+                msg = 'Test case is missing expected results for named group "%s".' % (group)
+                self.assertTrue(group in expected.keys(), msg)
+
+        if expected is None:
+            msg = 'Program matched text but shouldn\'t:\n"%s"'
+            self.assertTrue(match is None, msg % (text, ))
+        else:
+            msg = 'Program should match text but didn\'t:\n"%s"'
+            self.assertTrue(match is not None, msg % (text, ))
+
+            for key, value in expected.items():
+                msg = 'expected "%s" for "%s" but match returned "%s"'
+                msg = msg % (value, key, match.group(key))
+                self.assertEqual(match.group(key), value, msg)
+
+    return do_test
+
+
+def create_test_case(tests_class_name, testcases):
+    test_methods = {}
     for (index, testcase) in enumerate(testcases):
-        real_test_name = '%s_%03d' % (tests_name, index)
+        test_method_name = 'test_%03d' % index
+
+        test_method = create_test_method(testcase)
+        test_method.__name__ = test_method_name
+        test_methods[test_method_name] = test_method
 
-        test_method = TestProgram.__create_test__(testcase)
-        test_method.__name__ = real_test_name
-        setattr(TestProgram, real_test_name, test_method)
+    return type(tests_class_name, (unittest.TestCase,), test_methods)
 
 
-class TestProgram(TestCase):
-    @classmethod
-    def __create_test__(cls, testcase):
-        def do_test(self):
-            (program, text, expected) = testcase
+def create_test_cases():
+    test_cases = {}
+    for name, test_data in (('TestCommentStart', comment_start_tests),
+                            ('TestCommentEnd', comment_end_tests),
+                            ('TestCommentAsterisk', comment_asterisk_tests),
+                            ('TestIndentaton', indentaton_tests),
+                            ('TestEmptyLine', empty_line_tests),
+                            ('TestIdentifierSection', identifier_section_tests),
+                            ('TestIdentifierSymbol', identifier_symbol_tests),
+                            ('TestIdentifierProperty', identifier_property_tests),
+                            ('TestIdentifierSignal', identifier_signal_tests),
+                            ('TestParameter', parameter_tests),
+                            ('TestTag', tag_tests),
+                            ('TestTagValueVersion', tag_value_version_tests),
+                            ('TestTagValueStability', tag_value_stability_tests)):
+        test_cases[name] = create_test_case(name, test_data)
 
-            match = program.match(text)
+    return test_cases
 
-            if match is not None:
-                msg = 'Test matched pattern but specifies no expected named groups.'
-                self.assertTrue(isinstance(expected, dict), msg)
 
-                for group in match.groupdict().keys():
-                    msg = 'Test case is missing expected results for named group "%s".' % (group)
-                    self.assertTrue(group in expected.keys(), msg)
+# We currently need to push all the new test cases into the modules globals
+# in order for parameterized tests to work. Ideally all that should be needed
+# is the "load_tests" hook, but this does not work in the case were the tests
+# are run in parameterized mode, e.g: python -m unittest test_parser.Test...
+_all_tests = create_test_cases()
+globals().update(_all_tests)
 
-            if expected is None:
-                msg = 'Program matched text but shouldn\'t:\n"%s"'
-                self.assertTrue(match is None, msg % (text, ))
-            else:
-                msg = 'Program should match text but didn\'t:\n"%s"'
-                self.assertTrue(match is not None, msg % (text, ))
 
-                for key, value in expected.items():
-                    msg = 'expected "%s" for "%s" but match returned "%s"'
-                    msg = msg % (value, key, match.group(key))
-                    self.assertEqual(match.group(key), value, msg)
+# Hook function for Python test loader.
+def load_tests(loader, tests, pattern):
+    suite = unittest.TestSuite()
+    # add standard tests from module
+    suite.addTests(tests)
 
-        return do_test
+    for name, test_case in _all_tests.iteritems():
+        tests = loader.loadTestsFromTestCase(test_case)
+        suite.addTests(tests)
+    return suite
 
 
 if __name__ == '__main__':
-    create_tests('test_comment_start', comment_start_tests)
-    create_tests('test_comment_end', comment_end_tests)
-    create_tests('test_comment_asterisk', comment_asterisk_tests)
-    create_tests('test_indentaton', indentaton_tests)
-    create_tests('test_empty_line', empty_line_tests)
-    create_tests('test_identifier_section', identifier_section_tests)
-    create_tests('test_identifier_symbol', identifier_symbol_tests)
-    create_tests('test_identifier_property', identifier_property_tests)
-    create_tests('test_identifier_signal', identifier_signal_tests)
-    create_tests('test_parameter', parameter_tests)
-    create_tests('test_tag', tag_tests)
-    create_tests('test_tag_value_version', tag_value_version_tests)
-    create_tests('test_tag_value_stability', tag_value_stability_tests)
-
-    main()
+    unittest.main()
index 14df474..4507bc6 100644 (file)
@@ -3834,6 +3834,7 @@ regress_test_torture_signature_2 (int                   x,
   *y = x;
   *z = x * 2;
   *q = g_utf8_strlen (foo, -1) + m;
+  callback(user_data);
   notify (user_data);
 }
 
index 079c6fe..3f917e6 100644 (file)
@@ -283,6 +283,7 @@ GQuark regress_atest_error_quark (void);
 #define REGRESS_DOUBLE_CONSTANT 44.22
 #define REGRESS_STRING_CONSTANT "Some String"
 #define REGRESS_Mixed_Case_Constant 4423
+#define REGRESS_BOOL_CONSTANT TRUE
 #define REGRESS_G_GINT64_CONSTANT (G_GINT64_CONSTANT (1000))
 #define REGRESS_GUINT64_CONSTANT ((guint64) -1)
 
diff --git a/tests/scanner/test_sourcescanner.py b/tests/scanner/test_sourcescanner.py
new file mode 100644 (file)
index 0000000..3963683
--- /dev/null
@@ -0,0 +1,41 @@
+import unittest
+import tempfile
+import os
+
+from giscanner.sourcescanner import SourceScanner
+
+
+two_typedefs_source = """
+/**
+ * Spam:
+ */
+typedef struct _spam Spam;
+
+/**
+ * Eggs:
+ */
+typedef struct _eggs Eggs;
+"""
+
+
+class Test(unittest.TestCase):
+    def setUp(self):
+        self.ss = SourceScanner()
+        tmp_fd, tmp_name = tempfile.mkstemp()
+        file = os.fdopen(tmp_fd, 'wt')
+        file.write(two_typedefs_source)
+        file.close()
+
+        self.ss.parse_files([tmp_name])
+
+    def test_get_symbols_length_consistency(self):
+        self.assertEqual(len(list(self.ss.get_symbols())), 2)
+        self.assertEqual(len(list(self.ss.get_symbols())), 2)
+
+    def test_get_comments_length_consistency(self):
+        self.assertEqual(len(list(self.ss.get_comments())), 2)
+        self.assertEqual(len(list(self.ss.get_comments())), 2)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/tests/scanner/test_transformer.py b/tests/scanner/test_transformer.py
new file mode 100644 (file)
index 0000000..39c54a4
--- /dev/null
@@ -0,0 +1,445 @@
+import unittest
+import tempfile
+import os
+import sys
+import __builtin__
+
+
+os.environ['GI_SCANNER_DISABLE_CACHE'] = '1'
+path = os.getenv('UNINSTALLED_INTROSPECTION_SRCDIR', None)
+assert path is not None
+sys.path.insert(0, path)
+
+# Not correct, but enough to get the tests going uninstalled
+__builtin__.__dict__['DATADIR'] = path
+
+from giscanner import ast
+from giscanner.sourcescanner import SourceScanner
+from giscanner.transformer import Transformer
+from giscanner.message import MessageLogger, WARNING, ERROR, FATAL
+
+
+def create_scanner_from_source_string(source):
+    ss = SourceScanner()
+    tmp_fd, tmp_name = tempfile.mkstemp(suffix='.h', text=True)
+    file = os.fdopen(tmp_fd, 'wt')
+    file.write(source)
+    file.close()
+
+    ss.parse_files([tmp_name])
+    return ss
+
+
+def load_namespace_from_source_string(namespace, source):
+    ss = create_scanner_from_source_string(source)
+    xformer = Transformer(namespace)
+    xformer.parse(ss.get_symbols())
+
+
+class TestStructTypedefs(unittest.TestCase):
+    def setUp(self):
+        # Hack to set logging singleton
+        self.namespace = ast.Namespace('Test', '1.0')
+        logger = MessageLogger.get(namespace=self.namespace)
+        logger.enable_warnings((WARNING, ERROR, FATAL))
+
+    def test_anonymous_typedef(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                int value;
+            } TestStruct;
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(len(node.fields), 1)
+
+    def test_typedef_before(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct _TestStruct TestStruct;
+            struct _TestStruct {
+                int value;
+            };
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(len(node.fields), 1)
+
+    def test_typedef_after(self):
+        load_namespace_from_source_string(self.namespace, """
+            struct _TestStruct {
+                int value;
+            };
+            typedef struct _TestStruct TestStruct;
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(len(node.fields), 1)
+
+    def test_tag_and_typedef(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct _TestStruct {
+                int value;
+            } TestStruct;
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(len(node.fields), 1)
+
+    def test_struct_tag_only(self):
+        load_namespace_from_source_string(self.namespace, """
+            struct TestStruct {
+                int value;
+            };
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(len(node.fields), 1)
+
+    def test_struct_aliases(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                int value;
+            } TestStruct;
+            typedef TestStruct TestStructAlias1;
+            typedef TestStruct TestStructAlias2;
+            """)
+        self.assertEqual(len(self.namespace.names), 3)
+
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(len(node.fields), 1)
+
+        alias = self.namespace.get('StructAlias1')
+        self.assertTrue(isinstance(alias, ast.Alias))
+        self.assertEqual(alias.target, node)
+        self.assertEqual(alias.ctype, 'TestStructAlias1')
+
+        alias = self.namespace.get('StructAlias2')
+        self.assertTrue(isinstance(alias, ast.Alias))
+        self.assertEqual(alias.target, node)
+        self.assertEqual(alias.ctype, 'TestStructAlias2')
+
+    def test_struct_tag_aliases_before(self):
+        # This test is similar to how GObject and GInitiallyUnowned are setup
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct _TestStruct TestStruct;
+            typedef struct _TestStruct TestStructAlias;
+            struct _TestStruct {
+                int value;
+            };
+            """)
+        self.assertEqual(len(self.namespace.names), 2)
+
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(len(node.fields), 1)
+        self.assertEqual(node.ctype, 'TestStruct')
+
+        shared = self.namespace.get('StructAlias')
+        self.assertTrue(shared is not None)
+        self.assertTrue(isinstance(shared, ast.Record))
+        self.assertFalse(shared.disguised)
+        self.assertEqual(len(shared.fields), 1)
+        self.assertEqual(shared.ctype, 'TestStructAlias')
+
+    def test_struct_tag_aliases_after(self):
+        load_namespace_from_source_string(self.namespace, """
+            struct _TestStruct {
+                int value;
+            };
+            typedef struct _TestStruct TestStruct;
+            typedef struct _TestStruct TestStructAlias;
+            """)
+        self.assertEqual(len(self.namespace.names), 2)
+
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(len(node.fields), 1)
+        self.assertEqual(node.ctype, 'TestStruct')
+
+        shared = self.namespace.get('StructAlias')
+        self.assertTrue(shared is not None)
+        self.assertTrue(isinstance(shared, ast.Record))
+        self.assertFalse(shared.disguised)
+        self.assertEqual(len(shared.fields), 1)
+        self.assertEqual(shared.ctype, 'TestStructAlias')
+
+    def test_struct_pointer(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                int value;
+            } TestStruct;
+            typedef TestStruct* TestStructPtr;
+            """)
+        self.assertEqual(len(self.namespace.names), 2)
+
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertEqual(len(node.fields), 1)
+        self.assertEqual(node.ctype, 'TestStruct')
+
+        ptr = self.namespace.get('StructPtr')
+        self.assertTrue(ptr is not None)
+        self.assertTrue(isinstance(ptr, ast.Alias))
+        self.assertEqual(ptr.ctype, 'TestStructPtr')
+        # This loses type information about the struct which seems broken.
+        self.assertEqual(ptr.target, ast.TYPE_ANY)
+
+    def test_struct_tag_pointer(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct _TestStruct TestStruct;
+            struct _TestStruct{
+                int value;
+            };
+            typedef struct _TestStruct* TestStructPtr;
+            """)
+        self.assertEqual(len(self.namespace.names), 2)
+
+        node = self.namespace.get('Struct')
+        self.assertTrue(node is not None)
+        self.assertTrue(isinstance(node, ast.Record))
+        self.assertFalse(node.disguised)
+        self.assertEqual(node.ctype, 'TestStruct')
+        self.assertEqual(len(node.fields), 1)
+
+        ptr = self.namespace.get('StructPtr')
+        self.assertTrue(ptr is not None)
+        # This currently gives a disguised Record instead of an Alias
+        self.assertTrue(isinstance(ptr, ast.Record))
+        self.assertTrue(ptr.disguised)
+        self.assertEqual(len(ptr.fields), 0)
+        self.assertEqual(ptr.ctype, 'TestStructPtr')
+
+
+class TestNestedStructs(unittest.TestCase):
+    def setUp(self):
+        # Hack to set logging singleton
+        self.namespace = ast.Namespace('Test', '1.0')
+        logger = MessageLogger.get(namespace=self.namespace)
+        logger.enable_warnings((WARNING, ERROR, FATAL))
+
+    def test_nested_named(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                int value;
+            } TestSimpleStruct;
+
+            typedef struct {
+                TestSimpleStruct nested_struct;
+            } TestStructWithNested;
+            """)
+        self.assertEqual(len(self.namespace.names), 2)
+        node = self.namespace.get('StructWithNested')
+        self.assertEqual(len(node.fields), 1)
+
+        simple = self.namespace.get('SimpleStruct')
+        self.assertTrue(node is not None)
+
+        field = node.fields[0]
+        self.assertTrue(field is not None)
+        self.assertTrue(isinstance(field, ast.Field))
+        self.assertEqual(field.type, simple)
+        self.assertEqual(field.name, 'nested_struct')
+
+    def test_nested_anonymous(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                struct {
+                    int value;
+                };
+            } TestStructWithNestedAnon;
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('StructWithNestedAnon')
+        self.assertEqual(len(node.fields), 1)
+
+        field = node.fields[0]
+        self.assertTrue(field is not None)
+        self.assertTrue(isinstance(field, ast.Field))
+        self.assertEqual(field.name, None)
+
+        anon = field.anonymous_node
+        self.assertTrue(isinstance(anon, ast.Record))
+        self.assertEqual(len(anon.fields), 1)
+
+        anon_field = anon.fields[0]
+        self.assertTrue(anon_field is not None)
+        self.assertTrue(isinstance(anon_field, ast.Field))
+        self.assertEqual(anon_field.name, 'value')
+
+    def test_nested(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                struct {
+                    int value;
+                } nested;
+            } TestStructWithNested;
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('StructWithNested')
+        self.assertEqual(len(node.fields), 1)
+
+        field = node.fields[0]
+        self.assertTrue(field is not None)
+        self.assertTrue(isinstance(field, ast.Field))
+        self.assertEqual(field.name, 'nested')
+
+        nested = field.anonymous_node
+        self.assertTrue(isinstance(nested, ast.Record))
+        self.assertEqual(len(nested.fields), 1)
+        self.assertEqual(nested.name, 'nested')
+
+        nested_field = nested.fields[0]
+        self.assertTrue(nested_field is not None)
+        self.assertTrue(isinstance(nested_field, ast.Field))
+        self.assertEqual(nested_field.name, 'value')
+
+    def test_struct_ptr(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                int value;
+            } TestSimpleStruct;
+
+            typedef struct {
+                TestSimpleStruct *struct_ptr;
+            } TestStructWithNestedPtr;
+            """)
+        self.assertEqual(len(self.namespace.names), 2)
+        node = self.namespace.get('StructWithNestedPtr')
+        self.assertEqual(len(node.fields), 1)
+
+        simple = self.namespace.get('SimpleStruct')
+        self.assertTrue(node is not None)
+
+        field = node.fields[0]
+        self.assertTrue(field is not None)
+        self.assertTrue(isinstance(field, ast.Field))
+        self.assertEqual(field.type.ctype, 'TestSimpleStruct*')
+        self.assertEqual(field.name, 'struct_ptr')
+
+
+class TestUnions(unittest.TestCase):
+    def setUp(self):
+        # Hack to set logging singleton
+        self.namespace = ast.Namespace('Test', '1.0')
+        logger = MessageLogger.get(namespace=self.namespace)
+        logger.enable_warnings((WARNING, ERROR, FATAL))
+
+    def test_union_with_struct(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                int value;
+            } TestSimpleStruct;
+
+            typedef union {
+                TestSimpleStruct nested_struct;
+                int value;
+            } TestUnionWithNested;
+            """)
+        self.assertEqual(len(self.namespace.names), 2)
+        node = self.namespace.get('UnionWithNested')
+        self.assertEqual(len(node.fields), 2)
+
+        simple = self.namespace.get('SimpleStruct')
+        self.assertTrue(node is not None)
+
+        field = node.fields[0]
+        self.assertEqual(field.type, simple)
+        self.assertEqual(field.name, 'nested_struct')
+
+        field = node.fields[1]
+        self.assertEqual(field.type.ctype, 'int')
+        self.assertEqual(field.name, 'value')
+
+    def test_nested(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                union {
+                    int ival;
+                    float fval;
+                } nested;
+            } TestNestedUnion;
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('NestedUnion')
+        self.assertEqual(len(node.fields), 1)
+
+        field = node.fields[0]
+        self.assertEqual(field.name, 'nested')
+
+        nested = field.anonymous_node
+        self.assertTrue(isinstance(nested, ast.Union))
+        self.assertEqual(nested.name, 'nested')
+        self.assertEqual(len(nested.fields), 2)
+
+        self.assertEqual(nested.fields[0].name, 'ival')
+        self.assertEqual(nested.fields[1].name, 'fval')
+
+    def test_nested_anonymous(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef struct {
+                union {
+                    int ival;
+                    float fval;
+                };
+            } TestStructWithNestedUnion;
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('StructWithNestedUnion')
+        self.assertEqual(len(node.fields), 1)
+
+        field = node.fields[0]
+        self.assertEqual(field.name, None)
+
+        nested = field.anonymous_node
+        self.assertTrue(isinstance(nested, ast.Union))
+        self.assertEqual(nested.name, None)
+        self.assertEqual(len(nested.fields), 2)
+
+        self.assertEqual(nested.fields[0].name, 'ival')
+        self.assertEqual(nested.fields[0].type.ctype, 'int')
+
+        self.assertEqual(nested.fields[1].name, 'fval')
+        self.assertEqual(nested.fields[1].type.ctype, 'float')
+
+
+class TestCallbacks(unittest.TestCase):
+    def setUp(self):
+        # Hack to set logging singleton
+        self.namespace = ast.Namespace('Test', '1.0')
+        logger = MessageLogger.get(namespace=self.namespace)
+        logger.enable_warnings((WARNING, ERROR, FATAL))
+
+    def test_union_with_struct(self):
+        load_namespace_from_source_string(self.namespace, """
+            typedef void (*TestCallback)(int value);
+            """)
+        self.assertEqual(len(self.namespace.names), 1)
+        node = self.namespace.get('Callback')
+        self.assertTrue(isinstance(node, ast.Callback))
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/tests/scanner/typedefs.c b/tests/scanner/typedefs.c
new file mode 100644 (file)
index 0000000..7c1dea1
--- /dev/null
@@ -0,0 +1,90 @@
+#include "typedefs.h"
+
+static TypedefsBoxedWithTypedefBefore *
+typedefs_boxed_with_typedef_before_ref(TypedefsBoxedWithTypedefBefore *self)
+{
+    return self;
+}
+
+static void
+typedefs_boxed_with_typedef_before_unref(TypedefsBoxedWithTypedefBefore *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithTypedefBefore,
+                     typedefs_boxed_with_typedef_before,
+                     typedefs_boxed_with_typedef_before_ref,
+                     typedefs_boxed_with_typedef_before_unref);
+
+
+static TypedefsBoxedWithTypedefAfter *
+typedefs_boxed_with_typedef_after_ref(TypedefsBoxedWithTypedefAfter *self)
+{
+    return self;
+}
+
+static void
+typedefs_boxed_with_typedef_after_unref(TypedefsBoxedWithTypedefAfter *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithTypedefAfter,
+                     typedefs_boxed_with_typedef_after,
+                     typedefs_boxed_with_typedef_after_ref,
+                     typedefs_boxed_with_typedef_after_unref);
+
+
+static TypedefsBoxedWithTagAndTypedef *
+typedefs_boxed_with_tag_and_typedef_ref(TypedefsBoxedWithTagAndTypedef *self)
+{
+    return self;
+}
+
+static void
+typedefs_boxed_with_tag_and_typedef_unref(TypedefsBoxedWithTagAndTypedef *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithTagAndTypedef,
+                     typedefs_boxed_with_tag_and_typedef,
+                     typedefs_boxed_with_tag_and_typedef_ref,
+                     typedefs_boxed_with_tag_and_typedef_unref);
+
+
+static TypedefsBoxedWithAnonymousTypedef *
+typedefs_boxed_with_anonymous_typedef_ref(TypedefsBoxedWithAnonymousTypedef *self)
+{
+    return self;
+}
+
+static void
+typedefs_boxed_with_anonymous_typedef_unref(TypedefsBoxedWithAnonymousTypedef *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithAnonymousTypedef,
+                     typedefs_boxed_with_anonymous_typedef,
+                     typedefs_boxed_with_anonymous_typedef_ref,
+                     typedefs_boxed_with_anonymous_typedef_unref);
+
+
+struct _TypedefsBoxedWithHiddenStruct {
+    int value;
+};
+
+static TypedefsBoxedWithHiddenStruct *
+typedefs_boxed_with_hidden_struct_ref(TypedefsBoxedWithHiddenStruct *self)
+{
+    return self;
+}
+
+static void
+typedefs_boxed_with_hidden_struct_unref(TypedefsBoxedWithHiddenStruct *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithHiddenStruct,
+                     typedefs_boxed_with_hidden_struct,
+                     typedefs_boxed_with_hidden_struct_ref,
+                     typedefs_boxed_with_hidden_struct_unref);
+
diff --git a/tests/scanner/typedefs.h b/tests/scanner/typedefs.h
new file mode 100644 (file)
index 0000000..2a5d8be
--- /dev/null
@@ -0,0 +1,73 @@
+#ifndef __TYPEDEFS_H__
+#define __TYPEDEFS_H__
+
+#include <glib-object.h>
+
+/*
+ * Tests for various orderings of typedef struct declarations.
+ */
+
+
+typedef struct {
+    int value;
+} TypedefsStructWithAnonymousTypedef;
+
+
+typedef struct _TypedefsStructWithTypedefBefore TypedefsStructWithTypedefBefore;
+struct _TypedefsStructWithTypedefBefore {
+    int value;
+};
+
+
+/* BUG: produces name with underscore prefix */
+struct _TypedefsStructWithTypedefAfter {
+    int value;
+};
+typedef struct _TypedefsStructWithTypedefAfter TypedefsStructWithTypedefAfter;
+
+
+/* BUG: produces name with underscore prefix */
+typedef struct _TypedefsStructWithTagAndTypedef {
+    int value;
+} TypedefsStructWithTagAndTypedef;
+
+
+/*
+ * Boxed versions of typedef ordering tests.
+ */
+
+typedef struct _TypedefsBoxedWithTypedefBefore TypedefsBoxedWithTypedefBefore;
+struct _TypedefsBoxedWithTypedefBefore {
+    int value;
+};
+GType typedefs_boxed_with_typedef_before_get_type (void) G_GNUC_CONST;
+
+
+/* BUG: struct has no fields in GIR */
+struct _TypedefsBoxedWithTypedefAfter {
+    int value;
+};
+typedef struct _TypedefsBoxedWithTypedefAfter TypedefsBoxedWithTypedefAfter;
+GType typedefs_boxed_with_typedef_after_get_type (void) G_GNUC_CONST;
+
+
+/* BUG: struct has no fields and extra <record> with underscore prefix */
+typedef struct _TypedefsBoxedWithTagAndTypedef {
+    int value;
+} TypedefsBoxedWithTagAndTypedef;
+GType typedefs_boxed_with_tag_and_typedef_get_type (void) G_GNUC_CONST;
+
+
+/* BUG: extra <record> with underscore prefix */
+typedef struct {
+    int value;
+} TypedefsBoxedWithAnonymousTypedef;
+GType typedefs_boxed_with_anonymous_typedef_get_type (void) G_GNUC_CONST;
+
+
+/* BUG: uses <record> instead of <glib:boxed> */
+typedef struct _TypedefsBoxedWithHiddenStruct TypedefsBoxedWithHiddenStruct;
+GType typedefs_boxed_with_hidden_struct_get_type (void) G_GNUC_CONST;
+
+
+#endif /*__TYPEDEFS_H__*/
index bce4562..e7a3934 100644 (file)
@@ -1,8 +1,6 @@
 include $(top_srcdir)/common.mk
 
-TESTS = warntestrunner
-
-alltests = \
+TESTS = \
        annotationparser.h \
        callback-invalid-scope.h \
        callback-missing-scope.h \
@@ -19,6 +17,7 @@ alltests = \
        unknown-parameter.h \
        unresolved-type.h
 
-EXTRA_DIST = warningtester.py $(alltests) common.h $(TESTS)
+LOG_COMPILER = env PYTHONPATH=$(top_builddir):$(top_srcdir) TOP_BUILDDIR=$(top_builddir) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
+       $(PYTHON) $(srcdir)/warningtester.py
 
-TESTS_ENVIRONMENT = PYTHONPATH=$(top_builddir):$(top_srcdir) TOP_BUILDDIR=$(top_builddir) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) PYTHON=$(PYTHON) srcdir=$(srcdir) alltests="$(alltests)"
+EXTRA_DIST = warningtester.py common.h $(TESTS)
index 9f76c1a..2a4356d 100644 (file)
@@ -542,8 +542,7 @@ INTROSPECTION_DOCTOOL_ARGS = \
     --add-include-path=$(builddir) \
     --add-include-path=$(top_builddir)
 
-TESTS = warntestrunner
-alltests = \
+TESTS = \
        annotationparser.h \
        callback-invalid-scope.h \
        callback-missing-scope.h \
@@ -560,8 +559,10 @@ alltests = \
        unknown-parameter.h \
        unresolved-type.h
 
-EXTRA_DIST = warningtester.py $(alltests) common.h $(TESTS)
-TESTS_ENVIRONMENT = PYTHONPATH=$(top_builddir):$(top_srcdir) TOP_BUILDDIR=$(top_builddir) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) PYTHON=$(PYTHON) srcdir=$(srcdir) alltests="$(alltests)"
+LOG_COMPILER = env PYTHONPATH=$(top_builddir):$(top_srcdir) TOP_BUILDDIR=$(top_builddir) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
+       $(PYTHON) $(srcdir)/warningtester.py
+
+EXTRA_DIST = warningtester.py common.h $(TESTS)
 all: all-am
 
 .SUFFIXES:
@@ -751,9 +752,107 @@ recheck: all
                am__force_recheck=am--force-recheck \
                TEST_LOGS="$$log_list"; \
        exit $$?
-warntestrunner.log: warntestrunner
-       @p='warntestrunner'; \
-       b='warntestrunner'; \
+annotationparser.h.log: annotationparser.h
+       @p='annotationparser.h'; \
+       b='annotationparser.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+callback-invalid-scope.h.log: callback-invalid-scope.h
+       @p='callback-invalid-scope.h'; \
+       b='callback-invalid-scope.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+callback-missing-scope.h.log: callback-missing-scope.h
+       @p='callback-missing-scope.h'; \
+       b='callback-missing-scope.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+invalid-array.h.log: invalid-array.h
+       @p='invalid-array.h'; \
+       b='invalid-array.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+invalid-closure.h.log: invalid-closure.h
+       @p='invalid-closure.h'; \
+       b='invalid-closure.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+invalid-constructor.h.log: invalid-constructor.h
+       @p='invalid-constructor.h'; \
+       b='invalid-constructor.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+invalid-element-type.h.log: invalid-element-type.h
+       @p='invalid-element-type.h'; \
+       b='invalid-element-type.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+invalid-method.h.log: invalid-method.h
+       @p='invalid-method.h'; \
+       b='invalid-method.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+invalid-option.h.log: invalid-option.h
+       @p='invalid-option.h'; \
+       b='invalid-option.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+invalid-out.h.log: invalid-out.h
+       @p='invalid-out.h'; \
+       b='invalid-out.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+invalid-transfer.h.log: invalid-transfer.h
+       @p='invalid-transfer.h'; \
+       b='invalid-transfer.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+missing-element-type.h.log: missing-element-type.h
+       @p='missing-element-type.h'; \
+       b='missing-element-type.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+return-gobject.h.log: return-gobject.h
+       @p='return-gobject.h'; \
+       b='return-gobject.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+unknown-parameter.h.log: unknown-parameter.h
+       @p='unknown-parameter.h'; \
+       b='unknown-parameter.h'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+unresolved-type.h.log: unresolved-type.h
+       @p='unresolved-type.h'; \
+       b='unresolved-type.h'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
diff --git a/tests/warn/warntestrunner b/tests/warn/warntestrunner
deleted file mode 100755 (executable)
index d3a4e87..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-for testname in ${alltests}; do
-    echo "Running warning test:" $testname
-    $PYTHON $srcdir/warningtester.py "$srcdir/$testname"
-done